Ubuntu desktop setup steps

From Nick Jenkins
Revision as of 05:46, 11 April 2009 by Nickj (Talk | contribs)

Jump to: navigation, search

Ubuntu 8.10 desktop setup steps for an AMD64 system. Almost all of these instructions will also work on Ubuntu 8.04 LTS, and these instructions were originally for that version:


  • Insert installation CD. Follow simple options, installs, ejects CD, reboots. Then login.
  • System -> Networking -> set up static IP address instead of dynamic IP address.
  • reboot to get network changes to apply (theoretically this should not be necessary, but in practice it was, at least for me on 8.04).
  • reboot, install system updates. Then reboot once updates are installed.
  • system -> hardware drivers -> enable the proprietary nvidia drivers.
  • reboot to enable the proprietary drivers.

Tweaks and Preferences

  • Ditch the annoying sounds: System -> Preferences -> sound -> sounds -> set all to "no sound", and untick "play system sounds", and on "system beep" tab untick all boxes.
  • Ditch the thrashing hard-disk: System -> Preferences -> Searching and indexing -> General -> tick "enable indexing" and "enable watching" and both of the power management boxes to disable stuff when on battery.
  • To get Subpixel Smoothing on LCDs, do this: System -> Preferences -> Appearance -> Fonts -> Tick "subpixel smoothing (LCDs)". Need to restart Firefox for this change to take effect in Firefox.
  • To get reasonable desktop visual effects: System -> Preferences -> Appearance -> Visual Effects -> Select "Normal".
  • To make the system remember running apps and window locations on logout, do this: System -> Preferences -> sessions -> session options -> tick "automatically remember running applications when logging out". In Ubuntu 9.04 / gnome 2.26, this setting has moved, and is now under: System -> Preferences -> Startup Application Preferences -> options -> tick "automatically remember running applications when logging out".
  • To tweak networking performance, follow these instructions.
  • Power saving: Turn off blinking cursor by going System -> Preferences -> Keyboard -> untick "Cursor blinks in text fields".
  • Add terminal icon to gnome panel: Right-click panel -> Add to Panel -> Application Launcher... -> Accessories -> Terminal -> Add -> Close.

Firefox 3 configuration steps

Firefox configuration steps

Firefox Add-ons

Go Tools -> Add-ons -> Get Add-ons -> then search for and install these add-ons:

cd /usr/lib/keepass2/
sudo mv KeePassRPC.plgx KeePassRPC.plgx.old-`date`
Open https://github.com/kee-org/keepassrpc/releases/latest , replace the link below with whatever is latest KeePassRPC.plgx version:
sudo wget https://github.com/kee-org/keepassrpc/releases/download/v1.8.0/KeePassRPC.plgx
Close Firefox, close KeePass (note: MUST restart keepass as it compiles the add-on modules on restart), restart Firefox.

Note: if you then get an error on starting keepass that says "the plugin cannot be loaded a new Keepass version is required to open this file", then you need to update Keepass. The ones included with the distro can be out of date (e.g. 2.32 when 2.35 is available). For example, to update Ubuntu or Mint, use this PPA with the current version:

sudo add-apt-repository ppa:jtaylor/keepass
sudo apt-get update
sudo apt-get upgrade

Firefox Tweaks

  • Don't want Firefox to close when pressing ctrl-w on the last tab: Tools -> tab mix plus options -> events -> tab closing -> tick "do not close window when closing last tab by hotkey".
  • Tab mix plus -> Events -> New Tabs -> Tick "Open new tabs next to current one".
  • Tab mix plus -> Events -> Tab Features -> Untick "Ctrl-Tab navigates tabs in most recently used order".
  • Tab mix plus -> Display -> Tab Bar -> When tabs don't fit width: Multi-row; Set number of rows to 2 or 3.
  • Stop animated GIFs in Firefox: about:config -> image.animation_mode -> change to "none"
  • Firefox: Fix the stupid behavior of overwriting current tabs when opening new tabs: about:config -> browser.tabs.loadFolderAndReplace -> toggle to "true". [Have to re-apply this setting when upgrading Linux distro]
  • To get autocomplete for the web address, go: about:config -> browser.urlbar.autoFill -> toggle to "true" -> restart FF.
  • Stop the full screen mode-switch animation: about:config -> browser.fullscreen.animateUp -> change to "0".
  • Perform a sync using Foxmarks wizard, and for the initial setup keep the bookmarks on the server, and overwrite those on this computer.
  • File -> Page setup ... -> Paper size = "A4", and orientation = "Portrait".
  • Edit -> Preferences -> Main tab -> tick to close the download window when all downloads are finished.
  • Laptops only: Add a delay to the bookmark menu collapsing (only really useful on laptops when navigating with a trackpad or button, which tends to be fairly inaccurate) - about:config -> right-click -> New -> Integer -> name is: ui.submenuDelay -> value is: 800
  • Prevent JavaScript from messing with browser window: Edit -> Preferences -> Content tab -> Advanced ... -> untick everything.
  • Make the "Backspace" key be like pressing the "Back" button: about:config -> browser.backspace_action -> change to "0".
  • Stop blocky graphics: View -> Zoom -> Tick "Zoom Text Only".
  • About:config -> dom.max_script_run_time -> chnage from 10 to 20 to increase timeout on slow scripts.
  • Set search bar to use Australian Google rather than US Google: Open this list of search plugins -> click "Google Australia - the web" -> tick the "Start using it straight away" box -> click "Ok".
  • To make streetview work: Tools -> Addons -> Flash-block -> preferences -> whitelist -> add "maps.google.com.au" and "maps.google.com".
  • Firefox 4, to limit excessive memory usage: about:config -> browser.sessionhistory.max_total_viewers -> set to "0".
  • To stop old tabs using memory when the browser is restarted: Edit -> Preferences -> Tabs -> tick "Don't load tabs until selected". * If install noscript, then add a whitelisting for xmarks.com
  • To increase mouse scroll speeed: About:config -> mousewheel.withnokey.sysnumlines -> toggle to false. Then make sure that mousewheel.withnokey.numlines is set to 6.

