Ubuntu 9.10 "Karmic"

Nach den Erfahrungen der letzten Ubuntu-Upgrades habe ich diesmal länger gewartet, bis ich auf die neue Version 9.10 "Karmic" umgestiegen bin - mit durchwachsenem Erfolg wie sich herausstellte. Wichtigste Gründe für eine Neuinstallation waren für mich der Umstieg auf die AMD64-Architektur und die uneingeschränkte Verwendung von ext4 als Standarddateisystem, beides wäre mit einem reinen Upgrade nicht uneingeschränkt möglich gewesen.

64bit Software

Erstaunlich problemlos ging der Umstieg auf 64bit-Software. Da ich lange genug gewartet hatte, kam ich in den Genuss der erst jüngst von Adobe veröffentlichten 64bit-Flash-Player-Beta-Version für Firefox, die bei mir problemlos funktioniert, im Gegensatz zu dem in den Standardrepositories vertretenen Flash-Player-Paket. Auch meine verbliebene 32bit-Windows-Software läuft in WINE anstandslos weiter.

Firebug

Ein wenig problematisch ist die Verwendung von Firebug in Firefox unter AMD64-Architektur. Der in Ubuntu Karmic mitgelieferte, von Ubuntu modifizierte Firefox 3.5.7 enthält hier Fehler, die das Zusammenspiel mit dem automatisch aktualisierten Firebug in Version 1.5.0 unmöglich machen - der Browser stürzt ab. Die Verantwortung dafür wird zwischen Firebug-Programmierern, Firefox-Programmierern und den Firefox-Verwaltern bei Ubuntu hin und her geschoben, ist aber wohl bei Ubuntu zu suchen, da Firebug im unveränderten Firefox funktioniert. Das Geschehen lässt sich hier gut nachvollziehen: https://bugs.launchpad.net/ubuntu/+source/firefox-3.5/+bug/449744 Umgehen lässt sich das Problem, indem man Firebug in Version 1.4.5 verwendet. Dieser steht hier zum Download zur Verfügung: http://getfirebug.com/releases/firebug/1.4/

gnome-terminal

Leider lässt sich die Standardgröße des Gnome-Terminal nicht(mehr) festlegen. Möchte man dennoch ein größeres Terminal-Fenster mit einem Tastenkürzel öffnen, muss man ein eigenes solches anlegen. Der Parameter "--geometry" hilft dabei, die gewünschte Größe festzulegen. Unter den Systemeinstellungen lässt sich eine neue Tastenkombination mit einem beliebigen Befehl festlegen. Zusätzlich sollte man hier noch das gewünschte Arbeitsverzeichnis mit "--working-directory" angeben:

gnome-terminal --geometry=[X]x[Y] --working-directory=/home/[Benutzername]

Splash-Screen-Auflösung

Ist der Splash-Screen in seiner Standardauflösung zu pixelig, lässt sich diese in der Datei /etc/usplash.conf ändern. Dort trägt man die gewünschte X- und Y-Auflösung ein:

xres=[Breite]
yres=[Höhe]

Anschließend sollten die initramfs neu gebaut werden:

sudo update-initramfs -k all -u

Leider lässt sich Full-HD-Auflösung von 1920x1080 so nicht erreichen - vermutlich, weil kein entsprechender VESA-Modus spezifiziert ist.

Qt4-Schriftarten

Auf Qt4 basierende Programme wie KolourPaint4 oder VLC zeigten bei mir nach der Installation eine unmöglich verpixelte Schrift auf den Oberflächen. Auch das Tool "qtconfig-qt4", mit dem man normalerweise den Look von Qt4-Programmen anpassen kann, konnte dies nicht beheben. Abhilfe schaffte eine Datei ".fonts.conf" im Home-Verzeichnis mit folgendem Inhalt:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintfull</const>
</edit>
</match>
</fontconfig>

python-notify

Im Python Modul "pynotify" aus dem Paket "python-notify" scheint derzeit die Methode "Notification.close()" nicht zu funktionieren. Sie hat schlicht keinen Effekt. Ein entsprechender Bugreport existiert: https://bugs.launchpad.net/ubuntu/+source/notify-python/+bug/521951

Compiz Fusion

Bei Compiz ist alles beim Alten geblieben. Wer, wie ich, weiterhin mit dem Mausrad auf dem Desktop scrollend von einer zur anderen Arbeitsfläche wechseln möchte, muss im Modul "Arbeitsflächenumschalter" unter "Arbeitsflächenumschaltung auf dem Desktop" die Mauskürzel für "Nächste" und "Vorherige" auf "Button5" und "Button4" einstellen.

Grub2

