Ubuntu

I Love Lucy

Is het alweer een maand geleden dat ik nog een blogpost gedaan heb? Hmmm, rap mezelf eens een schop onder m'n kont geven. Wink Nose

Ubuntu Lucid Lynx komt er aan, en ik heb het risico genomen om nu al een upgrade te doen van 9.10 naar 10.04. Hey baby, take a walk on the wild side!

Eventjes dit intokkelen:

sudo do-release-upgrade -d

en een dik half uur later was de upgrade afgelopen.

In de known issues staat wel het volgende:
The fglrx binary driver for ATI video chipsets does not yet support the X server in Lucid. As a workaround, users should use the open source -ati driver instead. (506656)

Inderdaad, na reboot kreeg ik een waarschuwing van Xorg en werd mij een failsafe scherm voorgeschoteld. Nu heb ik 2 schermen, met verschillende afmetingen, en met een failsafe configuratie tonen ze alletwee hetzelfde beeld. Dat is dus niet de bedoeling.

Mijn oorspronkelijke xorg.conf was aangemaakt met de Catalyst Control Center voor ATI Radeon, fglrx-amdcccle, met vrij veel details (zie bijlage). Ik heb die radicaal verwijderd zodat Xorg automatisch zijn configuratie vaststelt. Beide schermen heb ik met behulp van lxrandr op hun maximale resolutie gezet: 1920x1080 en 1280x1024.
Het was mijn bedoeling om daarna de onderlinge positie van de verschillende schermen in te stellen met grandr, maar daar kreeg ik deze vriendelijke foutmelding:

User set screen size larger than max screen size

Oeps. De wijziging kan niet opgeslagen worden.

Geen probleem, Google is mijn beste vriend en zo kwam ik terecht op http://www.thinkwiki.org/wiki/Xorg_RandR_1.2. Met behulp van xrandr kan je op de console hetzelfde doen als met de gui-tool grandr.
Eerst vraag ik de informatie van mijn beeldschermen op:

amedee@fangorn:~$ xrandr -q
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 3200 x 2048
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 375mm x 301mm
   1280x1024      60.0*+   75.0  
   1024x768       75.0     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     59.9  
   720x400        70.1  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+   60.0  
   1440x900       59.9  
   1280x800       59.9  
   1152x864       75.0  
   1024x768       70.1     60.0  
   800x600        60.3     56.2  
   640x480        66.7     59.9  
   720x400        70.1

Daarna probeerde ik de schermen in te stellen:

amedee@fangorn:~$ xrandr --output VGA-0 --auto --left-of DVI-0
xrandr: screen cannot be larger than 2048x2048 (desired size 3200x1024)

Hetzelfde probleem dus als met grandr, maar deze keer met wat meer details.

De oplossing was het aanmaken van een eenvoudige /etc/X11/xorg.conf met uitsluitend dit:

   Section "Screen"
       Identifier	"Default Screen"
       DefaultDepth	24
 
       SubSection "Display"
           Depth		24
           # ADD A VIRTUAL LINE TO PROVIDE FOR THE LARGEST SCREENS YOU WILL HOTPLUG 
           Virtual              3200 2048 
       EndSubSection
   EndSection

Na herstarten van X hadden grandr en xrandr geen probleem meer met de nieuwe ultrabrede desktop. Zie ook de screenshot in bijlage.

Voor de rest werkt Lucy perfect! Nose Smile

Mindmapping tool: freemind

Om snel nota's te structureren tijdens de les, gebruik ik graag mindmapping. Freemind is daar een handig programma voor.

Eerst moet er een repository toegevoegd worden om de laatste versie van Freemind binnen te trekken. Dit staat in /etc/apt/sources.list.d/freemind.list:

Helaas heb ik nog geen key gevonden voor deze repository, dus gaat die security waarschuwingen blijven geven. Als iemand daarvoor een oplossing weet? Laat maar weten in de comments. Dank bij voorbaat!

Daarna installatie van freemind en de freemind-plugins:

$ sudo aptitude update
$ sudo aptitude install freemind freemind-plugin-? javahelp2
Meer uitleg over de installatie op de website van Freemind.

Java development: Eclipse

Ik wil mijn netbook gebruiken voor Java development (voor avondschool) dus vliegt er nog een deftige ontwikkel-omgeving op: Eclipse.
$ sudo aptitude install sun-java6-jdk sun-java6-doc
$ sudo aptitude install eclipse
Helaas, het blijkt dat dit de hopeloos verouderde Eclipse versie 3.2 is. Dan zit er niets anders op dan nog een paar repositories bij te installeren:
$ sudo tee -a /etc/apt/sources.list.d/ppa.list
deb http://ppa.launchpad.net/eclipse-team/ppa/ubuntu intrepid main
deb http://ppa.launchpad.net/eclipse-team/ppa/ubuntu jaunty main
deb http://ppa.launchpad.net/yogarine/eclipse/ubuntu jaunty main
^C
$ sudo launchpad-update
$ sudo aptitude update
$ sudo aptitude safe-upgrade
(meer uitleg over launchpad-update)

