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:
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.
- First make sure apt is updated.
apt update apt upgrade
apt install git
apt install gimp
apt install filezilla
- MySQL Workbench
apt install mysql-workbench
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( 'http://packagecontrol.io/' + 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)
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:
apt install default-jre apt install default-jdk
- Node.js and NPM
apt install nodejs apt install npm ln -s /usr/bin/nodejs /usr/bin/node
- Pipe Viewer (PV)
apt install pv
Here are some additional tweaks you can make to improve your development environment.
- 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.
- 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:
Now you have a more traditional Linux desktop... AND you now have a complete Linux development environment 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
- Why Use VirtualBox?
- Host and Guest
- Download and Install the Necessary Software
- Create a New Virtual Machine in VirtualBox
- Modify Virtual Machine Settings
- Install Ubuntu
Part 2: Setup LAMP Stack
- Install Apache
- Install MySQL 5.7
- Install PHP 7
- Restart Apache
- Prepare the WWW Directory
- Install phpMyAdmin