Workshop 04 - Productivity and System Tools

An operating system is only as useful as the software written for it. Fortunately, open source developers are incredibly productive and in this workshop we will highlight some of the unique and useful FOSS available for Linux.

We will identify FOSS alternatives to Microsoft Office, Photoshop and other Adobe products, and install and configure the software for cross platform compatibility so that documents and files created on your Xubuntu system will be readable on Windows and Apple computers.

With your custom system complete, we’ll update your custom USB distribution.

* Identifying, evaluating and installing FOSS alternatives to common software

* An introduction to the terminal (command line)

* Cross-platform compatibility. How to create a seamless workflow between Windows, OSX and Xubuntu.

* Customising your Web Browser.

* Making a back-up.

* Make a custom USB distribution.

It's time to make a list of the software you want to use on your new computer so we can find FOSS alternatives where possible. Here are a few options to get you started. Non-FOSS software is marked.

Software MS Windows/Apple OSX Linux
Office MS Office Libreoffice
Email Outlook (non-FOSS) Thunderbird
Voicechat Skype (non-FOSS) Skype (non-FOSS)
Video playback Windows Media Player/Quicktime (non-FOSS) VLC
Web browser Internet Explorer/Safari (non-FOSS) Firefox, Chrome (non-FOSS)
DVD/Video tool Handbrake Handbrake
Publishing pagemaker (non-FOSS)Scribus
Vector graphics Adobe Illustrator (non-FOSS) Inkscape
Audio Editing Audacity Audacity


We will cover the various ways you can install software, update and upgrade your existing software. For Xubuntu, most software is made available as packages in the Ubuntu repository. These are the main methods of installing packages:

  1. 1. Ubuntu Software Centre
  2. 2. From downloaded packages (.deb files)
  3. 3. From an install script
  4. 4. From the Command Line using a package manager
  5. 5. Compiling from source code

Methods one and two can be completed using a GUI. Methods three, four and five require some use of the terminal. Once you've taken this broad introduction to how to install software then we'll install the rest of your software however you like.

The Ubuntu Software Centre is a GUI for installing software in Ubuntu and related flavours. It's accessed from the whisker menu.

Ubuntu software centre

Here you can find and install FOSS and other software.

Ubuntu software centre

Let's do a search for VLC, our video player.

Ubuntu software centre

Then select and click install.

select and click install

And authorise it with your admin password.

authorise with your password

Once the install is done, you can find it in the whisker menu, under 'Multimedia'.

whisker menu, Multimedia

If you like you can add it to your favourites in the menu with a right click on your mouse or keyboard.

add to favourites

Once you launch VLC you will be asked if you want to allow VLC to search for media information.

Allow VLC to search for media information

And you are done!

All done

Installing software from .deb files

Ubuntu Software Centre simplifies the finding of software, but what if the software you want is not available in the Software Centre? Well, if you can find the right kind of package, called a .deb file, then you can download and install it.

Make sure you trust the source of the .deb file you are installing. There is not as much malicious software made for linux systems, but it does exist. You can be assured of the reliability of the sources in the official Ubuntu repos. A reliable source is usually well-known, popular, and well-maintained. If in doubt, search the user forums.

As an example we've uploaded an installer for a popular, well known media player called clementine here to show you how this works.

To make sure you get the right .deb, go directly to the clementine.org downloads section.

It's important to choose the right architecture for your system - this is usually shown either as amd64 (which is 64bit) or x86 (which is 32bit) in the .deb file. We use the 64bit amd64 version.

Once the download is done, it will open in Ubuntu Software Centre and you can install it the same way you installed VLC.

Package Management System

Xubuntu, like almost all Linux systems, uses a package management system to find, install, update and upgrade software packages. A package management system (PMS) works like this;

Package Management in Xubuntu

Xubuntu uses the debian package system, which used dpkg to install and apt-get to search and download from repos. The most common way to use this system is with the terminal. We'll go into more detail about the terminal later but to start just follow the instructions below.

Open up a terminal emulator either from the whisker menu, or by pressing ctrl+alt_t. Now type:

   apt-get -h

This displays the help for apt-get, a simple command line tool for package management. It gives a simple explanation of what apt-get does.