Pfft... dan geeft Eclipse vieze foutmeldingen bij het opstarten. Foert, ik disable de extra repo's en uninstall Eclipse:

$ sudo aptitude purge eclipse
$ sudo aptitude update
Daarna download en installeer ik de versie van de website. Om eens speciaal te doen, deze keer geen http-download maar een torrent. Om aan te tonen dat dit ook bruikbaar is voor legale downloads. :-p
$ cd ~/downloads
$ rtorrent http://build.eclipse.org/technology/phoenix/torrents/java/eclipse-java-galileo-linux-gtk.tar.gz.torrent
$ tar -xvf eclipse-java-galileo-linux-gtk.tar.gz
$ mv eclipse ~
$ touch ~/bin/eclipse
$ chmod 755 ~/bin/eclipse
~/bin/eclipse is een dummy script dat ~/eclipse/eclipse opstart:
#!/bin/bash
exec ~/eclipse/eclipse 
exit 

Nu ga ik ook nog Eclipse instellen om JavaDocs te gebruiken. Zie ook http://edwin-chain.blogspot.com/2009/04/install-javadocs-and-setup-in-ec...
Het juiste pad in mijn geval is /usr/lib/jvm/java-6-sun-1.6.0.14/docs/api/

Bij de start van Eclipse wordt er gevraagd waar de workspace gezet moet worden. Ik heb die gezet in mijn Dropbox-directory, zodat de workspace automatisch gesynchroniseerd wordt.

Plaats vrijmaken op de SSD van de netbook

Mijn netbook heeft een solid state schijf van maar 8 GiB. Dat is echt niet veel, en daarom heb ik /home op een apart SDHC-kaartje gezet.
Maar er zijn nog veel meer manieren om plaats te besparen.
  1. Localepurge

    $ sudo aptitude install localepurge
    In de configuratie laat ik alleen nl_BE, nl_BE.UTF-8 en NL_BE@euro geselecteerd staan.
    De eerstvolgende keer dat ik sudo aptitude safe-upgrade draai, was dit de plaatsbesparing:
    localepurge: Disk space freed in /usr/share/locale: 33504K
    localepurge: Disk space freed in /usr/share/man: 3144K
     
    Total disk space freed by localepurge: 36648K
    Dus een kleine 36 MiB werd vrijgemaakt.
  2. Overbodige software verwijderen

    Het verwijderen van volgende (voor mij) overbodige pakketten leverde nog eens een plaatsbesparing van 144 MiB OP:
    $ sudo aptitude purge bsd-mailx casper cowsay dmsetup ~exim4 fglrx-modaliases figlet \
           gparted gworldclock irssi jfsutils linux-image-2.6.28-13-generic \
           linux-restricted-modules-2.6.28-13-generic mailx moc moc-ffmpeg-plugin mutt naim \
           newsbeuter ~ntfs ~nvidia parted reiserfsprogs remastersys-crunchbang-desktop-lite \
           ~ubiquity ufw usplash-theme-ubuntu wodim xfsprogs xserver-xorg-video-apm \
           xserver-xorg-video-ark xserver-xorg-video-ati xserver-xorg-video-chips \
           xserver-xorg-video-cirrus xserver-xorg-video-geode xserver-xorg-video-i128 \
           xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic \
           xserver-xorg-video-nv xserver-xorg-video-openchrome xserver-xorg-video-r128 \
           xserver-xorg-video-radeon xserver-xorg-video-rendition xserver-xorg-video-s3 \
           xserver-xorg-video-s3virge xserver-xorg-video-savage \
           xserver-xorg-video-siliconmotion xserver-xorg-video-sis xserver-xorg-video-sisusb \
           xserver-xorg-video-tdfx xserver-xorg-video-trident xserver-xorg-video-tseng \
           xserver-xorg-video-vmware xserver-xorg-video-voodoo

Tesamen is daarmee 180 MiB vrijgemaakt. Mooi, maar toch niet echt spectaculair veel.
In een van de volgende blogposts beschrijf ik een manier om volledig /usr van op een compressed filesystem te draaien.

Wie nog andere suggesties heeft om plaats te besparen, mag dat altijd laten weten in de comments.

Nederlandstalige interface voor Crunchbang

De interface van Crunchbang staat in het Engels. Omschakelen naar Nederlands doe ik met
$ sudo aptitude install language-pack-nl
$ sudo aptitude purge language-pack-en
Daarna moet /var/lib/locales/supported.d/local aangepast worden, zodat alleen NL blijft staan (de rest in commentaar). Vervolgens alle locales verwijderen en opnieuw genereren:
$ sudo locale-gen --purge

WiFi LED

Out-of-the-box werken de WiFi-LED en de WiFi-schakelaar van de Acer Aspire One niet op Ubuntu, maar die kunnen wel geactiveerd worden. Gevonden op https://help.ubuntu.com/community/AA1/Fixes
$ sudo aptitude install linux-backports-modules-jaunty
Rebooten om te testen.

Kleiner lettertype

