Setting Up A Linux Desktop VM

In order to get more at ease with Linux, and with the blessing of freakhill and grinkers, I decided to setup a virtual machine using Virtual Box and Xubuntu 16.04.

Last update: 04-08-17


The installation is quite straightforward, after downloading the latest release LTS (Long Term Support) release of Xubuntu, click next until arriving on the Ubuntu Desktop.

  • Note: I initially used Ubuntu, but the Unity Desktop is too heavy for my VM, partly because there is no 2D mode anymore since 12.04 .
  • Useful trick: sudo passwd USERNAME to change your user password 😋

By default it's extremely slow, so in VBox upgrade some settings:

  • Base Memory to 4096 MB
  • Video Memory to 128 MB
  • Clipboard – bidirectional
  • Chipset – ICH9
  • Enable IO APIC
  • Check – Enable PAE/NX

I followed those advice. Another alternative that I might try is Lubuntu.

After the install, it's important to add VBox guest addition dependencies:
I had some issues there, I used mainly the solution spoted on this superuser link

Start by update, upgrade everything

sudo apt-get update
sudo apt update
sudo apt upgrade

Then install the components.

sudo apt-get install build-essential dkms
sudo apt-get install virtualbox-guest-dkms
sudo apt-get install linux-headers-$(uname -r)

It replaces the standard instalation of the addon that we do with the VBox menu.



It's important to start with updating the apt package index

sudo apt-get update

Installing Firefox Dev

Installing Firefox Dev Edition wasn't as straightforward as expected. I followed the manual installation steps found on Askubuntu

  1. Download the tarball from the official website
  2. Extract and move in the opt directory
tar -xvf fire*
sudo mv firefox firefox_dev
sudo mv firefox_dev '/opt/'
sudo chown -R $USER '/opt/firefox_dev'
  1. Create an icon to be launched on Desktop. ls -a to show hided files.
touch ~/.local/share/applications/firefox_dev.desktop
  1. Parameters for that icon
[Desktop Entry]
Name=Firefox Developer 
GenericName=Firefox Developer Edition
Comment=Firefox Developer Edition Web Browser.
  1. Give correct rights to the icon created
chmod +x firefox_dev.desktop 
  1. Copy on Desktop
cp -rp ~/.local/share/applications/firefox_dev.desktop /home/$USER/Desktop

Installing Visual Studio Code

  1. Download the .deb package file from the official page.
  2. Install it via the package manager or with the following command if needed:[1]
sudo dpkg –i code*

Installing git

As simple as:

sudo apt install git-all

Warning: might have to remove runit and git-daemon per this example.

Installing Docker

The detailled instruction are available on the Docker documentation.

  1. Update the apt package index:
sudo apt-get update
  1. Install packages to allow apt to use a repository over HTTPS:
sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  1. Add Docker’s official GPG key:
curl -fsSL | sudo apt-key add -

Verify that you now have the key with the fingerprint 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, by searching for the last 8 characters of the fingerprint.

$ sudo apt-key fingerprint 0EBFCD88

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <>
sub   4096R/F273FCD8 2017-02-22
  1. Add the stable repository
sudo add-apt-repository \
   "deb [arch=amd64] \
   $(lsb_release -cs) \
  1. Update the apt package index.
sudo apt-get update
  1. Install the latest version of Docker CE
sudo apt-get install docker-ce
  1. Verify that Docker CE is installed correctly by running the hello-world image.
sudo docker run hello-world

Install Pidgin with Matrix

  1. Install Pidgin from apt
sudo apt-get install pidgin
  1. Download Purple Matrix from its GitHub
  2. Install the dependencies for Purple Matrix
sudo apt install libpurple-dev libjson-glib-dev libglib2.0-dev libhttp-parser-dev
  1. Make
sudo make install

Note: Purple Matrix is installed from 17.04.

  1. In case of dependency errors, sudo apt-get install –f ↩︎