I'm using a virtual machine running Windows for development purposes inside a Ubuntu host (I also use the Ubuntu part for my regular activities, but not both at the same time). As I need to compile on Windows regularly, I want to increase the performance of the VM as much as I can. Therefore I want to use a minimal version of my desktop environment: if possible, I want only my VM running, in fullscreen. Is it possible to use such a minimal system? If yes, what is it, or how can I achieve this setup myself? An environment chooser on my login screen would be great, but optional.
Minimal virtualization environment
virtual machine;virtualization;desktop environment
Programs that aren't doing anything will get swapped out. So you don't need to go for minimalistic on RAM usage.Do avoid background programs that aren't paused waiting for user input. For example, don't open a web browser that automatically refreshes some pages, or an email client that checks for incoming messages periodically.One reason to look for a minimalistic window manager is to let the virtual machine get all key presses: a window manager that reserves keyboard shortcuts like Alt+Tab can be annoying if your VM doesn't grab the keyboard. Conversely, if your VM does grab the keyboard in a convenient way, this isn't a concern.Ubuntu comes with oodles of minimalist window managers out of which choice is a matter of personal preference. I'm not going to list them all. I personally use Sawfish, which is not minimalistic, but still small compared to modern desktop environments, and is extremely flexible (it's programmable in a Lisp dialect).On the display manager (the program where you log in in graphical mode), you can choose between session types. Ubuntu lacks a custom session type out of the box, but you can tie your minimal session to the small window manager of your choice or define a custom session type. Alternatively, you can log in to text mode (press Ctrl+Alt+F1 to switch to a text console, Ctrl+Alt+F7 to go back to the GUI login screen or the session started there) and run the command startx to start a session, e.g.startx -- :1which runs the file ~/.xinitrc (typically a shell script where you start whatever you want in your session). If you want to run only the VM emulator and nothing else, you can pass its full path to startx plus command line options, e.g.startx /usr/bin/vm-run 'My VM' -geometry 1920x1080+0+0but note that without a window manager, you won't be able to do so much as resize a window.