Installing and configuring Ubuntu GNU/Linux on the Fujitsu Lifebook T580

i installed Ubuntu 10.10 (maverick meerkat) onto my T580.

please note that this page is meant as notes to myself as well as a tutorial for you, so at times I include notes on setting up stuff that not many other people will be interested in.

Aside: review

For my review of the Fujitsu T580, please see Self:tips-computer-fujitsuT580-review.

What works so far with Ubuntu GNU/Linux


Doesn't work yet:

Aside: some specs

See some technical specs for my machine, including lsusb output.

Aside: user-replacable parts and swapping the hard drive

The user-accessible panels on the bottom hide the fan, the memory chips, and the wireless card. One of the panels (on the side) exposes part of the hard drive. You just unscrew the two screws holding the panel on, and take it off, then yank the hard drive out (it's stuck in there pretty good --- do this at your own risk).

After buying the computer, I called Fujitsu tech support to ask them how to remove the hard drive. They wouldn't tell me, but they said that I could ask my local Fujitsu authorized service provider (they told me who it is) to swap the hard drive, and it would be free (covered under warrenty). They provided me with a case number to give the service provider. I don't know if they do this for everyone, or if the person I got on the phone was especially generous. So maybe you won't even have to do it yourself.

The screws require a Philips 00 size screwdriver. The screws with little screw icon next to them are shorter.

Downloading Ubuntu onto a USB stick

i downloaded a Ubuntu AMD64 desktop edition ISO from the Ubuntu site, downloaded unetbootin, and used unetbootin to create a bootable USB stick.

Booting and partitioning

i went into the BIOS and changed the boot order so that USB drives were bootable and would be first. (todo: add more detail about this step).

I swapped out the hard drive that came with the T580 and replaced it with a

Then i followed the instructions at [1].

Installing Ubuntu

Now doubleclick on the Install Ubuntu 10.10 icon.

I plugged in an ethernet cable, and doubleclicked on the icon to install Ubuntu.

Select English, click Forward

Download updates while installing

Install 3rd party software

Click Forward

The window says Allocate drive space. Choose Specify partitions manually (advanced)

Doubleclick on /dev/sda1 (the ext4 partition). Change "use as" to "Ext4 journaling file system". Change "mount point" to "/".

Click "Install now". You'll get a warning that stuff on /dev/sda1 will be deleted. Click Continue.

The screen asks for your time zone. Choose it. It asks for your keyboard layout. Choose it.


ASAP after installing, you should go to System->Administration->Update manager and install updates. Some of the updates are probably security updates, which should be installed ASAP.

note: to get to a terminal

To get to a terminal, Applications->Accessories->Terminal

note: aptitude instead of apt

I prefer "aptitude" to "apt-get" because it keeps track of which dependencies were installed automatically (unless this capability has also been added to apt-get, which is possible). Ubuntu doesn't install aptitude by default, so if you want to use it, you'll have to "sudo apt-get aptitude" first. In the instructions below, sometimes i say "apt-get install" and sometimes "aptitude install". In all cases below, either one will work. What i actually used (and what i recommend) is aptitude. Also, you'll have to use "sudo" in front of these commands; sometimes i may have omitted the "sudo".

note: sudo -i

if you want to avoid typing "sudo" all the time, type "sudo -i". I think this logs you in as root (much like the "su" command on some other systems).


cntl-alt-del, or power btn, brings up a menu. select "suspend". suspend works. sometimes you have to ctrl-alt-F1, ctrl-alt-F7 upon resume


by default, hibernate doesn't work. an error is sometimes shown, but i don't think this is the problem, because in some circumstances it isn't shown, but hibernate fails nevertheless:

btusb_bulk_complete: hci0 urb ???????????????? failed to resubmit (1)

(the ???s are different every time)

the way it fails is that a cursor appears on a blank screen, or this error message (or many of them) appear on an otherwise blank screen. The disk light goes on once or twice. Then the computer freezes.

Here is the fix. Install uswsusp:

sudo apt-get install uswsusp

Edit /etc/pm/config.d/00sleep_module with a text editor. Change the line setting SLEEP_MODULE to:

Add the following file at /etc/pm/config.d/00sleep_module:

  1. The sleep/wake system to use. Valid values are:
  2. kernel The built-in kernel suspend/resume support.
  3. Use this if nothing else is supported on your system.
  4. uswsusp If your system has support for the userspace
  5. suspend programs (s2ram/s2disk/s2both), then use this.
  6. tuxonice If your system has support for tuxonice, use this.
  7. The system defaults to "kernel" if this is commented out. SLEEP_MODULE="uswsusp"


Now hibernate works sometimes. It works for me when the computer is not plugged in to my external monitor and ethernet and power cord. I think it works when it's plugged into those too, but it takes longer. It doesn't work when it's plugged into all of those plus my USB docking station (which connects it to my zillion USB input devices).

external monitor

I have this hooked into a Dell U2410 24" external monitor, in vertical configuration. It works. I use Preferences->Monitors to tell the computer to turn off the internal laptop screen, set the external monitor to the maximum, and set the orientation to "Left".

note: when the laptop lid is closed or open, this still causes the monitors setting to reset to both screens mirroring the same image, in Normal orientation, ignoring whatever state you saved in the Preferences->Monitors control panel. I dunno where the code is which is triggered when this happens.

Targus ACP51USZ docking station with video

sudo aptitude install xserver-xorg-video-displaylink

doesnt work yet


things to try:

n-trig multitouch touchscreen and pen


they're working on it tho:


once they fix it:

might have to sudo add-apt-repository ppa:utouch-team/utouch ?

sudo aptitude install utouch input-utils sudo aptitude install utouch input-utils hid-ntrig-dkms

mb try these once thy fix it:


worked fine. the internal speakers and mic worked, and also my headset mic, which has a USB sound device to input to the computer, worked. Use Preferences->Sound to configure (i.e. to choose between internal and external sound devices -- you may also need to "unmute" the mic). i haven't tested the speaker and mic in the Targus ACP51USZ docking station yet, but I see a third device (in addition to the internal speaker/mic and the headset's USB ones), so that's probably it, and it'll probably work.


