Continuing with a description of the setup I use for my development, here I will comment about my current configuration files for a virtualized environment using UI.
I rarely use the VM via the UI (i.e. the mouse), and there can pass several weeks when I don’t open enable it even once. However, there are times when some tools are too UI dependent and the time constraints force to use a desktop manager for the virtual machine, instead of the normal approach of configuring the tool to be used from the host OS (including coding via SSH, Tmux and Vim).
One example of easy integration between my virtual machine and the host OS is MySQL Workbench, where it is simple to configure connections from the host (e.g. Windows OS) to the MySQL service running in the virtual machine. The same applies to anything that works via RESTful API really (e.g. servers), but one example where I decided to use the UI directly in the VM was running some Selenium integration tests.
Because the host OS is already consuming a lot of memory, I looked for lightweight solutions for this. One option was Lubuntu, which is a fast distribution similar to the widely popular Ubuntu, but decided to just use i3 which can be integrated with my OS of choice: Arch Linux. So far I am very pleased with this solution because it runs very smoothly, it is simple to configure and flexible.
The configuration files at the time of writing this article are:
Will comment about the most important points in both files.
gui-extrasblock is optional and would only install it when working with specific languages (e.g. Java for
dmenuplugin and the binding in the config file, open a new program is very fast, can type any fragment of the name (not fuzzy though)
ModifyI3Confwhich will open the editor for the env file and copy it to the home directory when finished
exec i3line in the
~/.xinitrcwhich is easy to forget after installing i3