This post is part of a series about getting started with GNU/Linux in virtual machines using VirtualBox. If you don’t already know how to use VirtualBox or virtual machines, please read Introduction to Virtual Machines Using VirtualBox.
You can also follow along if you’re actually installing on a real machine – but you’ll have to troubleshoot machine-specific issues on your own. I can point you to a primer on “Linux distros” if you haven’t gotten totally to grips with it yet.
Section 2 can serve as the template for installing Ubuntu derivatives, including Bodhi Linux and elementary OS, which share the same installer.
1) About Lubuntu
Lubuntu is a variant of the popular main distro Ubunutu by Canonical Ltd. It differs from the main distro in that it ships with a very minimal amount of applications, and an extremely lightweight desktop environment named LXDE that replaces the more flashy and resource-hungry Unity desktop environment.
The aim is to provide a functional operating system capable of running on even the most unassuming machines, and giving old units a new lease of life. Applications shipped include a text editor, Gnumeric (spreadsheet) and Abiword (word processor), and a web browser, Chromium. A package manager provides access to the Canonical repositories for installing additional applications.
2) The installation process
Start your machine with the CD/ISO in the CD slot.
You will see the VirtualBox start screen, followed by the language selection screen for the installer. Choose English specifically for any experimental Linux. The reason for this is that if you do encounter any problems along the way, any error messages will be in the language you choose, and I can tell you, nearly all solutions are discussed in English – so Googling the exact error message really makes sense only in English. Once you are used to the system, you can go ahead and choose whichever language you want.
You will then be asked whether you wish to try Lubuntu first, or install it right away. We’re going to dive into the installer immediately.
First set the language to English – this will be the language of the system. The rationale for choosing English applies here too. Click Continue.
You’ll be shown a checklist (hopefully all green) and offered two options: the first is whether to download updates whilst installing. To keep things simple, tick this option.
CAVEAT: Here there be legal dragons
The second option offers to install third party software, of which some patented media codecs. This tiny checkbox causes contention at the very heart of the Free Software debate – and ticking it may have your machine regarded as shackled. Depending on where you are, different restrictions and laws apply, and not everyone is legally allowed to tick this option, so bear this in mind.
Further to that, GNU/Linux was built on the premise that software should not be subject to proprietary restrictions – and when in doubt of the standing of the software in question, it should be shunned in favour of purely Free and Open Source Software. Pages and reams have been filled on the topic, and it is far from settled.
It is a veritable battleground of ideologies that becomes apparent from first involvement. The more you invest time and effort in the world of GNU/Linux, the more you will become aware of what you consider important, and will be able to make your choices. Here, I leave your choice entirely up to you.
— End of caveat.
Click Continue to carry on.
You will now be asked whether to erase the entire disk to install Lubuntu, or to allow you to customize. Erase what should be an empty disk. If you’re not using a fresh VM, proceed with caution. Click Continue.
The main installation will now take place, whilst you provide the remaining details. Set your timezone, click Continue. Choose the appropriate keyboard layout, click Continue.
Set your full name (for display in the system) and give the machine a name – this is the name as it will show up on the network. Be as descriptive or as elusive (or as silly) as you want. And finally, choose a password. Hopefully you verified your keyboard layout earlier. Click Continue, and wait for the installation to complete.
When the installation is done, Lubuntu will eject the CD/ISO, and prompt you to restart. Restart now. If needed, click the close button on the virtual machine’s window and choose to Power Off.
3) Using Lubuntu
Start the virtual machine again.
After the lightning-fast startup (should be fast even on a minimum spec machine), you will be presented with the login screen. Drop down the menu and choose your name, then provide the password.
Lubuntu is somewhat like Windows in interface structure. There’s a Start button (for want of a better name) in the bottom left, and some controls in the bottom right of the task bar. The first two icons next to the start button are the file manager and web browser respectively, followed by an icon for minimizing all windows to show the desktop, and finally two shortcuts to desktop workspaces.You can find your system settings in [ Start :: Preferences ]
Change desktop background in Desktop Preferences, as well as determining the size of desktop fonts, and turn on use of application shortcuts via right-clicking on the desktop.
Go to [ Start :: System Tools ] for managing your system – Users and Groups allows you to add new users; Task manager allows you to keep an eye on running tasks and memory/CPU usage like in Windows and Mac OS X (though other tools exist in the GNU/Linux world…)
4) Installing applications
The first thing we’ll look at is adding applications. Very briefly, applications are normally provided as “packages”, which nowadays typically provided from repositories. In a nutshell, a repository is a server provided by a distro’s distributor (or upstream distributor) containing packages of applications, sometimes tailored for the distro. A GNU/Linux distro downloads and installs new applications from a repository using a package manager.
You can find a list of great examples of Free and Open Source Software for everyday tasks here: http://www.datamation.com/open-source/100-open-source-apps-to-replace-everyday-software-1.html
Open the program under [ Start :: Preferences :: Software & Updates ]
You will be presented with the various repositories to use when looking for and maintaining software. The same caveats as above apply regarding restricted/proprietary software. Supporters of Free and Open Source Software must untick the proprietary and copyrighted software repositories to keep their system FOSS compliant. Click Close once you’ve made your choices.
The simple way for installing software in Lubuntu is to look for it on the Software Center. You may be familiar with the Google Play store for Android, iTunes store for iOS and and the App Store for Mac. The Ubuntu family uses the Software Center for the same purpose: all applications are made available online from a server, and you can search amongst the many offerings of the Linux world.
For now, we’re going to look at installing a better suite of office productivity software, since the default AbiWord and Gnumeric are a a little too much on the simple side.
Open [ Start :: System Tools :: Lubuntu Software Center ]
In the top right, search for “libreoffice.” You’ll be presented with a set of results for individual components of LibreOffice: LibreOffice Writer is the Word equivalent, Calc replaces Excel, and Impress stands in for PowerPoint. Other apps include Base, which is a desktop database application modeled on Access, and Draw is a vector-based drawing application. If you don’t know what that is, you probably don’t need it… Click on each package you think you’ll want and click on Information in the bottom right for more info, or “Add to apps basket” to mark it for installation. If you want them all, you can simply select the “Libreoffice xslt based filters” package, which will cause all the components to be installed.
Search for more apps at this point if you want. Once you’re done choosing apps to install, go to the Apps Basket tab at the top to see a list of apps that will be installed. The list that you see might look complicated and daunting – it’s the list of “packages” that will be installed. This will make more sense later on, so for now, just click “Install packages.” You will be asked for your password to confirm making changes to the computer, then the download and install process will start.
Once this is done, you can close the Software Center. Check the STart menu again, under the Office section you will find your Libreoffice applications!
Most Linux programs you hear of can be installed in this way, but there are some types of programs that need a different approach.
If you are using Lubuntu in a VirtualMachine, you’ll have noticed that some things may not work, like your scroll wheel perhaps. This is because VirtualBox cannot properly make the bridge between the mouse in your host environment and the guest environment: the guest needs the appropriate drivers to be able to do that: the VirtualBox Guest Additions.
You can load the VBox Guest Additions installer in your guest system by pressing the <Host>-D key combination (your <Host> key is displayed in the bottom right of the VM window). However you need to build the Additions using some extra tools that are not installed by default. The Software Center cannot provide these however, as it is geared towards providing only nice user applications, hiding the “package” structures that are actually being installed. Put simply, packages are the binary data that apps are distributed, and a single app can comprise multiple packages. Remember the list of things being installed by the Software Center? Those were the specific packages. Packages are files that contain binaries – the equivalent in Windows world would be “EXE” files, “DLL” files, drivers, and so on. Since Ubuntu is based on Debian, it uses Debian’s packaging format, namely the DEB file, and uses the same tools to install them, which we’ll cover further down.
Open [ Start :: System Tools :: Synaptic Package Manager ]. You will be asked for your password to confirm you can make changes to the system. This is the Synaptic package manager that manages how and where application packages are installed, and manages library dependencies to avoid conflicts.
A brief explanation on how to use this graphical package manager will be shown, click OK to continue.
For the sake of example, use the search field to look for “libreoffice” again. This time, instead of a friendly list of apps, you get a slew of packages related to the LibreOffice project. If you scroll down, you’ll notice that some are already installed – these correspond to the installation of LibreOffice you did just now.
Let’s make a new search now: search for “build-essential” (note that there is no “s” at the end of “build-essential”). You should be presented with a fairly short list, at the top of which sits a single “build-essential” package. Click the square to the left of it, and choose to mark for installation. This will prompt you to install a whole host of other packages – this is because the “build-essential” package is in fact a global name for a collection of different packages. Click “Mark” to confirm, then click “Apply” in the main window. In the summary, click “Apply”. The packages will then be downloaded, and installed.
Close Synaptic now. You can now perform the <Host>-D key combo, or go to the “Devices” menu in VirtualBox and choose “Install Guest Additions”. The Guest Additions are loaded as a CD in the guest system, and you should be prompted to open them in File Manager. Click Cancel at this prompt – what we are about to do we cannot do with a mouse. We are about to enter the command line.
5) Using the command line
I have already covered installation via means of the command line in a previous post – you can check out the fuller information there.
To open the command line, open [ Start :: Accessories :: LXterm ]
In documentation and tutorials, commands to be run on the command line are generally prefixed with some variation of the following: $>
This denotes the start of a single line of command. If the command goes onto the next line, but the next line is not prefaced with “$>”, it should be considered that the second line is a continuation of the first. Of course, you must not type the “$>”
As Lubuntu is a derivative of Ubuntu, itself part of the Debian family, it uses the APT package and repository manager. In fact, Synaptic is simply a GUI (graphical user interface) for the APT tools, so any packages APT can handle, Synaptic can handle too and vice versa. APT needs to be manually told to update its repository list from time to time, and the best time to do this is just before setting out to install stuff. At the command line, before you start doing any installation, type
$> sudo apt-get update
You will be asked for your password to confirm you are the user allowed to run the “sudo” command. The previous command will update APT’s repository lists. Next, we need to go to the virtual CD that the VBox Guest Additions is on. When I created my VM, I called my user “motoko”. If you have any doubts, your name should already be displayed at the prompt, Type the following commands:
$> cd /media/$(whoami)/
You will be presented with a list of CDs currently loaded – there should only be your VBOXADDITIONS_<version> CD. Type “cd V” then hit the Tab key (this will automatically complete the rest of the command), then hit enter. There’s a bit of command-line magic happening here, which is out of the scope of this tutorial, so just bear with me. Now type “sudo ./VBoxL” then hit Tab again, and hit enter. If much time has elapsed since you last ran a command with “sudo” you may be asked for your password again.
Now the intsaller will get going. WHat is happening here? Put simply, the heart of the operating system is the Linux Kernel, and it is a type of kernel known as a “Monolothic kernel” which means that it contains within itself all the drivers available to it. If you want to add a new driver, you need to re-compile the kernel from base components, along with the driver components. Whilst that sounds daunting, it’s mostly straightforward when the driver installer does it for you.
The build-essential tools that we installed earlier are the tools for building programs from source, which we needed for re-compiling the kernel. The command we ran just now is a script that automatically compiles the kernel with the VBox Additions driver.
Once the script has finished running, we need to reboot the computer: we just made a new heart for our operating system after all! You can use the menu [ Start : Logout : Reboot ] to do this, or you can issue the command:
$> sudo reboot
Once Lubuntu has restarted, you should see that you can scroll with your mouse scroll wheel in the guest system. You also have access to some features such as automatic display resizing (VirtualBox menu View: Automatically resize guest display); Shared Folders (menu Devices: Shared folders) and shared clipboard between the host and guest systems (in the Devices menu as well).
Another way we might have to install software is by using the “dpkg” tool.
The dpkg tool is the most basic package management tool which takes individual DEB application packages and installs them. In fact, APT uses the dpkg tool to perform actual package installation!
So Synaptic is a GUI for APT; APT connects to the online repositories that hosts copies of DEB files, and maintains a database of packages that can be downloaded automatically; and the dpkg tool does the actual installation of the packages APT downloads. There, the chain is complete.
If like me and a number of other people I know of, you use Dropbox, you might be interested in installing it on your GNU/Linux machine (nota: Dropbox if proprietary and thus not Free (Libre)). However, they do not provide their program in any repository. Instead they simply provide the DEB file themselves. Once you’ve downloaded the DEB file from their website, you can double-click it to launch the Package Installer, or you can open the command line to run the installation. Using the graphical interface should be straightforward, so I won’t cover it, and instead I’ll dive straight into using the command line.
Open [ Start :: Accessories :: LXTerminal ]
Use the “cd” command to change into the directory (folder) in which your DEB file is saved. By default this is the “Downloads” folder in your home (“~/”) folder, so type:
$> cd ~/Downloads
$> dpkg -i dropbox_1.6.0_amd64.deb
Of course, use the actual name of the DEB file on the third line. The second line is not necessary, but it shows you the contents of the directory you are currently in. There’s more to navigating your folders on the command line than this, but that is beyond the scope of this tutorial. For more info, you can lookup “command line for beginners” on your favorite search engine.
On the third line, “dpkg” is the name of the program we run, “-i” is an option we’re passing to the dpkg program to tell it to install, and the third argument is the name of the DEB file we want to install. Not too complicated then.
The installation will run, and Dropbox will be ready to access from your system. Because of the way Dropbox does things, there are extra installation steps when you first run the Dropbox program (and that’s a particularity of Dropbox), but from the dpkg point of view, that’s all there is to installing a package!
There are plenty more great tools and applications out there for Linux and at this point, I think you should be able to continue on your own.
The LXDE interface should be intuitive to you if you’re used to a Windows environment, and shouldn’t be too complicated for you either if you’re more used to Mac. Most Linux applications you read about should be available through the Software Center, or Synaptic. Have a play around, try them, and see that a world in which software is Free in every sense of the word is easy to get up and running with in a virtual machine!
My next topic will be an overview of a number of distros you might be interested in trying out in a virtual machine, what their particularities are, and their suitability for a GNU/Linux neophyte.
And if you’re impatient and if you’re feeling adventurous… have a go at installing the CentOS Minimal distribution in VMWare. Good luck!