Help menu for apt-get

Because our system is newly installed, we would normally run an a update and upgrade to make sure we've got the latest list of packages in our sources. But we've already done this using the Software Updater in our system settings. Try it anyway and see what happens. First step is update.

  $ sudo apt-get update  

You will be prompted to enter your password. You won't see the letters being entered (this is for security), but if you press enter at the end of typing, your password will enter as usual. If you make a mistake you will be asked to enter it again.

Apt-get will search through its list of software available and complete the command but with some errors. Don't worry about these, we haven't downloaded everything apt-get wants on to our ccc-server. Next we try an upgrade.

  $ sudo apt-get upgrade

Apt-get will now upgrade all the packages found in its update. There probably won't be any as we upgraded at the end of workshop 03.

The terminal is a text only or Command Line Interface (CLI). Combined with a shell, which is a program that interprets your commands, it is the most powerful and direct way of using a computer.

All OSs have something similar. In Windows there is powershell, in OSX there is also a terminal. Some CCC participants may remember MS-DOS, or using home computers like a Spectrum, Commodore 64 or Atari ST.

Terminal Usage

The terminal is the most efficient way of controlling your computer. It requires the user (you!) to be accurate when entering commands, so you'll have to check and double check your entries into the terminal.

When using the terminal there are a few symbols you'll see over and over again. The first thing you'll see is a command prompt. It will display a lot of information in one line:

  ccc@ccc-server:~$ 
  

This line tells me:

  • Who I am
  • What computer I'm on
  • Where I am in that computer and
  • What type of user I am

So in this case:

  • User = ccc
  • Computer name = ccc-server
  • My location is your home directory (~ is a shortcut for your home directory)
  • And I'm logged in as a standard user ($)

File & Directory Commands

Next we'll take a look at moving around in your computer using terminal commands. First we need to think about how your computer files are organised.

In Linux the / (forward slash) symbol is used to show which directory you are in. A directory is just another name for a folder.

A single forward slash / is the root directory this is the directory which holds all the other directories inside it.

Remember, the tilde (~) symbol stands for your home directory. If you are user, then the tilde (~) stands for /home/user where user is your username.

The pwd command will allow you to know in which directory you're located (pwd stands for “print working directory”).

     ccc@ccc-server:~$ pwd
     /home/ccc

The ls or list command will show you the files in your current directory. Used with certain options, you can see sizes of files, when files were made, and permissions of files.

Try ls -al It will show you the files that are in the current directory, with more information about the file type and permissions.

The cd command will allow you to change directories. When you open a terminal you will be in your home directory. To move around the file system you will use cd. For example:

  • To navigate into the root directory, use cd /
  • To navigate to your home directory, use cd or cd ~
  • To navigate up one directory level, use cd ..
  • To navigate to the previous directory (or back), use cd -

To change more than one directory at a time, we can describe the path we need to take, separating the directory names with /.

For example cd /var/www to go directly to the /www subdirectory of /var/. Remember using the file manager in the last workshop? The path is also visible in the address bar of the desktop window. See if you can use cd and ~ to get to your desktop.

Super User Do!

Many commands will need to have sudo at the start. In technical terms, this 'elevates privileges to the root-user administrative level temporarily'.

Which means that you are telling the computer 'I am the boss - do exactly as I say!' This is necessary when working with directories or files not owned by your user account.

For example, try running apt-get install without sudo:

    $ apt-get install vlc
    

You'll get an error like this, asking 'are you root?'

apt-get error message

Try again with:

   $ sudo apt-get install vlc
   

And you get a request for a password - and off apt-get goes..

request for password

In other words, sudo give you the power to force your OS to treat you with unquestioning obedience. Use it wisely…

Installing software from an install script

Now you will use your newfound terminal powers to install software from a script. A script is a text document called .sh with all the commands entered line by line, with a special first line #!/bin/bash that tells your computer 'I'm a script!'

Below is a link to the backup software we'll be using, it contains an install script and a few packages we need to make the install work.

systemback_install_pack_v1.6.202.tar.xz

Once you've downloaded it, you'll need to uncompress it using an archiving utility.

