Deutsches Keyboard Layout in Gentoo

Nach ein paar Updates hatte ich Probleme mit meinem Keyboard Layout unter X. Es war mir nicht mehr möglich das Layout auf Deutsch zu stellen. Nach kurzer Suche im Gentoo Forum wurde ich jedoch fündig und nun habe ich auch die geliebten Umlaute wieder 😉

Zur Lösung des Problems reichte es mir in die Datei /usr/share/X11/xorg.conf.d/10-evdev.conf eine Option in der Keyboard InputClass hinzuzufügen:

Section "InputClass"
   Identifier "evdev keyboard catchall"
   MatchIsKeyboard "on"
   MatchDevicePath "/dev/input/event*"
   Driver "evdev"
   Option "xkb_layout" "de"
EndSection

Probleme beim Updaten

So, nach dem Umzug und längerer Blog-Abstinenz versuche ich jetzt wieder etwas regelmäßiger etwas zu schreiben. Ich fange gleich mal mit einem Problem beim Updaten meines Gentoo Systems an. Das war seit langem mal wieder überfällig, aber durch neue Teile und längeren Stillstand des Systems hatten sich recht viele Updates gehäuft. Es war also wieder fröhliches emergen und revdep-rebuilden angesagt. Dabei stieß ich auf folgenden Fehler:

can't read /usr/lib64/libdbus-1.la: No such file or directory

Nach kurzer Suche im Netz fand ich dann auch den entsprechenden Bugreport. Die Lösung des Problems war es ein Programm zu installieren und dies dann zu verwenden um die la Dateien zu reparieren:

# emerge lafilefixer
# lafilefixer --justfixit

Danach war das Problem gelöst und das System konnte erfolgreich auf den neusten Stand gebracht werden.

Datenträger Automount und NTFS-3G mit Gentoo und Gnome

Auf seinem Desktop PC möchte man natürlich nur ungern externe Laufwerke per Hand einbinden. Daher bietet es sich an Automount zu aktivieren, so dass die Laufwerke direkt nach dem Einstecken eingebunden werden. Hier kurz welche Schritte ich dafür auf meinem Gentoo (ACCEPT_KEYWORDS=”~amd64″) unter Gnome durchführen musste.

Als erstes musste ich den Consolekit Dienst zum default Runlevel hinzufügen:

rc-update add consolekit default

Nach einem Neustart funktionierte der Großteil meiner Datenträger auch schon. Der Neustart war nötig, weil sich das Init-Script etwas seltsam verhalten hat. Es teilte mir nämlich mit, dass der Dienst aktiv sei, wenn ich ihn stoppen wollte, dass er nicht aktiv sei und wenn ich ihn starten wollte, dass er aktiv sei…

Die Festplatten die nicht auf Anhieb funktionieren wollten, waren diejenigen, die mit NTFS formatiert waren. Da ich Lese- und Schriebzugriff haben wollte, entschied ich mich für NTFS-3G. Auch wenn es korrekt installiert war (siehe Gentoo-Wiki – NTFS-3G), wollte der Automount noch nicht so richtig. Das Problem war, dass der Gnome Automount das Dateisystem als NTFS erkennt und daher in dem Verzeichnis /sbin nach dem Programm mount.ntfs sucht. Dieses Programm war jedoch nicht vorhanden, weil es für NTFS-3G mount.ntfs-3g heißt. Ein einfacher Link löst dieses Problem:

ln -s /sbin/mount.ntfs-3g /sbin/mount.ntfs

Gentoo Linux Boot Splash generieren und einrichten

Hier eine kurze Beschreibung, wie man unter Gentoo Linux einen netten Boot Splash generiert und einrichtet. Zunächst muss man dafür den Kernel mit Framebuffer und Initramfs Unterstützung erstellen. Als nächstes benötigt man natürlich Splash Themes. Zwei grundlegende Pakete die in über Portage installiert werden können sind splash-themes-livecd und splash-themes-gentoo.

emerge splash-themes-livecd splash-themes-gentoo

Für dieses Beispiel werde ich das livecd-2007.0 Splash Theme verwenden. Der nächste Schritt ist ein Splash für die gewünschte Auflösung zu generieren. In meinem Fall wäre das 1680×1050:

splash_geninitramfs -v -r 1680x1050 -g /boot/livecd-2007.0 livecd-2007.0

Die Parameter für Auflösung und das gewünschte Splash Theme sollten natürlich an die eigenen Vorstellungen angepasst werden.

Der letzte Schritt ist die Kernel Parameter zu bearbeiten. Dazu mit dem bevorzugten Editor die Datei /boot/grub/grub.conf öffnen und die Kernelzeile folgendermaßen ändern:

kernel /boot/ck-source-2.6.34-r1 root=/dev/sda3 splash=silent,kdgraphics,theme:livecd-2007.0 quiet ro console=tty1

Nun sollte nach einem Reboot der neue Splash angezeigt werden.

Gentoo Bash Completion

Wer unter Linux oft mit dem Terminal arbeitet weiß, wie nützlich es ist per Tab die Parameter des jeweiligen Programms zu vervollständigen. Diese Funktion nennt sich Bash Completion. Unter Gentoo Linux muss diese Funktion jedoch erst aktiviert werden. Dazu sollte man zuerst in der Datei /etc/make.conf überprüfen, ob man das bash-completion USE-Flag aktiviert hat. Wenn nicht sollte dieses zunächst in die USE Variable eingetragen werden. Danach muss die neue USE Variable auf installierte Pakete angewendet werden:

emerge -uDN1q world

Danach sollte man sich noch vergewissern, dass die Pakete bash-completion und gentoo-bashcomp installiert sind:

emerge -pv bash-completion gentoo-bashcomp

Nun muss man noch die Datei /etc/bash/bashrc editieren, um Bash Completion beim starten einer neuen Shell zu aktivieren. Dazu die folgende Zeile vor den Aliases in die bashrc schreiben:

[[ -f /etc/profile.d/bash-completion ]] && source /etc/profile.d/bash-completion

Um die Änderungen zu übernehmen, sollte man die Shell noch neu starten, oder folgenden Befehl eingeben:

source /etc/bash/bashrc

Als erstes sollte man die Base Bash Completion aktivieren:

eselect bashcomp enable --global base

Nun kann man Bash Completion für jedes Programm, welches hierfür Unterstützung liefert, aktivieren. Eine Liste aller unterstützten Programme kann man sich mit dem folgenden Befehl ausgeben lassen:

eselect bashcomp list

Wenn man zum Beispiel Bash Completion für Git aktivieren will sieht das entsprechende Kommando folgendermaßen aus:

eselect bashcomp enable git