Alt-Gr-Taste unter X in Betrieb nehmen und Tastaturlayout auf Deutsch ändern

Letzte Woche wurde die Frage gestellt, warum die "Alt-Gr"-Taste des Thinkpad 600 bei Slitaz nicht funktionieren würde. Mir war dieses Problem damals nicht aufgefallen und für gewöhnlich muss ich mich zumindest bei Debian nicht um das manuelle Einstellen des Tastaturlayouts kümmern.
Der X-Server ist mittlerweile so smart, dass er alle Optionen automagisch einrichtet. Sollten aber Probleme mit dem Tastaturlayout auftreten, lässt sich die Einstellung für Xorg nach wie vor entweder in /etc/X11/xorg.conf oder mit einer Konfigurationsdatei in /etc/X11/xorg.conf.d/ manuell ändern. Der Abschnitt sieht dann für eine deutsche Tastatur ähnlich wie dieser aus:

Section “InputDevice”
  Identifier “Generic Keyboard”
  Driver “kbd”
  Option “XkbRules” “xorg”
  Option “XkbModel” “pc105″
  Option “XkbLayout” “de”
  Option “XkbVariant” “nodeadkeys”
EndSection

Tastaturlayout für ConnochaetOS und den Thinkpad 600 ändern

Später fiel mir dann auf, dass ConnochaetOS die AltGr-Taste des Thinkpad 600 ebenfalls nicht automatisch eingerichtet hatte, obwohl es eine extra angelegte /etc/X11/xorg.conf.d/20-keyboard.conf gab. Da ConnochaetOS auf Arch Linux basiert, konnte ich schnell eine Lösung für das Problem finden, dank dieses Beitrags im deutschen Arch-Linux-Forum.
Damit die AltGr-Taste wieder funktioniert, muss man einen Parameter für die Option "XkbOptions" mit Hilfe des Programms setxkbmap temporär übergeben oder permanent in der Datei 20-keyboard.conf eintragen.

Temporär

setxkbmap -option lv3:ralt_switch_multikey

Permanent

Option "XkbOptions" "lv3:ralt_switch_multikey"

Bei ConnochaetOS sieht die 20-keyboard.conf dann so aus:

Section "InputClass"
  Identifier "txkbmap keyboard catchall"
  MatchIsKeyboard "on"
  Option "XkbModel" "thinkpad"
  Option "XkbLayout" "de"
  Option "XkbVariant" "nodeadkeys"
  Option "XkbOptions" "lv3:ralt_switch_multikey"
EndSection

Die Systemeinstellungen und das Tastaturlayout für die Konsole lassen sich bei Arch Linux und ConnochaetOS in /etc/rc.conf ändern. Hilfreich ist der Artikel "Arch Linux auf Deutsch stellen" im Arch Linux Wiki.

Fehlerdiagnose

Mit dem Kommando xev lässt sich herausfinden, mit welchem Keycode eine Taste im Moment belegt ist, indem man die betreffende Taste danach einfach drückt. Mit xmodmap -pke wird eine komplette Übersicht angezeigt. Beide Befehle eignen sich gut für die Fehlerdiagnose.
In /usr/share/X11/xkb/rules/base.lst befindet sich die Dokumentation zu allen Optionen im Zusammenhang mit Xorg und xkb.

Eine gute und eine schlechte Nachricht

Der erste Eindruck hat nicht getrogen und tatsächlich hatte das Netzteil des Thinkpad 600 durch den Kurzschluss auf dem Weihnachtsmarkt ordentlich etwas abbekommen. Mit dem neuen Universalnetzteil funktioniert die Kiste aber wieder, Debian, ConnochaetOS, KolibriOS und Co. laufen einträchtig im Multibootsystem und alle Daten sind nach wie vor intakt. Eine gute Nachricht, weswegen weiteren Experimenten nichts entgegenstehen sollte. 🙂
Auf der anderen Seite hat mich in letzter Zeit der etwas verrückt spielende Core Duo in Atem gehalten, weshalb weniger Zeit für interessantere Computerprobleme geblieben ist. Die weniger gute Nachricht lautet dann auch, dass das System weiterhin instabil ist, obwohl ich mittlerweile einige Zeit damit verbracht habe, um mich über den Unterschied von Single- und Dual-Channel-RAM zu informieren, schon wieder gelernt habe :roll:, dass man selbst bei sorgfältiger Recherche immer noch Fehler machen kann und zu guter Letzt nicht mehr unterscheiden kann, ob es nun ein Hardware- oder doch eher ein Softwareproblem ist. Aber der Reihe nach.
Der Core Duo besaß einmal 2x 2GB-RAM-Module des Herstellers Team Group aus Taiwan mit der genauen Produktbezeichnung TVDD2048M800. Nachdem mehrere Anwendungen kontinuierlich abstürzten und ich mit Memtest86+ festgestellt hatte, dass offenbar der Speicher defekt war, entfernte ich ein Modul und alles schien wieder in Ordnung zu sein.
Nach einiger Zeit wiederholte sich das Spiel aber und ich beschloss das Übel loszuwerden und mir neuen Arbeitsspeicher zu kaufen. Da der Hersteller meines Mainboards ASUS war, begab ich mich auf dessen Homepage um mehr über geeigneten RAM für mein P5N73-CM Motherboard herauszufinden. Dort gab es tatsächlich ein PDF-Datenblatt mit einer "Qualified Vendor List".
"Großartig", dachte ich, dort werde ich sicherlich den passenden RAM für mein Board finden. Ich wählte natürlich den schnellstmöglichen PC6400 RAM mit 800Mhz Speichertakt und entschied mich für Kingston KHX6400D2LLK2/1GN. Stutzig machte mich nur, dass der ehemals verbaute RAM von TEAM gar nicht in der Liste auftauchte.
Ich bestellte daraufhin also KHX6400D2LLK2/4G, wobei ich gutgläubig aber leider auch naiv annahm, dass das der gleiche Speicher war, der lediglich als 2x2 GB RAM Kit verkauft wurde. Das 11. IT Gebot lautet aber, "Du sollst dir über Hardware kein Bildnis machen!".
Augenscheinlich funktionierte nur ein Modul gleichzeitig mit meinem Board, so dass ich nur 2 GB installieren konnte. Ein Blick danach auf die Kingston Homepage offenbarte mir dann meine Fehleinschätzung. Ich hatte mir ein Dual-Channel-Memory-Kit gekauft, mein Motherboard unterstützte aber nur Single Channel.
Da ich nun keine Lust mehr auf weitere Experimente hatte, bestellte ich einfach zwei 2GB-Module des Original-TEAM-RAMs. Gleicher Typ, gleicher Hersteller, eine narrensichere Angelegenheit.
Als ich jedoch beide Bausteine eingesetzt hatte und mich schon über die Anzeige 4096 MB im Bios gefreut hatte, wurde mein Freudentaumel jäh durch eine GRUB-Fehlermeldung beendet.
Egal was ich auch tat, entweder startete der Rechner nach dem Erreichen des GRUB-Menüs neu, fror ein oder zeigte mir diese Fehlermeldung. Jedoch mit einem RAM-Modul und 2 GB RAM scheint es keine Probleme zu geben. Möglicherweise ist sogar das Motherboard selbst defekt. Passend dazu bekomme ich seit neustem, aber nur mit dem Nvidia-Treiber, diese Fehlermeldung.

