Today I re-installed Debian wheezy on my Toshiba netbook and realised how useful it might be to collate the hurdles into one tidy reference blog post (to save looking everything up next time).
This just covers everything I had to configure or work around to get a working setup.
Install & hardware issues
From linux, use dd to write your disk image onto a flash drive:
dd if=debian-wheezy-DI-rc1-amd64-netinst.iso of=/dev/sdX bs=4M
If you don’t know your flash drive device, then locate ‘Disk Utility’ or use sudo fdisk -l and choose the likely candidate.
Now boot up the netbook. If you’ve disabled the splash screen, then F12 will get you a boot menu and F2 will let you enable USB booting (if you don’t see the flash drive).
The installer gives you a warning about needing non-free firmware. You can safely ignore this, it’s just bluetooth.
When you get the option to, Install openssh. You will have graphics issues later, and your computer will be next to useless if you don’t have some way to log in.
Follow the installer as usual, and boot into the new system.
From GNOME, everything initially worked okay out of the box for me, but logging out would predictably corrupt the graphics like so:
Pro-tip(TM): Write down your IP address before this happens and follow the rest of the steps via ssh.
These steps on the Debian wiki suggest getting xserver-xorg-video-radeon and xserver-xorg-video-ati, but they are already installed (and xserver-xorg-video-radeonhd does not appear to exist in wheezy). The free firmware also didn’t work for me:
root@mikebook:~# apt-get install firmware-linux-free
So it looks like we need firmware-linux-nonfree, which means we need to allow non-free packages. Edit the end of each line in /etc/apt/sources.list to add contrib and non-free:
After this, update your package list, install the non-free firmware, and restart X (rebooting is shown here but not really necessary):
apt-get install firmware-linux-nonfree
Next time you log in, GNOME will report that it is running in full-bloat mode, which is a good sign. If you still have issues, then the output of lspci is what you need to google:
02:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV710 [Radeon HD 4350] (prog-if 00 [VGA controller])
Touchpad / two-finger scroll
The Laptop’s Synaptics touchpad will work just fine on the default settings. I only wrote this up because the version of XFCE in wheezy has no options for tapping, two-finger scroll, or other fancy things (unlike the screenshots on xfce.org).
GNOME will let you set up per-user mouse preferences, but these don’t affect gdm (the login screen), so you can’t tap the login buttons (how annoying!)
The solution is to configure the mouse using Xorg’s configuration. The Debian wiki page on the topic gives an example file to dump in /etc/X11/xorg.conf.d/. I swapped two values to get two-finger right-click:
Identifier "Touchpad" # required
MatchIsTouchpad "yes" # required
Driver "synaptics" # required
Option "MinSpeed" "0.5"
Option "MaxSpeed" "1.0"
Option "AccelFactor" "0.075"
Option "TapButton1" "1"
Option "TapButton2" "3" # multitouch
Option "TapButton3" "2" # multitouch
Option "VertTwoFingerScroll" "1" # multitouch
Option "HorizTwoFingerScroll" "1" # multitouch
Option "VertEdgeScroll" "1"
Option "CoastingSpeed" "8"
Option "CornerCoasting" "1"
Option "CircularScrolling" "1"
Option "CircScrollTrigger" "7"
Option "EdgeMotionUseAlways" "1"
Option "LBCornerButton" "8" # browser "back" btn
Option "RBCornerButton" "9" # browser "forward" btn
After saving this file, reboot or run killall Xorg as root.
I haven’t investigated this properly, but I would steer clear of suspend-to-RAM, and set your power settings to hibernate (ie suspend-to-disk) instead. This is one error you might get on wake (if you are lucky enough to get a display after it wakes):
This is not a kernel thing, as a no-X install can pm-suspend without issue.
By default, the user you create during the Debian setup is not in the sudo group. To change this:
adduser joebloggs sudo
You need to log out then again for this to affect your session.
Making XFCE more useable
XFCE was my desktop of choice, so at this point, you can either stop reading or run this:
apt-get install xfce4 xfce4-goodies
Because it runs GTK-2 and not GTK-3, GNOME apps will look ugly beside XFCE apps if you don’t choose settings which work well for both toolkits. I chose these ones but there are other good combinations:
- Window Manager -> Theme: Default-4.6
- Appearance -> Style: Anquita
If you use it, then you should open gnome-terminal now. It defaults to black-on-black under XFCE, which you will want to swap out for something less stupid.
Replacing Thunar with Nautilus
Thunar is great, but Nautilus is more familiar to me, and can easily be set up as the preferred file browser:
- Preferred Applications -> Utilities -> File Manager: Nautilus
Thunar will hold onto your desktop unless you remove it from Session and Startup (tab over to ‘Session’ and delete xfdesktop)
To tell Nautilus to handle the desktop, install gnome-tweak-tool, and check the box labelled ‘Have file manager handle the desktop’. Next time you start Nautilus, it will give you a working desktop.
XFCE has some very cool screensavers, but personally I think this part of desktop computing is a bit last-century:
- Settings -> Screensaver: Blank screen only
The program XScreenSaver itself is a bit of an eyesore. If you don’t like it, this forum post has some suggestions for alternatives.
Getting a calendar
The default clock on the panel is not clickable. Simply remove it and add the ‘DateTime’ widget — This can show a clock with a drop-down calendar, which is basically standard.
Getting ‘Print Screen’ to work
XFCE makes this super easy to set up (once you turn up this thread on google):
- Settings manager -> Keyboard -> Application shortcuts
Add a new shortcut to this command:
Then hit Print, and you should get this:
When you use an external monitor and switch off the laptop display, you can get stuck without a screen if you pull out the cable! The XFCE screen-switching app (mapped to Fn-F5 on my keyboard) is not really navigable by keyboard, so I added this shortcut as well:
The command xrandr --auto will switch on any connected monitor with a sane default resolution, fixing your display without rebooting.
Update 2013-03-15: I changed this to Shift+Alt+F5, because some programs use the above shortcut, rendering it useless when said programs have focus.