Xubuntu will automatically launch Archive Manager to do this.

Archive Manager

Just extract the files to your download directory.

Now you need to navigate to your newly created directory in your Downloads folder in the terminal. Remember to replace

ccc

with your own username.

  $ cd /home/ccc/Downloads/Systemback_Install_Pack_v1.6.202/

Type ls -al to list the files in the directory. Notice the file install.sh is green? This means it is executable.

If your version of install.ch is not executable, you can use the chmod command to make it so.

  $ chmod 774 ./install.sh

Now you can run the script by telling the shell to execute the script.

 $ sudo ./install.sh

Check if systemback is installed by going to the whisker menu and start typing 'sys…

Systemback

Compiling from source is usually the method to try if all else fails. 1)

Step 1: Prep your system for building packages

By default, Ubuntu does not come with the tools required. You need to install the package build - essential for making the package - and checkinstall for putting it into your package manager. These can be found in the repositories and installed with command-line apt-get:

  sudo apt-get install build-essential checkinstall

You should then find a directory where you'll be building these packages. We recommend using /usr/local/src, but really you can put it anywhere you want. In this case we will just use your Downloads folder.

Step 2: Getting the software you want

Most of the software you'll generally want comes from released tarballs. These are just compressed archives with extensions like .tar.gz or .tar.bz2 — they are just like .zip files on Windows or .sit on MacOS X.

We've got an example program to compile here, called 'dcfldd'. This program is what we originally used to make the USB installers for Xubuntu we used in workshop 02. We chose this because it's simple and quick to compile.

dcfldd

Click to download, then open with Archive Manager, and show the files when done. You will be in your downloads directory, look for the folder called dcfldd-1.3.4-1 and open it.

Now hold ctrl, then press press your right mouse button. This will bring up a menu where you can select 'open terminal here'. We need to press Control due to the directory being full of files.

open terminal here menu

Now you need to use your terminal skills again. Begin with:

  $./configure
  

This is a script that checks to make sure you've got everything installed you need to compile. Now type:

   $ make
   

Now the real work begins, and your computer will build (compile) the program from source. This might take a while. When it is done, you can turn it into proper install by running:

  $ sudo make install
  

Once this is done you can open a terminal and check whether your compile and install works by typing:

  
  $ man dcfldd
  

This will bring up the manual (man) for dcfldd, proving it is installed and exists as a command.

That's all for the command line for now, but if you're interested in learning more about it check out the linux Command Line by William Shotts, which you can download from here.

Installing The Rest

It's time to install the rest of the software you want to use. Lets take a look at the software we've got left to install.

Software MS Windows/Apple OSX Xubuntu
Office MS Office Libreoffice
Email Outlook Thunderbird
Voicechat Skype Skype (non-FOSS)
Video playback Windows Media Player/Quicktime VLC
Web browser Internet Explorer/Safari Firefox, Chrome (non-FOSS)
DVD/Video tool Handbrake Handbrake
Publishing Pagemaker Scribus
Audio Editing Audacity Audacity

It's up to you find where and how to install the remaining software. If you've had enough of the command line, jump back into the Ubuntu Software Centre. Your facilitators will come around and help.

A cross-platform Workflow

If you have tried to use the same portable hard drive between multiple operating systems, you will probably have come across incompatible formats and file types. In this section we will look at making your Xubuntu system capable of reading and writing to most common disk formats and customise LibreOffice for compatibility with Microsoft Office and Excel.

Accessing Disks from Windows and OSX

By default your Xubuntu system can read and write to three common file systems used on Windows; FAT, FAT32 and NFTS.

FAT

If you stick to the FAT or FAT32 you will have no troubles transferring most files between Windows, Xubuntu and OSX, as all three operation systems can read and write to this disk format by default.

However FAT can only use disks up to 4GB in size, making it really only suitable for USB drives.

FAT32

FAT32 is better, it has a disk limit of 1000GB, buts it has a file size limit of 4GB making it unsuitable for large media files.

NTFS

NTFS is suitable to use between Windows and Xubuntu. It allows very large file sizes and disk limits. The problem with NTFS is that OSX can't write to the format without extra software.