NVRM: Xid (0000:02:00): 13, 0003 00000000 00008297 00001338 0000fd20 0000000c
[28271.390112] NVRM: Xid (0000:02:00): 13, 0003 00000000 00008297 00000e08 0015f404 00000004
[28276.495279] NVRM: Xid (0000:02:00): 13, 0003 00000000 00008297 00000e08 0015ff04 00000004
[28278.719604] NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context

Im offiziellen Nvidia-Forum habe ich diesen Thread dazu gefunden, der aber scheinbar nicht weiterverfolgt wird. Die Symptome sind ein manchmal kurz flackernder Bildschirm und teilweise ein komplettes Einfrieren des gesamten X-Servers, der sich danach nur noch über SSH beenden lässt. Hängt dies nun ebenfalls mit dem RAM-Problem zusammen oder ist das nur eine unglückliche Verquickung von Hardware- und Softwarefehlern?
Ich weiß zur Zeit nur eins. Solange ich 2 GB RAM und die freien Nouveau-Treiber benutze, scheint das System stabil zu laufen, benutze ich hingegen den Nvidia-Treiber ist ein Neustart des X-Servers vorprogrammiert. Für einen Rechner, der mehr als doppelt soviel gekostet hat wie alle gebrauchten Laptops des Haushalts zusammen, eine eher schlechte Nachricht.

Mageia: Die Magierin geht in die zweite Runde

Die Linuxdistribution Mageia hat vor zwei Monaten einjähriges Bestehen gefeiert und vor drei Tagen die erste Alpha ihrer zukünftigen Version 2 freigegeben. Da ich dieses Jahr schon einiges über Mageia gelesen hatte, dachte ich mir, dass ich selbst mal einen Blick darauf werfe und habe mir sowohl die alte 32bit-KDE-Ausgabe von Mageia 1 als auch die sehr neue Alpha angeschaut. Da das Team von Mageia ausdrücklich darum gebeten hat, keine Rezension über eine Alpha-Version zu schreiben, habe ich die Gelegenheit genutzt etwas in der Vergangenheit zu schwelgen.
Es ist ungefähr zehn Jahre her, dass ich meine ersten Schritte mit Linux und den Distributionen RedHat, SuSe Linux, Debian und Mandrake unternommen habe. Einige Zeit später wurde Mandrake dann in Mandriva umbenannt, ich war damals schon mit Debian sehr zufrieden, und spätestens mit der Veröffentlichung von Ubuntu 6.06 habe ich den Ursprung von Mageia ein wenig aus den Augen verloren. Letztes Jahr entschied sich dann ein Teil der Mandriva Community, unzufrieden mit der Strategie des hinter dem Projekt stehenden Unternehmens, sich abzuspalten und das Mageia-Projekt zu gründen.

Das alte und neue Mageia ähnelt sich optisch noch sehr, da das neue Design erst in einer späteren Testphase hinzugefügt wird. Der KDE-Desktop gibt, genauso wie bei dem vor ein paar Monaten vorgestellten Chakra Linux, den Ton beim Erscheinungsbild an, sofern man sich für die Live-CD mit KDE entschieden hat. Im Gegensatz zum Arch-Linux-Fork lässt sich der Mandriva-Fork schon mit weniger als 1GB RAM in Virtualbox testen, setzt aber genauso wie Chakra auf den KDE-Plasma-Desktop in der zur Zeit aktuellsten Version 4.7.
Als Alternative lässt sich auch Gnome 3.3.2 mit einer separaten Live-CD testen und insgesamt unterstützt Mageia auch noch viele weitere Desktopumgebungen. Der Mageia Kernel ist zur Zeit Linux 3.1.2. Etwas schmunzeln musste ich mal wieder über die Namensgebung der KDE-Programme, deren Schema sich leicht wiedererkennen lässt. 😛 KGet, Kopete, Konqueror, KMix, KOrganizer, KSnapshot und so weiter und so fort.