Installation of extra software

Go system -> admin -> synaptic package manager -> then Install the following (my brief descriptions of what some packages do are also shown) :

  • inkscape # Vector drawing package
  • hugin # Create panoramas from an image set.
  • dia # Draw diagrams & flow charts, somewhat like "visio" on Windows.
  • googleearth-package
  • miro # Combined bittorrent client and video player. Particularly useful for downloading TED talks before a flight. Uses lots of disk space though.
  • k3b # CD burning app.
  • xchat # IRC client.
  • msttcorefonts linux-libertine # The most useful font sets.
  • audacious # Like XMMS or Winamp
  • nmap # Check for open ports.
  • filezilla # GUI FTP client.
  • openoffice.org
  • wireshark # Packet sniffer
  • powertop iotop htop # Show power hogs, I/O hogs, and an more visual command-line version of top.
  • nautilus-open-terminal # adds ability to right click on a folder and get a command prompt there.
  • php5-cli
  • traceroute # How packets get from here to there over the network.
  • curl # Command line HTTP client, includes form-submitting capacity
  • sshmenu-gnome # Applet for storing a list of hosts that you connect to. Roughly equivalent to putty-agent on Windows.
  • deluge amule # P2P - donkey plus bittorrent
  • tofrodos # Convert line endings from dos to UNIX or vice-versa.
  • bum # Boot Up Manager - GUI for specifying what services should be running on boot-up.
  • openssh-server
  • libxml2-dev libmysqlclient-dev # Optional: Only used for compiling PHP snapshots
  • eclipse sun-java6-jdk sun-java6-jre libmysql-java junit junit-doc # Optional: Java development using Eclipse.
  • sysinfo # Kind of like device manager on Windows. Shows CPU / memory / hard disk installed, some hardware that has been detected, etc.
  • autofs smbfs smbclient
  • gisomount
  • gtk-recordmydesktop # Record videos of what you're doing on your desktop.
  • gworldclock # Want to simultaneously see the time in Tokyo, LA, London, and Rio? Use this.
  • ffmpeg2theora # Convert videos into format suitable for uploading to Wikimedia commons.
  • rar p7zip-full # needed for extracting .7z and RAR archives
  • gnome-do # Run apps or commands from a keyboard launcher.

Uninstall unused bits of software

sudo aptitude remove --purge tomboy

Configure "Microsoft Natural Ergonomic 4000 Keyboard"

To get the back / forward keyboard keys working in Firefox, when using the "Microsoft Natural Ergonomic 4000 Keyboard", go System -> Preferences -> Keyboard -> Layout -> click the model button -> Choose Microsoft -> set model to "Microsoft Natural Keyboard Pro USB" -> click "close".

Custom Key Bindings, aimed at "Microsoft Natural Ergonomic 4000 Keyboard"

That can be done through the UI:

  • System -> Preferences -> Keyboard Shortcuts
  • Set "1" favourite key to "run a terminal"
  • Set "2" favourite key to "open home folder"

Then for the bindings which cannot be done through the UI:

  • In a terminal, run: gconf-editor
  • Navigate to apps/metacity/global_keybindings
  • Change "run_command_1" to be 0xc3 on Ubuntu 8.10 or 0x83 on Ubuntu 8.04 (which corresponds to "4" favourite key). Could alternatively use 0xc4 on Ubuntu 8.10 or 0xf7 on Ubuntu 8.04, which corresponds to the "5" favourite key.
  • Navigate to apps/metacity/keybinding_commands
  • Change "command_1" to be "/usr/bin/gedit --new-document" (i.e. run a text editor)