Exfat

The solution for transferring large files between all three OSs is to use the Exfat format. Both Windows and OSX will read and write to this. To install onto your system it's as simple as:

sudo apt-get install exfat-fuse exfat-utils

Accessing OSX disk formats - HFS and HFS+

The most common OSX formats are HFS and HFS+. What if your friend has a Mac and wants to share some files off a HFS or HFS+ disk?

Reading HFS

Just reading from these formats is easy. Make sure you install hfsprogs and you are ready to go.

 sudo apt-get install hfsprogs
    

Writing to HFS+

If you want to write to a HFS volume (what OSX calls a disk), then you are OK, but to write to HFS+ volumes you will need to use your command line skills.

We will use fdisk - a command line tool for managing disks to discover more about disks.

Disks in Linux appear as directories inside the /dev directory. For example, the first hard disk in your computer will likely be /dev/sda.

First up you'll need to discover the volume letter and partition number of your hfs+ drive using;

sudo fdisk -l 

Now you can force the HFS+ volume to be mounted using the mount command. Before we do this, let's create a directory to mount it in.

sudo mkdir /media/macvolume

Now use mount and just replace sdx# with your drive details.

sudo mount -t hfsplus -o force,rw /dev/sdx# /media/macvolume

Formatting External (or internal) Disks

One of few missing tools in Xubuntu is a disk utility. Disk utilities are used to format drives or removable media. Let's format a USB stick compatible with Windows or OSX. We'll grab Gnome-Disk-Utility to do the job.

   sudo apt-get install gnome-disk-utility
  

Once it installs, you can access it as 'Disks' from the whisker menu.

On open, Disks will show your internal hard drive, and your DVD drive.

Plug in your USB stick and it will appear in Disks.

To wipe the disk - select format and give it a name.

We will use FAT32 format, which is compatible across all operating systems.

You will be asked to confirm whether you want to wipe the drive, confirm and your drive will be formatted.

Libre Office

LibreOffice is a free and open source office productivity suite. It can be used as a replacement for Microsoft Office, but it uses the Open Document Format. For compatibility with Microsoft Word and Excel, let's change the default format for LibreOffice Writer and Calc.

Open LibreOffice from the the whisker menu.

Open Libreoffice

Go to options.

Libreoffice options

Select load/Save/General

Select Load/Save/General

In the document type select 'Text Document'

Select Text Document

And change the type to 'Microsoft Word/2007/2010/2013 XML'

Change to Microsoft Word

Xubuntu installs Firefox by default. If you would like to use Google Chrome, you can download it here. Once you are up and running the browser of your choice, we will install an extension or addon that will increase what you can do with your browser.

Let's install an ad-blocker to make our browsing experience more pleasant. The best one we've found so far is called µBlock, which can be found here for Firefox or here for Chrome.

Ad-blockers do exactly what you would expect - remove advertising from websites. uBlock is particularly good and is less resource intensive, meaning it won't slow your browser.

To see what µBlock does here is a page without it installed. Notice the advertising to the sides of the text and the video ad about to play in the video window.

Screen with advertising

Now the same page with an µBlock installed.

Screen without advertising

Notice the video has jumped straight to the monkey, and the advertising on the sides of the page is gone?

You can check on what µBlock is blocking by clicking on menu bar icon, and if you want to disable µBlock for a site, just click the 'Power' button.

Unblock advertisements

Making a Backup

A backup is a copy of your files and other data that you can recover or restore if disaster strikes. To be really safe, your back-up needs to be outside of your computer, and you need to check that the backup works! You can use an external disk drive, USB stick or another computer on a network or the internet. We will demonstrate using a USB stick, with three different ways of backing up.

Copy Your home directory

Remember Xubuntu (and all Linuxes) store all of your personal files in your home directory. If you want to back-up all your personal files, you can simply copy your entire home directory to a USB. Let's do this with the file manager to start with.

First open the file manager from the whisker menu.

Now select your home directory from the 'places' sidebar. Mine is 'ccc'

We need to go up a directory to make a copy of your whole home directory.

Right click and copy.

Then select your backup USB from the 'Places' menu,

And paste your files in.

This may take a while….