Am Auffallendsten ist sicherlich das Kontrollzentrum von Mageia. Hier werden alte Erinnerungen wach. Genauso wie bei Suse Linux und einer Reihe anderer RPM-basierter Distributionen gab es früher und heute einen zentralen Ort, mit dem sich alle Desktop- und Systemeinstellungen verändern lassen. Das macht es für Einsteiger oft einfacher den richtigen Schalter oder die gewünschte Funktion zu finden. Ich habe aber schon früh festgestellt, dass eine einzelne große und dazu noch grafische Anwendung schnell dazu führt, dass Einstellungen hinter der Schnittstelle verborgen werden und man in der Regel mit einem Texteditor und der Bearbeitung einer simplen Textdatei wesentlich schneller vorankommt. Aber wie so vieles, ist natürlich auch das Geschmackssache.
Wer noch keine RPM-basierte Distribution kannte, sollte sich irgendwann mal die Zeit nehmen und das Kennenlernen nachholen. Unter der Haube wird technisch manches anders gelöst, oberflächlich betrachtet ähneln sich natürlich die grafischen Konzepte, weswegen man als KDE-, Gnome-, LXDE- oder Xfce-Benutzer sich selten komplett umstellen muss, wenn man die Distribution wechselt. Einziges Manko ist meiner Meinung nach die noch dünne Dokumentation von Mageia, einem Download und ein paar Tests steht dem aber nichts entgegen.

Der Thinkpad 600 als DJ auf dem Weihnachtsmarkt

Alle Jahre wieder findet in einem kleinen Dorf im Zentrum der Welt ein weltbekannter Weihnachtsmarkt statt. Am letzten Wochenende versammelten wir uns erneut im Glühweinzelt, um Glühwein mit und ohne Schuss, Lumumba und Kinderpunsch auszuschenken. Dieses Mal erklärte ich mich bereit, stimmungsvolle Musik mit Hilfe des Thinkpad 600 zur Verfügung zu stellen.
Alle Theorie ist trocken und grau, weshalb etwas Praxis nicht schaden konnte. Mit Debian und dem effizienten C*mus war die musikalische Unterhaltung des Weihnachtsmarkts gesichert. Da ich es darauf angelegt hatte, gab es zusätzlich für den ein oder anderen Bildschirmschonertrick mit Screen einige "Ohs und Ahs". 😉


Unauffällig in einer Ecke stehend erfüllte der Thinkpad seine Aufgabe. Der gesamte Tag verlief in musikalischer und technischer Harmonie. Zumindest bis wir uns dem Ende des Abends näherten. Denn spätestens wenn die Gäste einem mit wässrigem Blick anstarren und fordern: "Ich will Rum mit Glühwein. Du hast mich verstanden? RUM mit Glühwein!", ist es mal wieder Zeit das alljährliche Fest ausklingen zu lassen.
Wäre da nicht der kleine Kurzschluss beim Abbauen des Standes gewesen, der das Netzteil meines treuen Laptops abrauchen ließ, es hätte wieder einmal ein perfekter Abend werden können. 🙁
Mal schaun, ob die Bestellung, die in Kürze hier eintreffen wird, den Laptopoldie noch retten kann.

Ein Debianbenutzer zu Besuch bei Arch Linux

Auch wenn ich mich in Sachen Arch Linux oft wiederhole. Beißt euch durch die Installation durch, bleibt dran und gebt nicht auf - ganbatte kudasai!. Sie ist wirklich gut im englischen oder deutschen Arch Linux Wiki erklärt. Nachdem man diese vermeintliche Hürde nämlich genommen hat, stellt man plötzlich fest, dass man für den Rest der Lebenszeit seines Computers nicht mehr daran denken muss. Genauso wie bei Debian Unstable oder Testing ist Arch eine fortlaufend aktualisierte Distribution, weswegen der Teil mit der Installation wirklich nur einen Bruchteil der Zeit am Rechner ausmacht. Wie versprochen ist hier ein erster Eindruck, was mir bei regelmäßiger Benutzung von Arch auf dem Inspiron 4000 aufgefallen ist.

Das Netzwerk

Nachdem man den Installationsschritten gefolgt ist, muss man sich als Neuankömmling erst einmal ein paar Problemen stellen. Eine Interfaces Datei für Arch Linux gibt es nicht. Ist die nicht sogar bei Debian schon "deprecated"? Am leichtesten geht es, wenn man direkt in der /etc/rc.conf eine einzelne Netzwerkschnittstelle einrichten möchte. Für statische oder dynamische IP-Adressen-Konfiguration ist hier der richtige Ort.
Wenn es komplizierter werden soll aufgrund mehrerer Netzwerkkarten, sollte man sich netcfg anschauen. Ein Verhalten, das erst einmal gewöhnungsbedürftig ist falls man Befehle wie ifconfig, ifup und ifdown sofort nach einer Minimalinstallation von Debian gewohnt ist. Für einen Laptop gefällt mir außerdem noch Wicd, mit dem sich übersichtlich drahtlose Netzwerke einrichten lassen.

Aptitude und Pacman

Arch Linux ist kaputt, denn es hat kein Apt. Wahre Worte. 😛 Pacman ist zwar nicht Apt, erfüllt aber ähnliche Aufgaben, die man auch von Apt gewohnt ist. Die wichtigsten Befehle für den Anfang sind:

  • pacman -Syu : Das komplette System auf den neuesten Stand bringen
  • pacman -S "Paketname": Ein Paket installieren
  • pacman -Ss "Suchbegriff" : Nach einem Begriff/Paket suchen
  • pacman -Sc : Den Paketcache leeren
  • pacman -Rs "Paketname" : Ein Paket und dessen Abhängigkeiten entfernen, sofern sie nicht von anderen Paketen gebraucht werden

