Dev Setup on Linux Mint

Instead of continuously plugging my nice big monitor and mechanical keyboard into my work Macbook Pro, I decided to setup a Linux VM on my home desktop so I could do the same things I can do on the Mac. As most of the things I work with are under version control, it should be relatively simple to switch between machines.

The main things I needed were:

  1. Ruby on Rails with Postgresql
  2. Latex
  3. Python 3 and IDLE, along with some of the graphics libraries

I usually use Ubuntu, but for a change I decided to check out Linux Mint, a very popular variant.

Ruby on Rails

Based on a quick read of various blog posts, rbenv seems to be the tool more people now use to manage their ruby versions, so that’s what I decided to go with. ruby-build is also necessary to actually install ruby versions easily. Both repos and their instructions can be found on github.


Bundler is used to manage rubygems. See more at

It’s really easy to install. Just run gem install bundler

Checkout the Rails app then run bundle install


To install Postgresql, I followed the instructions from their download page for Ubuntu. Linux Mint Rebecca is based on Trusty Tahr (Ubuntu 14.04), so I used that. It was also necessary to install the postgresql-server-dev-9.4 package as the pg gem needs it.

To allow my user to login with psql and do useful things, it was also necessary to create a postgres role with create db rights for my OS username.


This was easy. Install texlive from the package manager. I had a missing package later on but a quick Google search told me what to install. Can’t remember the package name.

Python 3

sudo apt-get install python3-dev
sudo apt-get install python3-pip
sudo pip3 install PILLOW
sudo apt-get install idle-python3.4

Git HTTP Access

Setting up Git on AWS was easy. It was a lot harder to get HTTP pull and push access. WebDAV worked for pull, but pushing kept giving return code 22.

Turned out that the article for that was outdated and the new method involves git-http-backend.

Instructions there are meant for general use. Some things need to be changed for Ubuntu 12.04.

sudo a2enmod cgi
sudo a2enmod alias
sudo a2enmod env

but those should already be enabled.

Put server config lines in httpd.conf, which is empty on AWS as the main apache config file is apache2.conf
Set GIT_PROJECT_ROOT to parent directory of all the .git folders
ScriptAlias is /usr/lib/git-core/git-http-backend/ instead of the libexec folder shown in the instructions. The final slash is important!! Found this out by checking the error log.

Added to /etc/apache2/sites-enabled/000-default file

In conf.d folder, added git.conf file.

<Location /git/repo.git>
AuthType Basic
AuthName "Private Git Access"
AuthUserFile /etc/apache2/passwd.git
Require valid-user

This ensures authentication is needed. Create the password file with htpasswd

chown and chmod all the files and folders in the repository to give www-data read/write access.

Installing Ubuntu 13.04 on a Mac

I like having a Ubuntu install handy to play around with. It’s already on my PC as a VirtualBox image, but 3D acceleration refuses to work, so I can’t upgrade it beyond 12.04 as there’s no more Unity 2D after that and upgrading prompts dire warnings about terrible performance. I decided to try installing 13.04 (Raring Ringtail) onto the Mac with VirtualBox.

Installing VirtualBox was easy. Download the Mac versio and drag it to the Applications folder. That’s generally the case for installing Mac apps, although some of the newer ones can be obtained from the App store, just like for mobile devices.

Creating a new image, mounting the ISO file and installing Ubuntu was no problem. In fact, the install wizard seems to have been streamlined a bit.

However, running it was a different issue. Opening the ‘Start’ menu took ages as it slowly fades in, and just getting it to go away took another eternity as it slowly faded away. A bit of Googling revealed that the problem was a lack of 3D acceleration. That apparently causes it to use the CPU to render the graphics, leading to terrible performance.

The solution was found in this forum thread. Basically, install the VirtualBox extensions, install guest editions, then insert the line ‘vboxvideo’ to /etc/modules

Reboot and check that 3D is supported with the following command.

/usr/lib/nux/unity_support_test -p

If that shows all green, everything should be running much smoother!

Network Scan with Mac OS 10.8

Having already set up network scanning with little fuss on my Windows machine, I was expecting a simple task on Mac OS, but nooooo.

The shared folder method over Samba fails with a login error. Some googling suggests that it’s due to a change in the port number from NetBIOS (139) to TCP/IP (445). Naturally I couldn’t find an easy way to change that on the Mac.

Neither does the address book on the printer’s configuration page allow port 445. Only 139 and a range of 4 digit numbers are allowed.

Thus the alternative is FTP. To enable that, it is necessary to open a Terminal window and use the following command.

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

That enables FTP with authentication. Logging in with an FTP client with a user account will bring you to the user’s home folder. I created a subfolder there to keep scan output and configured that through the printer’s web interface.

Now it works 🙂

Picasa Database

Picasa stores its database in C:\Users\\AppData\Local\Google
The database is in the Picasa2 and Picasa2Albums folders. To restore the database on a fresh install of Picasa, just copy the database over and replace the empty one.

It was useful that Windows 8 kept the previous Windows files in a Windows.old folder as I had forgotten to backup the Picasa database separately. That has since been rectified by adding a new operation to SyncToy.

Could not open VirtualBox hard disk

After a fresh install of Windows, I had to reinstall VirtualBox. Starting the virtual machine for the first time after that resulted in an error of not being able to find the hard drive.

This forum thread on the VirtualBox forums explains how to fix it.

The solution involves editing the .vbox file with a text editor and removing the <AttachedDevice> section.