works fine, no configuration needed. i tested it with "cheese"

misc system-independent performance improvements


sudo aptitude install preload

in /etc/preload.conf : mapprefix = /usr/;/lib;/var/cache/;/home;!/

not sure if preload is useful on Ubuntu since it has its own preload-y stuff. i use it because i'm guessing that the built-in stuff doesn't handle desktop applications, but i'm not sure.

(thanks to [3])

power management

System -> Preferences -> Power management

On AC Power tab:

On Battery Power tab:

(thanks to [4])

enable some sysadmin menus

" The Software Sources have been hidden in the menu Ubuntu 10.10 You can enable them again by doing the following

mount /tmp on tmpfs

Apparently tmpfs is like a ramdisk, but if you run out of physical memory, it can use swap, too.

in /etc/fstab:

tmpfs           /tmp            tmpfs   defaults,noatime,mode=1777,size=12G      0       0

i tried to set /dev/shm to be bigger too using /etc/default/tmpfs but it didn't seem to do anything:

sudo vi /etc/default/tmpfs :

SHM_SIZE=15032385536      # 24 GiB = all of our memory + all of our swap + 8 GiB
  #doesnt seem to have an effect

(thanks to [6], [7])


I added the line "vm.swapiness=0", which tells the system not to use the swap unless it is actually out of memory. The swap is only there for hibernation, or in case its really needed. [8]

I would have used vm.swapiness=10, but I think 0 is better for an SSD, because you don't want to burn it out with spapping.

window manager prefs

Note: some of this may be a waste of time, see

After installing compizconfig-settings-manager, run it and go to General->General Settings->Desktop Size and set Horizontal Virtual Size to 5 and Vertical Virtual Size to 2. In Desktop->Desktop Wall->Viewpoint Switch Preview, deselect Show Viewport Switcher Preview. In Viewport Switching, set Wall Sliding Duration to 0 and Allow Wrap-Around. In Edge Flipping, select both of Move, Dnd (drag and drop). I left Pointer Edge Flipping disabled, it was too hard for me to avoid edge flipping while i was scrolling.

Disable the Fading Windows and the Animations plugins.

In Preferencs->Keyboard Shortcuts, set Switch to Workspace N to Ctrl-N for N from 1-10

Preferences->Appearance, change Theme to Clearlooks

In a Gnome Terminal, Edit->Profile Preferences->Colors, uncheck Use colors from system theme, select White on Black

I'd like to have a clean, readable, cheerful theme that has all text areas by default use white on black, but i can't find one. the popular ones that do this seem to try to be goth/edgy/stylish rather than clean and easy to read. i'm sure there is one somewhere though. If you want to look around, maybe these sites have stuff:, (selecting GTK 2.x?), .

Install "desktopnova" (sudo apt-get install desktopnova) and add the wallpapers folder using "add folder", then in Settings, "Change wallpaper every launch", "Launch daemon every session", click Modules, enable the Gnome 0.2 module.