Man vermisst zwar ein wenig Aptitudes exzellente Suchfähigkeiten, bisher konnte ich mein Arch trotzdem immer nach meinem Geschmack einrichten.

Kleine Unterschiede

Arch Linux bezeichnet sich selbst als eine Keep-it-simple-Distribution. Das geht soweit, dass das Patchen von Dateien bis auf ein absolut notwendiges Minimum reduziert wird. In der Regel werden neue Feature und Sicherheitsaktualisierungen durch den jeweiligen Upstream-Autor erstellt und dann umgehend als Arch-Linux-Paket bereitgestellt. Das kann aber auch dazu führen, dass einige Fähigkeiten, die man aus Debian kennt, plötzlich nicht mehr funktionieren.
Am Beispiel scrot, dem Screenshot Programm, wird das ziemlich deutlich. In der Arch Version gibt es den Patch zum gezielten Aufnehmen eines Fensters, in der offiziellen Version leider nicht. (-u) Dafür wird eine inoffizielle Version in AUR bereitgestellt. Wie gut sie wirklich ist, lässt sich nur durch Ausprobieren feststellen. Im Moment hat sie nur zwei Bewertungspunkte.

Pakete aus AUR - der leichte Weg

Am Anfang genügt es vollkommen nur die offiziell verfügbaren Pakete und den offiziellen Paketmanager Pacman zu benutzen. Es stehen dann zwar nicht die gleiche Anzahl an Paketen wie bei Debian zur Verfügung, man kann aber durch geschicktes Substituieren das Problem meistens umgehen. In den letzten beiden Posts zu Arch Linux auf dem Inspiron 4000 habe ich die manuelle Methode mit makepkg -s vorgestellt, bei der man das PKGBUILD manuell herunterladen und ggf. Abhängigkeiten ebenfalls manuell bauen muss.
Wenn man sich erst einmal an dieses "Do-it-yourself"-Konzept gewöhnt hat, macht das Bauen von Paketen bei Arch Linux sogar richtig Spaß. Für den regelmäßigen Baumeister empfiehlt sich aber einer der sogenannten AUR-Helfer. Insbesondere yaourt scheint populär zu sein. Im Grunde genommen ist yaourt ein Wrapper für Pacman, der die gleichen Befehle unterstützt, gleichzeitig aber die Möglichkeit bietet direkt im Arch User Repository nach Software zu suchen und diese wie mit Pacman gewohnt zu installieren. Momentan benutze ich yaourt ausschließlich nur für das Installieren von AUR-Paketen, was eine große Zeitersparnis ist.

Zum Schluss

Ja, Arch Linux ist anders als Debian. Wenn man sich aber an die Unterschiede gewöhnt hat, macht es viel Spaß. Software zu verwalten ist einfach und unkompliziert. Pacman ist weniger mächtig als Apt, ist dabei aber auch fühlbar schneller auf älteren Rechnern. Ein Bonus ist sicherlich auch, dass man in Sachen Desktopumgebung nicht umdenken muss. Meine alten Openbox-Einstellungen konnte ich problemlos übernehmen.

Ein freier Blick auf Office-Dokumente

MS-Office-Dokumente per E-Mail zu erhalten kann in der Regel nur Arbeit bedeuten. Doch bevor man sie aus Reflex oder Angewohnheit dem elektronischen Müll überantwortet, ist es manchmal doch klüger vorher noch einen Blick hinein zu werfen. Es könnte ja wichtig sein.
Seit meinem Umstieg auf Linux benutze ich Freie Software, die in standardisierte Formate abspeichert. Es ist schon merkwürdig, dass das Open-Document-Format ein quelloffener Standard ist, Microsofts weit verbreitetes Doc- und Docx-Format aber nicht. Darum scheren sich aber die wenigsten Leute. Für viele erscheint es zwar selbstverständlich zu sein, dass man nicht mehr mit Elle, Zoll, Spanne oder Klafter misst, mittelalterliche Praktiken bei Dateiformaten nimmt man aber mehr oder weniger gelassen hin.
Auf meiner Festplatte tummeln sich immer noch alte Word-Perfect-Dokumente, die ich irgendwann noch einmal in ein freies Odt-Format umwandeln möchte, wenn ich mich nicht doch endlich entschließe den alten Kram nach /dev/null zu verschieben. 🙄
In der Regel habe ich auf dem leistungsfähigsten Rechner LibreOffice installiert, mit dem ich bisher immer alle Formate öffnen konnte und natürlich gibt es auch noch das PDF-Format, um den Kompatibilitätswahnsinn ein wenig zu umgehen.
Ich muss aber nicht auf jedem Rechner eine vollwertige Office Suite installiert haben. Für diesen Fall habe ich mir angewöhnt eine leichtere Alternative zu installieren, die mir lediglich den Inhalt eines Dokuments anzeigt. Für Doc-Dokumente ist das nach wie vor antiword, obwohl dieses kleine aber feine Programm seit 2005 nicht mehr weiterentwickelt wird. Als Konsolenalternative für das freie Odt-Format oder das ältere Sxw benutze ich bei Debian odt2txt. Beide sind äußerst anspruchslos an die Hardware und mit beiden lässt sich der Inhalt von Doc- oder Odt-Dateien anzeigen. Besonders gut spielen beide auch mit dem Text-E-Mail-Programm Alpine zusammen, in dem die Doc- und Odt-Anhänge automatisch im Textformat angezeigt werden.
Eine Alternative für ältere Word-Dokumente kann ebenfalls wv sein, welches auch nach HTML, LaTeX oder PDF konvertieren kann. Gäbe es nun nicht noch das Docx-Format, ich könnte an dieser Stelle schon Schluss machen. Bis auf ein kleines Perl-Skript namens docx2txt habe ich bisher noch kein reines Konsolenprogramm gefunden, welches mir wie bei Antiword einfach nur den Inhalt als Text ausgibt oder diesen sogar in PDF umwandeln kann. Jedoch funktioniert docx2txt für mich leider nicht.
Bisher war deshalb auch mein einziger Ausweg aus dem Dilemma LibreOffice zum Betrachten zu benutzen oder besser gesagt unoconv, ein Werkzeug für die Kommandozeile, mit dem es z.B auch möglich ist PowerPoint-Folien zur schnellen Ansicht in PDF umzuwandeln.