Ik vind het lettertype op mijn netbook een beetje te groot. Oplossing: DPI wijzigen naar 96. Hoe? Door het aanpassen van /etc/X11/xorg.conf, zie https://help.ubuntu.com/community/AspireOne110L#Fonts
Section "Device"
	Identifier	"Configured Video Device"
	Option 		"NoDDC"
EndSection
 
Section "Monitor"
	Identifier	"Configured Monitor"
	DisplaySize 	195 113
EndSection
Ook voor de console wil ik een kleiner font. Oplossing: de framebuffer VGA-mode instellen. Zie ook Eerst kijken welke modes mijn scherm aan kan:
$ sudo aptitude install hwinfo
$ sudo hwinfo --framebuffer | grep "Mode 0x"
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+832), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
De hoogst mogelijke resolutie is dus 800x600, 24 bits, mode 0x0315. Dit hexadecimale getal moet nog omgezet worden naar decimaal:
$ sudo aptitude install gbase
$ gbase -h 315 | grep Dec
Dec: 789
Nu /boot/grub/menu.lst aanpassen:
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash vga=789
evenals /etc/usplash.conf (om de splash screen te centreren):
# Usplash configuration file
# These parameters will only apply after running update-initramfs.
 
#xres=1024
#yres=600
xres=800 
yres=600
Tenslotte grub en initramfs bijwerken:
$ sudo update-grub
$ sudo update-initramfs -k all -u
Daarna nog eens rebooten om te testen.

Stillere netbook

De ventilator van mijn netbook maakt net iets te veel geruis naar mijn goesting. Dat kan stiller, zoals beschreven op https://help.ubuntu.com/community/AspireOne110L#Fan%20Control
$ sudo aptitude install dmidecode
$ cd ~/download
$ wget http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl
$ wget http://electronpusher.org/~rachel/acerfand
$ chmod a+x acerfand
$ sudo cp acer_ec.pl acerfand /usr/local/bin/
Omdat ik bios versie 0.3309 heb, moet er nog een kleine aanpassing gemaakt worden in /usr/local/bin/acerfand:
BIOS_VERSION_3109="v0.3109"
BIOS_VERSION_3114="v0.3114"
BIOS_VERSION_3304="v0.3304"
BIOS_VERSION_3305="v0.3305"
BIOS_VERSION_3309="v0.3309"
BIOS_VERSION_3310="v0.3310"
 
...
 
case "$BIOS_VERSION" in
        "${BIOS_VERSION_3309}" | "${BIOS_VERSION_3310}")
                #change: handle 3309 seperate 0xAF -> 0x21
                R_FAN=55
                R_TEMP=58
                FAN_CMD_OFF=21
                FAN_CMD_AUTO=00
                RAW_FAN_STATE_OFF="0x21"
                ;;
Nu moet /usr/local/bin/acerfand alleen nog toegevoegd worden onderaan in /etc/rc.local, vlak boven exit 0.

Ik heb ook nog een bestandje /etc/acerfand.conf aangemaakt, hoewel dat strikt genomen niet echt nodig is:

INTERVAL=5
FANOFF=60
FANAUTO=70

Blueman

De standaard bluetooth software in Ubuntu zuigt harder dan een Dyson, ik heb liever blueman. Gelukkig zit die vanaf 9.10 (Karmic Koala) standaard in Ubuntu, maar in Jaunty dus nog niet. Dus voeg ik eerst de ppa toe.
$ sudo tee -a /etc/apt/sources.list.d/ppa.list
deb http://ppa.launchpad.net/blueman/ppa/ubuntu jaunty main
^C
$ sudo launchpad-update
$ sudo aptitude update
$ sudo aptitude install blueman
Voor wie het de eerste keer gemist heeft: launchpad-update is een handig scriptje om automatisch de signatures van Launchpad ppa's binnen te trekken.

Daarna moet er in ~/.config/openbox/autostart.sh nog volgende aangepast worden worden om de blueman applet te starten:

# Start Bluetooth applet
#bluetooth-applet &
blueman-applet &
Knap: ik zat beneden met de netbook, de gsm lag boven op de slaapkaper, en er was bluetooth verbinding.

Mijn sources.list voor Jaunty

Mijn /etc/apt/sources.list ziet er als volgt uit:
deb http://ftp.belnet.be/mirror/ubuntu.com/ubuntu/ jaunty          main restricted universe multiverse
deb http://ftp.belnet.be/mirror/ubuntu.com/ubuntu/ jaunty-updates  main restricted universe multiverse
deb http://ftp.belnet.be/mirror/ubuntu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb http://ftp.belnet.be/mirror/ubuntu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://archive.canonical.com/ubuntu            jaunty          partner

Meer zet ik er niet in. Proper, nietwaar?

Third-party repositories zet ik consequent in een .list-bestand in /etc/apt/sources.list.d/.

Voor het automatisch importeren van keys voor PPA-repositories heb ik een handig scriptje.

Niet te vergeten, na iedere aanpassing van de sources moet het volgende gebeuren:
$ sudo aptitude update
$ sudo aptitude safe-upgrade
Inhoud syndiceren