Once your back-up is complete, its a good idea to at least check (or verify) your files have been copied. Just open up the files on your backup disk make sure you copied what you wanted.

What happens if your files are too big to fit on your back-up media? In my case, my home directory has too many files to fit on my USB, so I'll just grab a few folders and make an archive. An archive is a file format that makes files smaller using compression - in this case we will use zip.

I'm going to archive my pictures folder, but first I will check the size by right clicking the folder and selecting 'Properties'

It's about 400MB. Next I make an archive to compress (make smaller) the folder. Right click and select 'create archive'.

Next I give it a name, select the zip format and save it to my external USB.

Your computer will take a while to compress all the files into and archive.

You can check the files size of the archive - it should be smaller that the original, depending on the type of files you have archived.

Once again, you should check your backup to make sure it has worked.

An easy way to keep your data safe is to use a back-up program. There are a number of command line utilities that can be used, such and rsync or duplicity. We will install a GUI based utility that ties together these tools in an interface that is modelled on Apple's Time Machine app. You will need a USB stick or drive you can wipe and reformat to use cronopete.

Installing Cronopete

Cronopete is not available in the main Ubuntu repositories, so we will add a custom repo to our sources list.

sudo apt-add-repository ppa:rastersoft-gmail/cronopetedev

The do an update so apt can find the packages.

sudo apt-get update

Now we can install cronopete.

sudo apt-get install cronopete

With cronopete installed its time to set our backup settings. Use the whisker menu find cronopete. just start typing 'cronpete' and select 'backup settings'

First up we need to prepare a backup disk - cronopete will erase as format the disk. Plug in your USB disk, and select 'change disk'

Select your USB stick (make sure its the one you want!) and click OK.

You will be asked to confirm format of this drive. Remember this will erase the entire contents!

Once the format is complete, its time to choose what you want to back up - click on 'options'

And add a folder to backup.

I'm going to add the 'Documents' folder in my home directory.

It should appear in cronopete like this. I can also set the backup interval here. This is how often cronopete will backup.

Now it's time to turn cronopete on and make sure it is in the menu bar.

Now you can open the menu bar

and select 'backup now'

The first backup will be started straight away, and you will see the information here.

Now that we've done a backup, its time to test the restoring. To do this I'm going to delete some files from my documents back-up and then see if I can use cronopete to get them back. Here is the contents of my documents folder I've already backed up.

Now I'm going to 'accidentally' delete all these files and make a new one called 'oops'

And do another backup using the menu bar.

Oops! I've just lost all those files! Lets try to get them back with cronopete.

To open the restore GUI use the cronopete menu bar.

and select 'Restore'.

You will see a window like this. The backups appear as windows going back in time. The front window is the latest backup.

Lets try to find our lost files by clicking on the back arrow. Here are the files I want.

Now select them all and click restore.

The files will be copied back into my Documents directory - we can tell they are backups as all the files have '.restored' in the file name.

And we are done!

Now that you've installed, upgraded and customised your software, it would be a shame if your computer crashes, so it's time to back-up your whole system, not just your files.

Systemback is a handy tool with a GUI that's a little tricky to get started with, and importantly needs a fresh formatted USB stick or USB hard drive to backup to.

Once we are done, you'll have a USB stick that is a live system, a back-up and a custom Xubuntu installer all at once. You can repeat this process any time you want, provided your USB stick or drive is large enough.

The easiest way to start is to use a fresh USB stick of at least 4GB. We can't use the Xubuntu installers due to some strange issues with the formatting as detailed here.

Systemback

Launch systemback from the whisker menu - its under the system tab.

Launch systemback

Enter your password to authorise systemback.

Enter your password

Once systemback is open, select 'Live System Create'.

Select Live  System Create

You want to make a back-up of all your settings, so make sure you check 'include user data files'.

Include user data files

Now press 'Create'

Create

and sit back and wait while systemback goes to work.

systemback at work

When it's finished, insert your newly formatted USB and write your live system to it.

Test your Live System

Now you can test your live system, restart and boot from the USB just like we did in workshop02

End of Workshop 04

1)
This guide has been modified from the Ubuntu Community Documentation site.