unoconv -f pdf wiewirdmanmillionaer.ppt

Leider lässt es sich nicht alleine installieren und benötigt zum Funktionieren Teile der LibreOffice Suite.
Ich habe mich deswegen im IRC in #debian auf irc.debian.org nach weiteren Lösungsmöglichkeiten umgehört und zumindest noch eine interessante gefunden, wie man den Inhalt einer Docx-Datei auf der Konsole als Text darstellen kann.
Da Docx ein gezipptes Format ist, lässt es sich mit unzip MeineDatei.docx entpacken. Im Ordner word befindet sich danach der Hauptteil des Dokuments in der Datei document.xml. Mit Hilfe von xmllint, das im Paket libxml2-utils mitgeliefert wird, kann der Inhalt in ein Html-Format umgewandelt und z.B. mit dem Textbrowser elinks angeschaut werden.

xmllint --html document.xml > document.html
elinks document.html

Wie schon erwähnt gehören Anwendungen für die Konsole zum Arbeiten mit Tabellenkalkulation und Präsentationen (noch) nicht zu meinen Schwerpunkten und solange sich das nicht ändert, werde ich auch nicht so tun als wäre es so. Für den schnellen Blick in Office-Dokumente genügen mir aber die vorgestellten Programme und wer nach weiteren Ausschau halten möchte, findet in den Quellen auf der Software-Seite und insbesondere auf jaredandcoralee.com unter der Überschrift "Document Converter" noch einige interessante Alternativen.

Humblebundle Introversion Bundle

Es gibt neue Spiele für Linux aus dem Humblebundle Introversion Bundle. Im Rampenlicht stehen dieses Mal vier Spiele der englischen Spieleschmiede Introversion und die Klassiker Aquaria und Crayon Physics Deluxe.

  1. Darwinia
  2. Multiwinia
  3. DEFCON
  4. Uplink
  5. Aquaria
  6. Crayon Physics Deluxe

Dazu gibt es noch zwei Demospiele, die aber nur unter Windows spielbar sind, Subversion City Generator und Voxel Demo. Eventuell lassen sie sich mit Wine spielen.
Aquaria wurde schon im ersten Humblebundle verkauft und ist meiner Meinung nach den Kauf des Bundles alleine wert. Crayon Physics Deluxe wurde hingegen im Humble Indie Bundle #3 angeboten. Der einzige Nachteil im Moment, es fehlt einfach an Zeit alle Titel durchzuspielen. 😉
Wie immer bestimmt der Kunde den Preis, der sich zwischen Entwicklern, gemeinnützigen Projekten und dem Organisator aufteilen lässt.

Apt-Pinning für die Mutigen

Apt-Pinning. Ein oft genanntes Stichwort bei Debian und Co. Manchmal möchte man eine neuere Softwareversion installieren als diejenige, die in einer bestimmten Veröffentlichung von Debian- oder Ubuntu vorhanden ist. Die Gründe sind vielfältig. Vielleicht ist man lediglich an einem neuen Feature interessiert, andererseits kann man aber genauso gut auch auf ein neues Paket angewiesen sein oder es ausschließlich aus Neugier installieren.
Für Debian Stable gibt es genau aus diesem Grund das offizielle Backport-Projekt, mit dem sichergestellt ist, dass ausgewählte Pakete zwar aktueller sind als die bestehenden, aber immer noch stabil mit dem Gesamtsystem harmonieren.
Mit Apt-Pinning gibt es eine weitere Möglichkeit für erfahrene und fortgeschrittene Anwender aktuellere Software zu installieren. Insbesondere ist diese Methode für Debian Testing und Unstable interessant, wenn man z.B. Pakete aus dem Experimental Zweig zusätzlich installieren möchte und es kann unter Umständen auch für Debian Stable eine Option sein, wenn keine Backports vorhanden sind.
Meine Motivation für diesen Beitrag waren zwei Pakete in Debian Testing, die nicht aktualisiert wurden, obwohl in Unstable eine Version vorhanden war, die Bugs beseitigte.
Im Regelfall bin ich der typische, langweilige Debianbenutzer. Bei meinen Stable-Installationen läuft nur Stable, bei Testing nur Testing und bei Unstable...nur Unstable. Das ist zwar wenig aufregend, hat mich bisher aber immer vor instabilem Paket-Mischmasch bewahrt.
Manche ätzen, dass das Mischen von Paketen später nur mit der Suche nach Hilfe in irgendwelchen Foren oder IRC-Channels enden kann, wo die Methusalems dich erst einmal zu Abbitte und Buße auffordern. Du möchtest nicht wissen, was mit Leuten passiert, die eingestehen Ubuntu-PPAs mit Debianpaketen gemischt zu haben. Ihr seid also gewarnt! 😈
Apt-Pinning wird ausführlich und gut mit man apt_preferences erklärt. Hilfreich finde ich außerdem

