Setup a LAMP Stack with Mac/VirtualBox/Ubuntu - Part 4 of 4 - Ubuntu Customization

1st Oct, 2016 | Environments | Read Time: 3 mins

In the first article, you learned how to install Ubuntu in VirtualBox. In the second article, you setup the LAMP stack with Apache, MySQL and PHP. In the third article, you configured Ubuntu to allow terminal and Finder access from your Mac using OpenSSH and Samba. In this fourth and final article, we'll make some tweaks to Ubuntu to make it more developer-friendly. These are merely suggestions and completely optional!

Table of Contents

Remove Unnecessary Software

Once again, let's emulate 'superuser' so we don't have to keep typing 'sudo' before every command. Go ahead and open up the Terminal and enter the following command:

sudo su

Since the main purpose of this Ubuntu environment is to develop on, you can remove some unnecessary software and free up some disk space. I am including all applications to be removed in a single command for reference... obviously, delete any applications you want to keep from this command before executing.

apt purge thunderbird libreoffice* rhythmbox cheese shotwell simple-scan gnome-mahjongg aisleriot gnome-sudoku gnome-mines transmission-gtk remmina vino webbrowser-app
apt clean
apt autoremove

Install Additional Software

The list below includes some of the more popular developer tools. While these are just suggestions, you can install whatever you like.

  1. First make sure apt is updated.
    apt update
    apt upgrade
  2. Git
    apt install git
  3. Gimp
    apt install gimp
  4. FileZilla
    apt install filezilla
  5. MySQL Workbench
    apt install mysql-workbench
  6. SublimeText3
    add-apt-repository ppa:webupd8team/sublime-text-3
    apt update
    apt install sublime-text-installer

    Next install Package Control. Open SublimeText3 and then go to View->Show Console to open the console. The following code is to be pasted into the console. While I provide it here as a reference, you should get it directly from the Package Control Installation page.

    import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( '' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
  7. Chromium
    apt install chromium-browser

The remaining items shown here are development platforms or other tools you may find yourself in need of at some point:

  1. Java
    apt install default-jre
    apt install default-jdk
  2. Node.js and NPM
    apt install nodejs
    apt install npm
    ln -s /usr/bin/nodejs /usr/bin/node
  3. Pipe Viewer (PV)
    apt install pv


Here are some additional tweaks you can make to improve your development environment.

  1. Turn off Brightness & Lock - Nothing's more annoying to me than walking away for 5 minutes only to have to log back in to Ubuntu, so simply turning this feature off is a must in my opinion. Simply open System Settings, select Brightness & Lock and turn everything off.

Brightness & Lock

  1. Change the Desktop - I have to admit, I am not a fan of the Unity desktop. If you aren't either, you can go back to a desktop that's more like Gnome 2.
    apt install gnome-session-flashback
    apt install compizconfig-settings-manager

    Log out, then select 'Gnome Flashback (Compiz)' and log back in:

Gnome Flashback

Now you have a more traditional Linux desktop... AND you now have a complete Linux development environment in VirtualBox!

Complete Ubuntu Development Enironment in VirtualBox

Do you have any other favorite tools or tweaks? Please share them in the comments below.

Full Tutorial Table of Contents

Part 1: Installation

Part 2: Setup LAMP Stack

Part 3: Access Guest From Host

Part 4: Ubuntu Customization


Leave a comment

Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
The error has been logged in /anchor/errors.log
Uncaught Exception

Uncaught Exception

Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`


anchor/routes/site.php on line 280


#0 [internal function]: System\Error::shutdown()
#1 {main}