Install Skype

install Skype - Source of instructions.

sudo aptitude install ia32-libs
wget http://skype.com/go/getskype-linux-ubuntu
sudo aptitude install libqt4-core libqt4-gui qt4-qtconfig 
sudo dpkg --install --force-architecture --force-depends skype-debian*.deb

Install the Tahoma fonts

Source of instructions.

Once the msttcorefonts package is installed you will notice that Tahoma and Tahoma Bold is missing. You will need to extract Tahoma and Tahoma Bold from the zip file. Tahoma is used for Microsoft desktop, title bars and menu fonts so if you are trying to get that XP look you will need the Tahoma regular and Tahoma Bold fonts. Install Tahoma by doing the following in a terminal.

cd ~
wget http://www.stchman.com/tools/MS_fonts/tahoma.zip
sudo unzip -d /usr/share/fonts/truetype/msttcorefonts ~/tahoma.zip
sudo fc-cache -f -v
rm -f ~/tahoma.zip

Install Flash

For AMD64, as of Nov 2008, there is now an native alpha 64-bit flash plugin for Firefox, so that YouTube and the like can be viewed. Native 64-bit flash installation instructions.

Install Google Earth

sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list
sudo aptitude update && sudo aptitude install medibuntu-keyring && sudo aptitude update
sudo aptitude install googleearth-4.3

Install Acrobat reader

To install acrobat reader, since Ubuntu's native PDF readers don't have shrink to fit when printing. :

sudo aptitude install acroread

(this uses medibuntu, from the Google Earth step above).

To change the default file handling for PDF's all I had to do was find a PDF, right click, select Properties, click the Open With tab and select Adobe Acrobat Reader from the options.

Also need to do this:

sudo nano /usr/share/applications/defaults.list 

And change this:


Install Opera

To install and configure opera (since it's useful for testing web pages to be able to check behaviour, and it's useful to have another browser around sometimes), do the following:

sudo nano /etc/apt/sources.list

... and add these two lines:

# For latest stable opera:
deb http://deb.opera.com/opera/ stable non-free
  • Then do:
sudo wget -O - http://deb.opera.com/archive.key | sudo apt-key add -
sudo aptitude update
sudo aptitude install opera
  • Then run opera - Applications -> Internet -> Opera
  • Right-click on the tab bar, select Customise -> Toolbars tab -> change the "wrapping" setting to "Wrap to multiple lines".

Enable Apport for crash bug reporting

Enable apport so that crash bugs will be reported and logged:

sudo nano /etc/default/apport

change enabled from "0" to "1".

Crashes will then be logged to /var/crash/

Configure Open Office to work in MS Office 2000 compatibility mode

Source of instructions.

  • Start OpenOffice Writer -> tools -> options -> Load/Save -> general -> For document type = "Text document", set Always save as "Microsoft Word 97/2000/XP" (instead of "ODF text document"); For Document type = "Spreadsheet", set Always save as "Microsoft Excel 97/2000/XP"; For Document type = "Presentation", set Always save as "Microsoft PowerPoint 97/2000/XP".
  • Then tools -> options -> OpenOffice.org Writer -> compatibility -> tick "Use printer metrics for document formatting", tick "Do not add leading (extra space) between lines of text", and tick "Consider wrapping style when positioning objects". Then go: Use as Default -> Yes -> OK.

Set up Australian dictionaries in Open Office

Source of instructions - these instructions assumed Canadian English, but the same bug applies to Australian English too.

wget http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries/en_AU.zip
unzip en_AU.zip
sudo mv en_AU.* /usr/share/myspell/dicts
cd /usr/share/myspell/dicts/
sudo chown root:root en_AU.*
sudo ln -s en_AU.aff en-AU.aff
sudo ln -s en_AU.dic en-AU.dic
sudo vi /etc/openoffice/dictionary.lst

Add the following line to the end of the file:

DICT en AU en_AU

Evolution turn off new email notifications

  • Evolution -> Edit -> Plugins -> Uncheck "Mail Notification" plugin.

Set up SSH keys

For each machine you want to have password-less SSH login to, do:

ssh-copy-id -i ~/.ssh/id_dsa.pub machine1

Automounting remote file systems using SSHFS

For a remote Linux system, can automount with autofs + sshfs. Follow the guides here and here.

Debug any problems with:

tail --lines=0 -f /var/log/*

Optional: Install Chromium pre-alpha daily builds

Firefox is currently vastly better as a daily browser, but if you want to play with the native pre-alpha port of Google's Chrome browser just to see how it's going and to use for testing, you can install the pre-alpha daily builds of Chromium easily by following these directions. You probably also want to add the key for this PPA to your system, following these directions about adding their key to your system, so that you don't get lots of prompts every day when there is an update about "do you want to install unauthenticated packages?".

Optional: Setting up UPS monitoring

Note: Only needed if you have a UPS that you want to montior, and a data cable collecting it to your machine.

Follow these blog instructions for setting up NUT (NUT = network UPS tool).

I was setting this machine up to monitor two UPSes, so the only differences were that my /etc/nut/ups.conf file looked like this:

driver = megatec_usb
port = auto
desc = "UPSONIC DS-800 UPS"

driver = usbhid-ups
port = auto
desc = "APC BackUPS ES 500"

... and my /etc/nut/upsmon.conf file had two monitor lines:

MONITOR APC-BackUPS-ES-500@localhost 1 nickj test master
MONITOR UPSONIC-DS800@localhost 1 nickj test master

... other than that it was all as per the blog post.

Optional: Enable collection monitoring, including web interface

Commands as follows to install collectd and set up a web interface:

sudo aptitude install collectd librrds-perl lm-sensors
sudo nano /etc/collectd/collectd.conf 
# Uncomment sensors, and nut (if you have a UPS and configured NUT in the above step). Note: Nut in Ubuntu prior to 9.04 has a bug so that NUT data won't be visible on AMD64 using collectd
sudo /etc/init.d/collectd restart
# The location of your webroot may differ - the below line is appropriate for my configuration, but modify as needed:
cd /var/www/hosts/
sudo mkdir bling-collectd
cd bling-collectd
cp /usr/share/doc/collectd/examples/collection.cgi.gz .
sudo gunzip collection.cgi.gz 
sudo chown www-data.www-data collection.cgi .

For the script to work, your apache config will need the AddHandler line for .cgi files, and also "Options +ExecCGI" for the relevant directory. You should get some basic graphs at the appropriate URL, e.g.: http://bling-collectd/collection.cgi

If you want to also monitor hddtemp using the hddtemp daemon, then do this. Personally, I find the some of the "Sensors" output to be far more accurate than the hddtemp output for monitoring system temp:

sudo aptitude install hddtemp
# yes to install hddtemp as a daemon
sudo dpkg-reconfigure hddtemp
* yes suid
* 30 seconds between checks
* Should the hddtemp daemon be started at boot?     yes
* Interface to listen on:
# then enable the hddtemp module by editing this file:
 sudo nano /etc/collectd/collectd.conf

If you want to also monitor uptime, and S.M.A.R.T. errors using smartmontools, then do this:

sudo nano /etc/collectd/exec.sh and paste in the following:

while true
	TEMP=`awk '{ print $1/(60*60*24); }' /proc/uptime`
        if [ $? -ne 0 ]
        echo "PUTVAL $HOST/exec-uptime/charge-uptime interval=$INTERVAL N:$TEMP"

	TEMP=$((sudo smartctl -d ata -A /dev/sda | grep Offline_Uncorrectable | awk '{ print $10; }') 2>/dev/null);
	if [ $? -ne 0 ]
	echo "PUTVAL $HOST/exec-smartmon/charge-offline_uncorrectable interval=$INTERVAL N:$TEMP"

	sleep $INTERVAL

.... then do sudo visudo and add these two lines to the end:

Cmnd_Alias      SMARTCTL = /usr/sbin/smartctl -d ata -A /dev/sda
nobody   ALL = (root) NOPASSWD: SMARTCTL

... then sudo nano /etc/colllectd/collectd.conf and load the exec module, and make the exec plugin section look like this:

<Plugin exec>
       Exec "nobody" "/etc/collectd/exec.sh"

.... the above will give you a graph of days uptime, and number of uncorrectable SMART errors. Note that the y axis will be wrong (will be mislabeled as "charge" in "Ah", when for the uptime graph it will be number of days, and for the smartmon graph it will be number of uncorrectable errors), but the information is otherwise correct.

Optional: Install Internet Explorer 6

Note: This results in IE6 installed, but for me it is very flakey and crashes easily. It might be useful for infrequent testing web sites without having to use a Windows box, but is not suitable for regular use. You have been warned. Source of instructions.

sudo aptitude install wine cabextract binfmt-support
cd ~/tmp # replace as appropriate with your perferred directory for saving downloaded files
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar xvfz ies4linux-latest.tar.gz
cd ies4linux-*

Personal config: At this stage, I only have IE6 ticked, tick both the "desktop" box and tick the "menu" box (can get a segfault if you don't do this), click "advanced", and go set the bin folder location to "~/bin/win32", and set the downloads location to "~/downloads/browser", click OK, click OK again.