Apt-Pinning anhand eines Beispiels

Bei meinem konkreten Problem ging es um Vim und Iceweasel. Vor einem Monat wurde ich durch Zufall auf #debian im IRC auf einen Bug in Vim aufmerksam gemacht, den ich zwei Stunden später dann per Reportbug gemeldet habe. Die Bearbeitung und Lösung des Problems war mustergültig. Der Paketverwalter bestätigte den Fehler und knapp zwei Wochen später war der Bug durch Upstream gefixt worden und das neue Paket in Debian Unstable. Doch auch Wochen danach kam davon nichts in Testing an. Mittlerweile hat es das Paket zwar nach Testing geschafft, doch gerade in so einem Fall kann Apt-Pinning weiterhelfen.
Mein anderer Favorit ist Iceweasel. In der Regel folge ich den Anweisungen auf mozilla.debian.net und habe zum gleichen Thema auch schon einen Beitrag geschrieben. Im Moment dauert es aber mal wieder mit dem Versionswechsel von 7 auf 8 und 9 ist nicht mehr weit entfernt.

Apt-Pinning Pin-Priorität

In einem solchen Fall ist Apt-Pinning sehr einfach global einzurichten. Standardmäßig wird jedem Paket, jeder Installation und Aktualisierung eine Priorität zugewiesen, von der man in der Regel gar nichts mitbekommt. Alle installierten Pakete haben Prioriät 100, alle anderen Pakete innerhalb einer Version wie z.B. Squeeze 500. Überprüfen lässt sich das mit

apt-cache policy

Die Zahlenwerte haben laut man apt_preferences eine unterschiedliche Gewichtung. Im Allgemeinen gilt umso höher der Zahlenwert, desto höher die Priorität ein Paket aus einer anderen Version zu installieren. Für mich funktioniert das Folgende ziemlich gut:
Erstellt euch in /etc/apt/apt.conf.d/ eine Datei mit beliebigem Namen. Ich habe hier 10default-release gewählt und editiert sie mit folgendem Inhalt. Z.B.:

APT::Default-Release "testing";

Das gilt natürlich nur für Debian Testing und sollte auf die entsprechende Debian Version geändert werden, die man gerade benutzt. Führt man danach ein aptitude update aus und anschließend apt-cache policy stellt man fest, dass sich die Priorität für die Pakete in Debian Testing auf 990 erhöht hat.
Zwar wäre das Folgende auch ohne diese Festlegung machbar gewesen, mir hilft es aber sicherzustellen, dass bei zukünftigen Updates immer Testing Pakete vor allen anderen bevorzugt werden.
Um nun Vim oder Iceweasel aus Debian Unstable zu installieren, muss man zuerst die Paketquellen in /etc/apt/sources.list aktualisieren und z.B. folgenden Eintrag für Unstable hinzufügen.

deb http://ftp.de.debian.org/debian unstable main

Danach lässt sich Iceweasel oder Vim aus Unstable mit

aptitude -t unstable install iceweasel vim

installieren. Bei zukünftigen Updates prüft Apt, ob die Version aus Unstable oder Testing neuer sein sollte. Da Testing bei mir eine höhere Priorität bekommen hat, wird im Zweifelsfall immer aus Testing installiert.
Das ist natürlich noch nicht alles. Apt kann mehr, viel mehr. Wenn ihr Ubuntu benutzt lässt sich z.B. explizit festlegen, ob ihr nur Pakete aus 10.04 bevorzugt oder doch besser 11.04. Wie wäre es, wenn man festlegen könnte, ob man nur bis Version X aus Debian Testing installiert und danach nur noch Pakete aus Experimental installiert? Wie schränke ich meine Prioritäten nur auf KDE-Pakete ein?
Apt ist ein wirklich sehr mächtiges und smartes Programm. Doch in der Regel kommt man wie oben beschrieben schon mit sehr wenig Aufwand aus und sollte beim Mischen von Paketen verschiedener Versionen immer skeptisch bleiben. Für alle, die sich eine maßgeschneiderte Preferences-Datei anlegen möchten, empfehle ich wie schon gesagt einen Blick in man apt_preferences zu werfen oder sich das folgende fortgeschrittene Beispiel anzuschauen.
Raphael Hertzog bezeichnete vor sieben Monaten die Installation von Gnome 3 aus Debian Experimental in Testing als "apt-pinning for the brave". Das zu bewerten, liegt wie immer bei euch. 😉

Linux im RAM: TinyCore am Beispiel Xorg-Server remastern

Vergangene Woche habe ich begonnen TinyCore etwas genauer unter die Lupe zu nehmen und die kleine Linuxdistribution auf einen USB-Stick installiert, von dem aus schließlich alles in den RAM meines Thinkpad 600 kopiert werden konnte. Noch nicht alles war perfekt. Der voreingestellte XVesa-Treiber versperrte mir den Blick auf den Desktop mit einem grünlich-blauen Schleier. Ich habe zwar noch eine Weile im Internet recherchiert, konnte aber keine Lösung zu dem XVesa-Problem finden.
Es wurde also Zeit TinyCore zu remastern, was in der Fachsprache dieser Linuxdistribution nichts anderes bedeutet als zusätzliche Softwarepakete zu installieren, überflüssige zu deinstallieren und die Stellschraube an der oder anderen Config-Datei zu drehen. TC bietet hier verschiedene Lösungsmöglichkeiten an:

  1. Die Zu-Fuß-Methode auf der Kommandozeile
  2. qremaster
  3. Ezremaster

