Ubuntu desktop setup steps
Ubuntu 10.04 LTS desktop setup steps for an AMD64 system. Almost all of these instructions will also work on 8.04 LTS, 8.10, 9.04, and 9.10, as these instructions were originally for those versions, and should mostly work on an x86 system too:
- 1 Pre-installation standard hardware test procedure
- 2 Installation
- 3 Tweaks and Preferences
- 4 Firefox configuration steps
- 5 Firefox Add-ons
- 6 Firefox Tweaks
- 7 Installation of extra software
- 8 Configure "Microsoft Natural Ergonomic 4000 Keyboard"
- 9 Custom Key Bindings, aimed at "Microsoft Natural Ergonomic 4000 Keyboard"
- 10 Install Skype
- 11 Install the Tahoma fonts
- 12 Install Flash on AMD64
- 13 Install Google Earth
- 14 Install Acrobat reader
- 15 Install Opera
- 16 Enable Apport for crash bug reporting
- 17 Configure Open Office to work in MS Office 2000 compatibility mode
- 18 Set up Australian dictionaries in Open Office
- 19 Evolution configuration
- 20 Set up SSH keys and KeepAlive Interval
- 21 Automounting remote file systems using SSHFS
- 22 Ubuntu 9.04 tweaks
- 23 Ubuntu 9.10 tweaks
- 24 Ubuntu 10.04 tweaks
- 25 Install Chromium beta daily builds
Pre-installation standard hardware test procedure
Before installing or configuring any software, it is imperative to test the hardware beforehand, to establish that it is not provably broken:
- Download the ISOs for System Rescue CD and Ultimate Boot CD and burn these.
- From either CD, run Memtest86+ on the machine overnight, to test that the CPU and memory are error-free.
- From UBCD, run a CPU stress test for 5 to 10 minutes to check CPU is reliable and adequately cooled.
- From Sys Rescue CD, check for bad blocks on the hard drive, before trusting it with any data:
badblocks -v -s -w -c 4096 /dev/sda
Note however that badblocks is quite a slow test - e.g. took 34 hours on a 500 GB SATA disk in an external USB enclosure, and 17 hours on a 250 GB IDE disk.
It's also a destructive write test, and so will blank the disk, so make sure you have the right device (use
fdisk -luto confirm the device's size and name).
Successful output will look something like this:
Checking for bad blocks in read-write mode From block 0 to 244198583 Testing with pattern 0xaa: done Reading and comparing: done Testing with pattern 0x55: done Reading and comparing: done Testing with pattern 0xff: done Reading and comparing: done Testing with pattern 0x00: done Reading and comparing: done Pass completed, 0 bad blocks found.
If problems are found with any of the above, resolve these first before proceeding further.
- Firstly, decide whether you want software RAID or not. Personally, I use RAID-1 mirroring of a single bootable partition, using 2 same-sized disks, from 2 different manufacturers, because:
- it's simple.
- it's redundant enough.
- it's cheap: the incremental cost is the cost of a single disk, which is less than $100.
- you can boot off of it.
- it's not a question of if a disk will fail, but when.
- For software RAID, install from the Alternate Installation CD. You can always convert to RAID-1 later, but it's significantly more faffing about than setting it up this way from the get-go.
- Once you've done the above, download and burn either the standard or alternate Ubuntu install CD, as appropriate.
- 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 & up, this setting has moved, and is now under: System -> Preferences -> Startup Application Preferences -> options -> tick "automatically remember running applications when logging out".
- 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.
- Gedit -> Edit -> Preferences -> "Editor" tab -> tick "autosave" files every 2 minutes.
- Gedit -> Edit -> Preferences -> "Plugins" tab -> tick "Sort" to enable the sort plugin -> Close. Can now highlight text and go Edit -> Sort to get it alphabetically sorted.
Firefox configuration steps
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
- 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
- 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.
- xchat # IRC client.
- ttf-mscorefonts-installer ttf-linux-libertine ttf-inconsolata # The most useful font sets. See also the "Install the Tahoma fonts" section below.
- audacious # Like XMMS or Winamp
- nmap # Check for open ports.
- filezilla # GUI FTP client.
- 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 php5-gd php5-curl # Only useful if you want to write scripts in PHP.
- 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.
- tofrodos # Convert line endings from dos to UNIX or vice-versa.
- libxml2-dev libmysqlclient-dev # Optional: Only used for compiling PHP snapshots
- eclipse sun-java6-jdk sun-java6-jre sun-java6-plugin libmysql-java junit junit-doc # Optional: Java development using Eclipse + java plugins for Firefox
- sysinfo # Kind of like device manager on Windows. Shows CPU / memory / hard disk installed, some hardware that has been detected, etc.
- autofs smbfs smbclient
- 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.
- pinfo # Much nicer UI than man or info for reading documentation.
- vlc mozilla-plugin-vlc
- avidemux # Useful for replacing audio tracks in video files.
- indent # Useful for auto-indenting code.
- smartmontools smart-notifier # S.M.A.R.T. hard disk monitoring tools.
- ddrescue # Useful for recovering data from failing hard disks.
- gimp-resynthesizer # A nifty plugin for gimp for repairing images or filling in content intelligently. Ignore if you don't use gimp.
- qpdf # Useful for removing password from PDF files, as per this guide.
- hardinfo # Generates a hardware report and benchmark for the system; can also run in command line mode by doing:
hardinfo -r -f html > report.html
- gtkvncviewer # Nice VNC client.
- renameutils # Useful for bulk renaming of files. Example for renaming all .JPG files in a directory to .jpg (lowercase) is:
rename s/JPG$/jpg/ *
- meld # Good GUI for comparing two files, e.g. two log files.
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 click the "add" button, and add the following custom keyboard shortcuts:
- Name is "take screenshot", command is "gnome-screenshot --window --interactive". Set the "3" favourite key to run this.
- Name is "text editor", command is "/usr/bin/gedit --new-document" (i.e. run a text editor). Set the "4" favourite key to run this.
From the command line, run "
software-center" -> Skype -> More Info -> Install.
Then to make the right-click menus legible with Ubuntu's dark theme, do as follows:
- Applications -> Internet -> Skype -> single-click on the skype icon in the top right to open skype -> Ctrl-O to open options -> "general" -> Choose Style: "Desktop settings" -> close.
- Single click on skype icon to open skype again -> Ctrl-Q to close.
- Now restart skype by going Applications -> Internet -> Skype, and the right-click menus will be readable.
Install the Tahoma fonts
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 on AMD64
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, script from those instructions is below:
#!/bin/bash # Script created by # Romeo-Adrian Cioaba echo "Stopping any Firefox that might be running" sudo killall -9 firefox echo "Removing any other flash plugin previously installed:" sudo aptitude remove -y --purge flashplugin-nonfree gnash gnash-common mozilla-plugin-gnash swfdec-mozilla libflashsupport nspluginwrapper sudo rm -f /usr/lib/mozilla/plugins/*flash* sudo rm -f ~/.mozilla/plugins/*flash* sudo rm -f /usr/lib/firefox/plugins/*flash* sudo rm -f /usr/lib/firefox-addons/plugins/*flash* sudo rm -rfd /usr/lib/nspluginwrapper echo "Installing Flash Player 10" cd ~ wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.42.34.linux-x86_64.so.tar.gz tar zxvf libflashplayer-10.0.42.34.linux-x86_64.so.tar.gz sudo cp libflashplayer.so /usr/lib/mozilla/plugins/ echo "Linking the libraries so Firefox and apps depending on XULRunner (vuze, liferea, rsswol) can find it." sudo ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/firefox-addons/plugins/ sudo ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/xulrunner-addons/plugins/ # now doing some cleaning up: sudo rm -rf libflashplayer.so sudo rm -rf libflashplayer-10.0.32.18.linux-x86_64.so.tar.gz # You can now restart firefox ;-)
Install Google Earth
sudo wget http://www.medibuntu.org/sources.list.d/intrepid.list --output-document=/etc/apt/sources.list.d/medibuntu.list sudo aptitude update && sudo aptitude install medibuntu-keyring && sudo aptitude update sudo aptitude install googleearth-4.3
... or follow the manual instructions on this page for a more recent version.
Install Acrobat reader
From the command line, run "
software-center", or go Applications -> Ubuntu Software Center, and then go: -> Canonical Partners -> Adobe Acrobat reader -> Install.
Then to tweak the display preferences of Acrobat Reader: Edit -> Preferences -> Page Display -> set "Zoom" to "Fit Page" -> Click "Ok".
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
- Start OpenOffice Word Process: Applications -> Office -> OpenOffice.org Word Processor -> tools -> options -> expand "Load/Save" -> select "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 click "OK".
- 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.
Note: When you upgrade between Ubuntu releases, you will probably need to repeat the first step, otherwise it will default back to saving in OpenOffice's formats by default.
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
- Turn off new email notifications: Evolution -> Edit -> Plugins -> Uncheck "Mail Notification" plugin.
Set up SSH keys and KeepAlive Interval
For each machine you want to have password-less SSH login to, do:
ssh-copy-id -i ~/.ssh/id_dsa.pub machine1
Also on some connections the SSH shell can close after a short timeout period. To keep connections option for longer, on the client side do,
sudo nano /etc/ssh/ssh_config and then add this line to send a keep-alive heartbeat every 60 seconds:
... there is also a corresponding "ClientAliveInterval 60" setting that can be added to /etc/ssh/sshd_config - although sometimes you only control the client side of the link, and so this is not possible.
Automounting remote file systems using SSHFS
Debug any problems with:
tail --lines=0 -f /var/log/*
Ubuntu 9.04 tweaks
These tweaks are only required for 9.04:
gconftool -s --type bool /apps/update-notifier/auto_launch false
(Source) To remove the 60 second delay on shutdown or logout, do this:
- Right-click on the panel power button icon on top-right of the screen -> Preferences -> Untick "Show confirm dialog for logout, shutdown and restart".
Only in Ubuntu 9.04:
sudo aptitude install firefox-3.5 firefox-3.5-gnome-support
Ubuntu 9.10 tweaks
Tweaks to Ubuntu 9.10 that I had to apply to get stuff working again, or configured how I like it:
1: Remove the 60 second delay on shutdown or logout. (Source).
2: For seeing details of SMART reporting for hard disks:
sudo aptitude install gsmartcontrol
3: system -> preferences -> appearance -> theme -> select "Dust".
4: Alt-F2, run gconf-editor , then toogle the GConf key /apps/eog/ui/disable_trash_confirmation to be ticked, to disable prompting for image deleting though Eye of Gnome (source).
5: Some third party entries in your sources.list were disabled. You can re-enable them after the upgrade with the 'software-properties' tool or your package manager.
sudo nano /etc/apt/sources.lst
.. then re-enable dropbox, chrome daily builds, etc, and apply those updates:
sudo aptitude update sudo aptitude upgrade
6: Setting MySQL back to utf8 mode:
sudo nano /etc/mysql/my.cnf
add under the "[mysqld]" section:
- open totem via Applications -> Sound & Video -> Movie Player
- open the preferences window via Edit -> Preferences
- select the Display tab
- click the Reset to Defaults button
8: Problem: Mplayer crashing regularly when changing video output mode, and also giving a "couldn't resolve name for AF_INET6:" error on URL playback. Workaround: ditch mplayer, as totem and VLC are suitable replacements:
sudo aptitude remove --purge mplayer
Ubuntu 10.04 tweaks
- system -> preferences -> appearance -> theme -> select "Ambiance".
- If images don't display in office documents: Start OpenOffice writer, and then go: Tools -> Options -> OpenOffice.org Writer -> View -> tick "Graphics and objects" -> click "Ok".
Install Chromium beta daily builds
Firefox is currently slightly better as a daily browser, but Chromium is improving rapidly. If you want to play with the native alpha port of Google's Chrome browser just to see how it's going, you can install the daily builds of Chromium quite easily by doing:
sudo add-apt-repository ppa:chromium-daily sudo aptitude update sudo aptitude install chromium-browser chromium-codecs-ffmpeg-nonfree chromium-codecs-ffmpeg-extra
Chrome Extensions to install:
Still waiting for these Chrome extensions as at July 2010:
- The equivalent of Tab Mix Plus. (still looking for this).
Things that aren't working quite right yet in Chromium on Linux:
- The backspace key should go back, or should be configurable for this. There is an extension that allows this, but it should probably be a preference in the base browser.
- Auto-updating of extensions. There is a way to do this from the extensions UI, but in Chromium it doesn't seem to do anything.
- Audio playback not working correctly - e.g. on this slide, get no audio after selecting a national anthem other than US (US works, other's don't). Possibly this issue or this issue.
- WebGL does not work on an old laptop, but does on a modern desktop. Could be that its hardware is just too old (or just not supported in 3D0, so that it won't work with OpenGL.
To enable most of the new features of Chromium, change the command line for starting chromium to be like this:
chromium-browser --enable-plugins --enable-greasemonkey --enable-user-scripts --enable-internal-flash --enable-extensions --enable-webgl %U