Rightclick on desktop, "change desktop background", set to "scale" and set background color to black (#000000)

Preferences->Windows->Select windows as mouse moves over them, raise automatically with a delay of 2 seconds

In a Gnome terminal, go to Edit->keyboard shortcuts, select Help->Contents (by default bound to F1), and type backspace to unbind it. I do this because some applications (notably mutt) offer their own help when you press F1.

Programs that automatically appear at startup

Note that session saving is being removed from Ubuntu 11.04 (natty) (see ), so there's not much point bothering to configure it. I think this is a shame because session saving provided a convenient way for me to place various application on various virtual workspaces (I like to have Firefox, an emacs server, and 5 shells each in a separate virtual workspace, each maximized), save that configuration, and then have it appear at each startup. This can be done using devilspie (possibly in conjunction with the gdevilspie GUI frontend to devilspie), but it's more of a pain and probably difficult for non-experts to understand. Nevertheless, that's what I did.

First, I used Preferences->Startup Applications to configure a list of applications that I want to start automatically:

Here are the entries in my .devilspie. Some notes on using devilspie with compiz (the default Ubuntu window manager): (a) you have to use "set_viewport" instead of "set_workspace" (thanks to [9] (b) you can only place windows on viewports in the first row (i.e highest vertical position) (see ).

Compiz's Place Windows can't be used instead of Devilspie because Compiz doesnt seem to Place Windows that are opened in Starting Applications ( ).


Preferences->Keyboard->Accessibility, check Simulate simultaneous keypresses, uncheck Disable stick keys if two keys are pressed together.

My modified Colemak layout

I use a variant of the Colemak keyboard layout, an alternative to QWERTY that seems to me to be both more ergonomic and more efficen. Although I recommend it, I'm guessing that most readers won't want to switch their keyboard layout and most of the remainder will want to just use standard Colemak, so most people will want to skip this subsection.

Preferences->Keyboard->Layoutsm Add.., by language, English, USA Colemak. Move Up, select the old default layout and Remove the default layout. Options..., CapsLock? key behavior, Make CapsLock? an additional ESC. Key to choose 3rd level, none (deselect all)

To swap parentheses and braces, put the following in your .Xmodmap (thanks [10] -- i had had this idea independently, but e supplied the xmodmap recipe) (i put it in .xmodmap instead of .Xmodmap, it worked):

keysym bracketleft = parenleft braceleft
keysym bracketright = parenright braceright
keysym 9 = 9 bracketleft
keysym 0 = 0 bracketright

Next time you login, you'll get Gnome's "Load modmap files" dialog. Move .Xmodmap to the Load side, then exit the dialog, leaving the don't-show-this-again box checked.


To remove the need to enter your password in order to connect to wireless network, Preferences->Passwords and Encryption keys, first tab (Passwords). Right click on the entry "Passwords: login", select Change Password, and change it to blank. There is an insecurity warning for you to accept. (thanks to [11])

To remove the need to login at boot, Administration -> Login Screen Settings, unlock it, and enable Log in as ____ automatically (thanks to [12])

To make the screen stop prompting for a password upon resume from suspend:

gconftool-2 --type boolean -s /apps/gnome-power-manager/lock/use_screensaver_settings false
gconftool-2 --type boolean -s /apps/gnome-power-manager/lock/hibernate false
gconftool-2 --type boolean -s /apps/gnome-power-manager/lock/suspend false
gconftool-2 --type boolean -s /desktop/gnome/lockdown/disable_lock_screen true


firefox 4

sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa && sudo apt-get update
sudo apt-get install firefox-4.0

now it's in applications/internet/minefield

Now, what i actually did was a little different. I temporarily enabled the natty repos in /etc/apt/sources.list (by adding the line "deb maverick main restricted"), then i ran "sudo aptitude update; sudo aptitude install firefox" to upgrade Ubuntu's primary Firebox to a 4.0 beta. Then i took out the line that i had added to /etc/apt/sources.list and ran "sudo aptitude update" again, to prevent any other natty packages from being installed in the future. But I don't recommend doing that unless you know what you're doing.


Go to about:config

Type in services.sync.log.appender.debugLog.enabled (case matters!)

Set it to true

Restart Firefox

This will allow you to monitor your initial sync so that you know when it is done.

Now do Tools->Set up sync

After your initial sync is successful, go back to about:config and set services.sync.log.appender.debugLog.enabled to false again.


Install add-on compatibility reporter if you want to use the old, "incompatible" versions of addons with a newer firefox. Currently I use this to be able to use Delicious.

I listed the addons I like here: . Other firefox tips are here:

misc programs

sudo apt-get install aptitude sudo aptitude install emacs unison ipython wmctrl xkbset iotop devilspie mutt wallpaper-tray compizconfig-settings-manager desktopnova libgetopt-declare-perl texlive-full xpdf mercurial git subversion cvs bzr ack-grep python-scipy octave python-matplotlib qiv python-setuptools ssh offlineimap postfix mutt-patched skype atop

  1. ia32-libs ia32-libs-gtk ia32-libs-sdl seem to be already included
  2. python-mode, ipython is required for my .emacs?
  3. wmctrl is req'd for my emacsclient invocation scripts
  4. libgetopt-declare-perl for easylatex

stuff that probably really is just for me

Link my running instance of EasyLatex to my development instance:

ln -s prog/easylatex/easylatex/easylatex .easylatex

Install WikiGateway:

sudo aptitude install python-setuptools python-feedparser python-mechanize # required by wikigateway
cd prog/wikigateway/libraries/pythonModule/
python install


ddclient maps my dyndns dynamic dns domain name to my dynamically assigned IP address

sudo aptitude install ddclient

copy over /etc/ddclient.conf from previous computer

in /etc/default/ddclient: run_daemon=true


sudo apt-get install ssh

in /etc/ssh/sshd_config add :

Port xxxx [where xxxx is a port that the router sends to my computer]

(thanks to [13])


sudo aptitude install pdnsd

edit /usr/share/pdnsd/pdnsd-resolvconf.conf appropriately



sudo aptitude install offlineimap

for syncing email with an IMAP server -- i use gmail.

here's my .offlineimap. I did mkdir -p Mail Mail/mygmail to get the directory ready for offlineimap.

To add a cron job that calls offlineimap every 3 mintues, I did crontab -e and then added this line:

*/3 * * * * offlineimap -o -u Noninteractive.Quiet

note: to import an existing Maildir folder into Gmail with this setup, you must not only move it into the mygmail folder, but you must also "create new label" in the Gmail web interface, and then sync.


for sending email to an SMTP server -- i use gmail. postfix will also queue up email and i believe it will automatically send it later if you are offline when you try to send it.

sudo aptitude install postfix

in the configuration questions that come up, i left the defaults, except for:

i used this method to configure it so that it will send using different gmail accounts depending on what the "from:" address is in the message i'm sending: and

i secured passwd by doing:

chmod 600 /etc/postfix/passwd
postmap /etc/postfix/passwd

i imported the thawte certificate by doing:

cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem
/etc/init.d/postfix reload

i dunno if this is necessary, but i also edited /etc/aliases to alias postmaster to my user account, and then ran postalias /etc/aliases

TLS certificate notes

note: there are TLS cert warnings b/c Google's TLS cert doesn't match what we gave it ("Mar 4 02:17:38 bshanks postfix/smtp[19962]: certificate verification failed for[]:587: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority"). the mail still seems to go thru. i think this is because we setup a thawte certificate, and now google uses equifax.

if you wanna do the certs the right way, i guess you have to do:

further reading about postfix

note: to see what is in postfix's outgoing mail queue, run postqueue -p. To flush the queue, postqueue -f.

see also

if you wanna understand postfix, here's a picture:


test cron error mail

mutt (the client program for actually reading and sending email

sudo aptitude install mutt-patched wmctrl

heres's my .muttrc. (todo: add non-private files from my .muttrc.d directory)

touch .muttrc-local .muttrc-local-pre # required for my .muttrc

it calls myemacsclient, which calls myemacsclient_graphical, which uses wmctrl to switch to compiz viewport 2 (where i keep my emacsserver running) and then calls emacsclient.

i also put this in my .emacs (i use viper via viperre):

" (defun my-mutt-buffer-init () (text-mode) (auto-fill-mode) (viper-change-state-to-insert) (forward-paragraph) (next-line) )

(add-to-list 'auto-mode-alist '("/tmp/mutt-*" . my-mutt-buffer-init)) "

(thanks to [14], [15], [16], [17], [18], [19], [20]) tells you how to use gnome-keyring to store the offlineimap passwords, encrypted. sudo apt-get install python-gnomekeyring. startup applications: /usr/bin/gnome-keyring-daemon (with no args; the existing entry isn't good enough). doesn't work for me, though, at least not running from cron.


Administration->Update Manager, go into Settings, Other Software tab, and enable the Canonical Partners tab. Agree to reload. Now sudo apt-get install skype.

works ok, no configuration needed, but at nighttime, the picture from the webcam is dark, much darker than with "cheese". see bug .


heres's my .emacs.

touch .emacs-local #required for my .emacs

todo: put up my .emacs.d


heres's my .bashrc.

touch .bashrc-local #required for my .bashrc

todo: check out bashrc ubuntu default

notes on 11.04 (natty)

as of alpha 2, near the end of february: kernel 2.6.38-5 crashes when using an external monitor; you can use natty, but use the 2.6.35 kernel from maverick (10.10). do this by manually adding the line "deb maverick main restricted" to /etc/apt/sources.list, then doing sudo aptitude, updating, and removing package linux-image-2.6.38-5-generic, which is in "admin".

hopefully this will be fixed before natty is released (bug: )

other things i copied from my previous computer

for my own reference

if i am doing traffic shaping, remember to do 'tc qdisc del dev eth1 ingress' and 'tc qdisc del dev eth1 root' first so that you get full LAN bandwidth.

i used unison to sync the "l2" profile.

and used scp to copy:


go thru instrs from and , see if i forgot anything


test work email