Alle drei Methoden haben Vor-und Nachteile. Die Zu-Fuß-Methode setzt voraus, dass man sich wohl auf der Konsole fühlt, qremaster ist ein Shellskript, welches den Vorgang stark vereinfacht und Ezremaster ist ein grafisches Frontend, welches den gesamten Vorgang noch besser visualisiert und möglicherweise am intuitivsten ist.

TinyCore mit Hilfe von Ezremaster erweitern

  1. Pfad zum TinyCore-Abbild und zum temporären Verzeichnis


    Im ersten Schritt wählt man das Verzeichnis, indem sich entweder das multicore.iso, tinycore.iso, microcore.iso oder eine gemountete CD befindet. Die ISO-Dateien als Loop Device zu mounten funktioniert auch. Für mich war das /mnt/sr0 in Virtualbox. Für den Vorgang des Remasterns ist ein temporäres Verzeichnis notwendig, welches standardmäßig /tmp/ezremaster ist. Wer sehr viele Extensions, also neue Pakete, installieren möchte, sollte darüber nachdenken das Verzeichnis ggf. außerhalb von /tmp anzulegen, vor allem wenn RAM knapp ist.

  2. Boot-Codes und Backup


    Als nächstes lässt sich festlegen, mit welchen Boot Codes TinyCore gestartet werden soll. Für mich musste ich hier keine Einstellungen vornehmen. Wer aber z.B. Probleme mit der Auflösung hat, kann hier einen entsprechenden Parameter wie vga=791 für 1024x768 übergeben. Die sogenannte Backupdatei bietet die Möglichkeit gesicherte Einstellungen aus einer anderen TC-Installation in das neue Abbild zu übernehmen.

  3. Extensions installieren


    Der dritte Schritt ist das Installieren der zusätzlichen Software. Damit mein Thinkpad 600 wieder ein klares Bild liefert, habe ich mich für Xorg-7.6 entschieden, wozu ich mich zuerst mit dem Repositorium von TinyCore verbinden musste. Mit einem Klick auf "Connect to App Repo" ist dieses Thema abgehakt. Danach hat man folgende Möglichkeiten laut TinyCore Wiki.

    • Add App Outside initrd on boot / Add App Outside initrd. Diese Optionen werden die Erweiterungen im ISO-Image unter /tce/optional installieren. Wählt man Outside initrd apps on boot werden die Extensions zusätzlich in der Datei /tce/optional/onboot.lst aufgeführt, so dass sie automatisch beim Booten in den Arbeitsspeicher geladen werden. Die Methode Erweiterungen außerhalb der initial ramdisk zu installieren hat den Vorteil, dass weniger RAM notwendig ist um die Programme auszuführen. Die CD oder der USB-Stick darf dann aber nicht entfernt werden. Des Weiteren gibt es noch die Möglichkeit "copy2fs.flg" zu setzen, was dazu führt, dass die Erweiterung beim Booten schon in den RAM kopiert werden und das Installationsmedium danach entfernt werden kann. Das führt aber wieder zu mehr Speicherverbrauch.
    • Add App inside initrd on boot / Add App inside initrd. Diese Option installiert die Erweiterungen in die Initial-RAM-Disk (tinycore.gz) unter /opt/tce/optional. Wenn man "Inside initrd on boot" ausgewählt hat, werden die Namen der Extensions in die Datei /opt/tce/optional/onboot.lst geschrieben, so dass sie direkt beim Booten in den RAM kopiert werden und die CD/USB-Stick danach entfernt werden kann. Eine gute Methode, wenn man genügend Arbeitsspeicher zur Verfügung hat.
    • Add App Extract TCZ to initrd. Bei dieser Methode wird jede Extension beim Remasterprozess gemountet und in die extrahierte initrd installiert. Das soll eine bessere Performance als die "inside initrd" Option liefern bei gleichzeitig aber etwas größerem Speicherverbrauch, da nun die Extensions nicht mehr als komprimierte TCZ-Dateien vorliegen.

    Ich habe mich für "Add App inside initrd on boot" entschieden, da ich später alle Anwendungen im RAM laufen lassen und den USB-Stick entfernen möchte.

  4. Remaster-Prozess: Anfang


    Ab hier beginnt das eigentliche Remastern. Wer den Vorgang im Terminal beobachten möchte, wählt einfach die Checkbox aus. Der Vorgang kann, je nach dem wie viele Erweiterungen installiert werden sollen, eine Weile dauern.

  5. Remaster-Prozess: Finale


    Im letzten Schritt wird schließlich eine neue ISO-Datei erstellt, die sich danach erneut auf eine CD schreiben oder in Virtualbox mounten lässt. Bevor das aber geschieht, kann man ab jetzt noch verschiedene Konfigurationsdateien ändern und Veränderungen am Dateisystem selbst vornehmen. Wie in Schritt 3. schon erklärt, befinden sich die Extensions später in /opt/tce/optional. Hat man den Standardpfad für die temporären Dateien beibehalten, findet man die Erweiterungen vor dem Erstellen der ISO-Datei unter /tmp/ezremaster/extract/opt/tce/optional und kann überprüfen, ob zuvor alles glatt gelaufen ist.
    Im Verzeichnis /tmp/ezremaster/image/cde/optional befinden sich die Erweiterungen für die MultiCore-Version. Falls man in der neu erstellten ISO-Version auf die Tools zum Remastern verzichten kann, ist hier der richtige Ort um sie zu entfernen.
    Wenn man wieder alles auf einen USB-Stick schreiben möchte, muss man nur die neue Datei tinycore.gz in /tmp/ezremaster/image/boot/ auswählen und wie im alten Beitrag geschrieben weiter verfahren.

Das Ergebnis