Mit der Migration auf Grub2 hat sich einiges verändert. Die Konfiguration /boot/grub/menu.lst sucht man nun vergeblich, Grub2 wird über /etc/default/grub und /etc/grub.d/* konfiguriert.

S.M.A.R.T.

Gerüchteweise werden Festplatten nun automatisch via S.M.A.R.T. überwacht - von Programmen des Paketes "gnome-disk-utility". Diese sollen den User automatisch warnen, wenn eine Platte kurz vor dem Ausfall steht. Das würde eine manuelle oder manuell eingerichtete Laufwerksüberwachung überflüssig machen. Leider habe ich noch keine Bestätigung bzw. eigene Erfahrungen zu diesem Thema, weshalb diese Information hier mit großer Vorsicht zu genießen ist - lieber nicht darauf verlassen.

dm-crypt / cryptsetup / mountall / usplash / upstart

Das größte Problem hatte ich mit meinen verschlüsselten Partitionen. Wiedereinmal ist es Ubuntu nicht gelungen, eine reibungslose Integration der Festplattenverschlüsselung in den Boot-Prozess zu erreichen. Doch diesmal sind die Probleme weit beeinträchtigender.

Während / sich weit zu Beginn des Boot-Vorgangs noch im initramfs problemlos entschlüsseln lässt, wird /home erst in einer Phase entschlüsselt, die von "upstart" verwaltet wird. In diesem Schritt laufen bereits mehrere durch "upstart" gestartete Programme, unter anderem "mountall", das für das Einbinden der Dateisysteme zuständig ist, deren Device-Dateien bereits bestehen. Wenn "mountall" und "cryptsetup" gleichzeitig auf die Tastatureingabe zugreifen, ist es ein Glücksspiel, wer das Passwort erhält, und ob der Boot-Vorgang überhaupt erfolgreich abgeschlossen werden kann. Unter Umständen ist es nämlich nicht möglich, die Partition zu entschlüsseln, und so das System fertig zu booten.

"mountall" scheint außerdem dafür verantwortlich zu sein, dass der Splash-Screen "usplash" für einen Moment ausgesetzt wird, was das Problem zusätzlich verschärft. Hier kann es passieren, dass das die Passwort-Abfrage auf der Konsole gestellt wird, dann der Splash-Screen wieder erscheint, und so eine Eingabe des Passworts nichtmehr möglich ist.

Das Problem lässt sich nicht verhindern, indem man nur den Splash-Screen abschaltet. "mountall" und "cryptsetup" streiten sich weiterhin um die Eingaben.

Leider gibt es für dieses Problem, obgleich es von Anfang an bekannt war, keine Lösung und auch keine Bestrebungen zu einer Lösung. Die User werden sich irgendwie damit arrangieren müssen. Einziger Lichtblick: In Ubuntu 10.04 "Lucid" soll das Problem endlich gelöst und die Zusammenarbeit von Verschlüsselung und Splash-Screen erstmals gelungen sein. Ich bin sehr gespannt, in diesem Feld sehe ich derzeit noch einen sehr großen Bedarf an guten Lösungen.

Nach einigem Tüfteln habe ich für mich einen brauchbaren Workaround gefunden, den ich hier grob umreißen möchte. (Da der Workaround einen recht tiefen Eingriff in das System darstellt, der, wenn er schief geht, das ganze System unbrauchbar machen kann, wird ihm eine einfachen Schritt-für-Schritt-Anleitung nicht gerecht. Wer ein tieferes Verständnis von dem, was er tut, hat, wird sich mit dieser groben Skizze auf eigene Gefahr hin zurechtfinden und ist in der Lage, selbst zu erkennen, wenn das Vorgeschlagene auf seinem System nicht klappt oder einer Anpassung bedarf.)

In /usr/share/initramfs-tools/scripts/local-top findet sich das Script "cryptroot", das für das Entschlüsseln der Root-Partition im initramfs zuständig ist. Dieses Script lässt sich geringfügig modifiziert unter einem anderen Namen, z.B. "crypthome", über /etc/initramfs-tools/scripts/local-top ein zweites Mal in das initramfs einfügen. So lässt sich das Entschlüsseln der übrigen Crypto-Partitionen nach vorne in den noch nicht parallelisierten Teil des Boot-Vorgangs verschieben und die Probleme mit "mountall" umgehen. Modifiziert sollte das Script derart werden, dass es dafür sorgt, nicht als letztes sondern als vorletztes in "local-top" ausgeführt zu werden (die Dependencies zu Beginn sollten angepasst werden), und dass es die Crypt-Informationen nicht aus den Kernelparametern oder einer Datei bezieht, sondern gleich fest eincodiert bekommt. Crypt-Informationen können z.B. den folgenden Aufbau haben:

target=[Partition]_crypt,source=/dev/disk/by-uuid/[UUID],key=none

Nach einem Update des initramfs sollte beim nächsten Reboot zuerst das Passwort für /home und dann das für / ziemlich zu Beginn des Boot-Vorgangs abgefragt werden.

Update

Irgendjemand hielt es für hilfreich, wenn künftig bei anstehenden Systemaktualisierungen nichtmehr ein kleines Icon im Benachrichtigungsfeld erscheint, sondern gleich das Update-Fenster aufgeht. Ich finde das furchtbar nervig.

Mit dem folgenden Befehl lässt sich angeblich das alte Verhalten wiederherstellen:

gconftool -s --type bool /apps/update-notifier/auto_launch false

Tags: Python | Linux