Der X-Server wird automatisch mit Xorg eingerichtet. Insgesamt belegt das System ca. 100 MB im RAM und ist naturgemäß äußerst schnell. Der Speicherverbrauch ist aber noch zu hoch, da ich die zusätzlichen Extensions der MultiCore-Version noch nicht entfernt habe. Hier muss ich also in Zukunft noch ein wenig Hand anlegen. Positiv ist auch, dass meine ASUS WL-107G WLAN Karte automatisch erkannt wurde und mir TinyCores Wifi-Programm nun schon den Access Point anzeigt.
Als nächstes werde ich noch Dropbear als SSH-Server und einen Browser installieren und dann....mal schaun. 😉

Textverarbeitung, Tabellenkalkulation und Präsentation auf der Konsole

Ich habe keine Probleme damit zuzugeben, dass ich mittlerweile eine große Anzahl von Konsolenanwendungen regelmäßig benutze und ich sie nicht nur als letztes Mittel für Jahrzehnte alte Laptops, sondern auch für eine leichtbedienbare und effiziente Alternative für moderne Computer halte.
Es gibt aber auch Bereiche, in denen der Einsatz von Programmen für die Konsole unbefriedigend ist oder wo ich gespaltener Meinung bin. Ich käme nicht auf die Idee Bild- und Videobearbeitung ausschließlich auf der Konsole durchzuführen, obwohl natürlich das massenhafte Zurechtschneiden und Konvertieren von Bildern mit den geeigneten Programmen und seiner Lieblingsshell hervorragend funktioniert.
Auch 3D-Spiele sind nichts, wofür ich zwingend nach einer Konsolenalternative suchen müsste. Und dann wären da noch die sogenannten Büroarbeiten - Textverarbeitung, Tabellenkalkulation und die viel geliebten Präsentationen.

Textverarbeitung

Bei der Textverarbeitung sehe ich die geringsten Probleme. Tatsache ist, dass zu viele Texte "zu früh" oder gar unnötig mit Bürosoftware formatiert werden. In vielen Fällen würde es eine gut strukturierte Textdatei auch tun, die mit Hilfe von Editoren wie Vim oder Emacs verfasst wird. Außerdem spricht oft nichts dagegen Texte solange wie möglich in der Rohfassung zu belassen bis sie im letzten Schritt in ein ansprechendes Format gesetzt werden können. Für private Korrespondenz benutze ich deshalb nach wie vor entweder LibreOffice oder AbiWord und ansonsten einen schlichten Editor.

Tabellenkalkulation

Tabellenkalkulation wird immer dann praktisch, wenn man eine Teilnehmer- oder Getränkeliste erstellen will oder seine Finanzen planvoll ordnen möchte. Doch selten kommt es in privaten Haushalten vor, dass man zehntausende Zeilen Daten auswerten und zahllose Makros für Datenimport und -export verfassen muss. Mal abgesehen davon, dass ich Tabellenkalkulation im Allgemeinen nicht für die interessanteste Aufgabe halte, sehe ich abseits von automatisierten Prozessen kaum eine Notwendigkeit für eine Konsolenapplikation.
Das soll aber nicht heißen, dass es hier keine Alternativen geben würde. Als Lektüre empfehle ich K.Mandlas Tutorial "How to use teapot like a pro" und "Howto: Use Oleo like..like...like..". Ich gebe zu, dass ich nach dem Lesen des Tutorials zu Teapot der Vorstellung einer Tabellenkalkulation für die Konsole positiver gegenüberstehe und mir nun nicht nur mehr vorstellen kann damit einmal zu arbeiten.
Meine ersten Schritte mit Teapot habe ich dazu genutzt, den Wert der Laptops im zuletzt vorgestellten Post als Beispiel zu visualisieren, wozu ich den Preis für einen Neukauf und den für die gebrauchten Laptops gegenübergestellt habe. Ich weiß nicht gerade eine Herkulesaufgabe, für die es auch etwas Kopfrechnen getan hätte. In Teapot lassen sich aber auch beliebige Formeln eingeben, die sich mit den entsprechenden Funktionen natürlich auch in mehrere Zellen kopieren lassen und deren Werte automatisch bei einer Änderung in einer anderen Zelle angepasst werden.

Leider findet sich zur Zeit kein Paket in Debian, weshalb ich kurzerhand Teapot mit meiner Archlinux-Installation auf dem Inspiron 4000 ausprobiert habe. Das entsprechende PKGBUILD lässt sich wie in diesem Beitrag schon vorgestellt in AUR finden und mit makepkg -s schnell selbst bauen. Man sollte nur sicherstellen, dass make installiert ist.
Teapot besitzt viele grundlegende Funktionen, die man von jeder Tabellenkalkulation her kennt, einen vollwertigen Ersatz für LibreOffice Calc oder Gnumeric sollte man aber nicht erwarten.

Präsentation

Ok, hier muss ich passen. Präsentationen sind genauso etwas wie Schlipse, von denen ich hoffe, dass in Zukunft die Welt davon nur noch in Geschichtsbüchern lesen und sich darüber köstlich amüsieren wird. Ich habe schon eine Menge Präsentationen erstellt, aber noch nie eine rein für private Zwecke. Auch wenn ihr nun vielleicht schmunzelt, das soll nicht heißen, dass es keine Alternativen für die Konsole gäbe. Erwähnt seien hier die Programme Beamer, tpp und xsw. Ich habe davon noch keines ausprobiert, obwohl die reine Vorstellung auf den entsprechenden Webseiten vielversprechend aussieht.
In Zukunft soll das heißen: Selbst wenn ich in Sachen Konsolenapplikationen auch einmal skeptisch sein sollte. In der Regel hat mich vermutlich vor Jahren schon irgendjemand eines besseren belehrt. 🙂