Youtube-Videos mit Elinks und Mplayer anschauen

Wer kennt nicht das Problem. Man möchte schnell mal ein interessantes Video auf Youtube anschauen, aber der Browser braucht wieder eine gefühlte Ewigkeit um es abzuspielen. Die CPU ächzt, das Surfen wird zur Qual, Browser abgestürzt, Moment mal! Sieht man von "ab und zu" auftretenden Sicherheitslücken in Flash ab und der Tatsache, dass man mit Flash- und Super-Cookies recht leicht das Benutzerverhalten erfassen kann, ohne dass die meisten Nutzer überhaupt etwas davon ahnen, bringt Flash einige wirklich hübsche visuelle Animationen auf den Bildschirm.
Fraglich bleibt nur, wozu man eigentlich Flash benötigt, wenn man nur ein Video im Netz anschauen möchte. Zwar ist HTML5 unterwegs, doch wer schon heute zum Videos anschauen auf Flash verzichten möchte, dem kann mit Hilfe eines simplen Textbrowsers namens Elinks und dem Multimedia-Alleskönner Mplayer geholfen werden.
Die Grundidee ist einfach. Ausführlich vorgestellt wurde sie Anfang des Jahres in Englisch von Urukrama. Gesucht ist eine Anwendung, welche schnell Suchergebnisse von Youtube zurückliefert, die URL des Videos auflöst und per Tastendruck diese an eine weitere Multimediaanwendung zur Darstellung übergibt. Dabei kommen drei verschiedene Programme zum Einsatz.

  1. youtube-dl
  2. Youtube-dl ist ein Skript, welches Videos von youtube direkt von der Kommandozeile herunterladen kann.

  3. elinks
  4. Ein hervorragender Textbrowser mit einer Vielzahl an Optionen.

  5. mplayer
  6. DER Multimediaabspieler unter Linux. Mplayer ohne GUI ist die ressourcenschonendste Möglichkeit Videos anzuschauen.

15.01.2011 Update:
Seit dem 10.12.2010 hat youtube.com neue Sicherheitsvorkehrungen getroffen. Cookies dienen nun der Identifikation des Clients. Die notwendigen Veränderungen habe ich in die Skripte eingetragen. Alles funktioniert wieder wie beabsichtigt 😉
Vielen Dank an diesen Post auf multimedia.cx für die Lösung.
Als Alternative für youtube-dl bietet sich auch clive an.

utube-Skript erstellen

Als erstes muss ein ausführbares Skript erstellt werden, welches mit Hilfe von youtube-dl die youtube Video-URL auflöst und diese an mplayer übergibt, damit es direkt abgespielt werden kann. Das Skript kann z.B. utube heißen und muss mit chmod+x utube ausführbar gemacht werden. Danach wird es nach /usr/local/bin oder /usr/bin kopiert, damit es systemweit auf der Konsole ausgeführt werden kann. Neu seit dem 10.12.2010 ist die Notwendigkeit ein Cookie abzuspeichern, mit welchem man sich beim youtube Server identifiziert.
 

#!/bin/sh
COOKIE_FILE=/var/tmp/youtube-dl-cookies.txt
mplayer -cookies -cookies-file ${COOKIE_FILE} $(youtube-dl -g --cookies ${COOKIE_FILE} $1) > /dev/null 2>&1

Elinks konfigurieren

In Elinks die Taste "O" drücken und der Optionsmanager öffnet sich. Unter Dokument(e)>URI Deligierung einen neuen Eintrag hinzufügen und ihm z.B. den Namen youtube geben. Als Wert trägt man utube %c ein. Alles sichern und den Optionsmanager schließen.
Anschließend mit der Taste "K" den Tastenbelegungsmanager öffnen. In der Haupttabelle bis zur Option "Die URI des aktuellen Links an ein externes Programm übergeben" scrollen. An dieser Stelle lässt sich der Name der Taste definieren, z.B. y, mit der das utube Skript aufgerufen wird, sobald man auf youtube.com einen Videolink ausgewählt hat. Damit sind die Videolinks gemeint, die nach einer Suchanfrage auf youtube erscheinen. Es genügt also mit der Tastatur auf einen dieser Links zu steuern und y zu drücken, wonach das Skript seine Arbeit verrichtet und mplayer sofort mit dem Abspielen beginnt.
Um ein Video abspielen zu können, wenn man sich direkt auf der Videoseite befindet, muss im Tastenbelegungsmanager die Option "Die URI der aktuellen Ansicht an ein externes Programm übergeben" mit einer Taste oder Tastenkombination belegt sein. Ich habe hier Alt-y gewählt.

Youtube-Videos suchen leicht gemacht

Elinks bietet die Möglichkeit mit Hilfe eines sogenannten smart prefix eine Zeichenfolge durch eine kürzere zu ersetzen. Innerhalb von elinks öffnet sich mit der Taste "G" die Adresszeile des Textbrowsers. Hier könnte man z.B. youtube.com eingeben und landet dann auf der Seite des Videoportals. Von dort aus lässt sich über das Suchfeld nach Videos suchen, mit der Tastatur auf einen Videolink steuern und mit y das Video abspielen. Einfacher geht es, wenn man direkt in der Adresszeile nach den Videos suchen kann. Die direkte URL für Suchanfragen bei youtube lautet:

http://www.youtube.com/results?search_query=

Die Zeichenkette nach dem = wird von youtube ausgewertet und man erhält eine Liste von Videos zurück. Um nicht jedesmal erneut diese URL eingeben zu müssen, lässt sich diese in elinks zu einem einzelnen Buchstaben, einem smart prefix, umdefinieren.
Dazu muss man im Optionsmanager unter Protokolle>URI Veränderung>Komplexe Präfixe ein neues Zeichen hinzufügen und als Wert die oben genannte Such-URL eintragen und den Parameter %s anfügen. Ich habe hier ebenfalls y gewählt. Drückt man nun in elinks "G" und gibt

y beethoven mondscheinsonate

ein, erhält man eine Liste mit Videos zu Beethovens berühmter Sonate zurück und kann diese mit der Tastatur auswählen und durch Drücken von y abspielen, ohne den Umweg über youtube.com und das Suchfeld gehen zu müssen.

Youtube-Videos herunterladen

Natürlich funktioniert auch der direkte Download eines Videos. Folgendes Miniskript ebenfalls in /usr/local/bin/ abspeichern und wie oben beschrieben mit dem Optionsmanager in Elinks z.B. unter dem Namen "download" verfügbar machen. Danach erscheint ein weiterer Menüeintrag "download" sobald die Taste "y" bei ausgewähltem youtube Link gedrückt wird.

#!/bin/sh
cd ~/Videos/youtube/
youtube-dl -t $1 > /dev/null 2>&1

Zum Schluss

Es gibt zwar tolle Addons für den Firefox, mit denen sich Videos leicht von youtube herunterladen und dann mit einem Player der Wahl abspielen lassen. Auch bietet z.B. Totem mit Plugins die Möglichkeit Videos direkt aus dieser Multimediaanwendung abzuspielen.
Wer aber eine sehr effiziente und leichtgewichtige Lösung sucht um Youtube Videos auf nahezu jedem Rechner abzuspielen, ohne sie vorher herunterzuladen, sollte youtube-dl, elinks und mplayer eine Chance geben. Die oben genannte Lösung funktionierte sogar auf meinem Toshiba Laptop mit 64 MB RAM und 300 MHz CPU. Wer schafft es außer mplayer youtube Videos im Framebuffer abspielen zu können? 😛

Meine elinks.conf

elinks.conf.tar

Awesome: Ein kachelnder Fenstermanager

Nachdem ich mit Fluxbox meine ersten Erfahrungen mit reinen Fenstermanagern gemacht hatte, bin ich bei Urukramas Blog auf Awesome, einen sogenannten Tiling-Fenstermanager, gestoßen. Tiling lässt sich mit kachelartig übersetzen und am besten so erklären, dass die Fenster automatisch in einem bestimmten Raster angeordnet werden und es keinen Grund mehr gibt, diese z.B. mit der Maus in die richtige Position zu ziehen. Obwohl Awesome nach Aussage der Entwickler für die Zielgruppe der "Poweruser" entwickelt wurde, sind die grundlegenden Funktionen sehr intuitiv und unterscheiden sich nur wenig von anderen Fenstermanagern.
Urukrama beschreibt Awesome als Fenstermanager für die "coolen Kids". Positiv ist, dass er sich über die Skriptsprache LUA vielseitig an die eigenen Bedürfnisse anpassen lässt. Auf vielen Screenshots mit mehrfach geöffneten Terminals wirkt er aber manchmal wie eine Sonderlösung nur für Geeks (zu Unrecht wie ich finde).
Nachdem ich Awesome einfach mit Hilfe von apt installiert habe, gefiel mir auf Anhieb die simple Funktionsweise, die sich auf den ersten Blick nicht besonders von anderen Fenstermanagern unterscheidet. Durch einen Klick auf das links-oben angebrachte Awesome Logo oder mit einem Rechtsklick auf den Desktop erhält man Zugriff auf das Awesome Menü. Wie von Debian gewohnt findet man dort eine übersichtliche Zusammenfassung aller installierten Anwendungen und Möglichkeiten Awesome neu zu starten oder zu beenden.
Auf der anderen Seite lässt sich Awesome auch komfortabel ausschließlich über Tastenkürzel steuern und es ist möglich die geöffneten Fenster nach einem definierten Schema auf dem Desktop anzuordnen. Der erste Anlaufpunkt jedes Awesome Beginners sollte der englische Wiki Artikel "My first Awesome" auf der offiziellen Projekthomepage sein.


Die globale Konfigurationsdatei rc.lua befindet sich standardmäßig in /etc/xdg/awesome und sollte für den lokalen Nutzer immer nach ~/.config/awesome kopiert und dort auch angepasst werden. Alle wichtigen Optionen lassen sich ausschließlich über die Datei rc.lua steuern. Um das Hintergrundbild anzupassen genügt z.B. eine Suche nach dem Begriff "wallpaper" und das Anpassen des Bildpfades. Um Awesome im Regelfall mit der Tastatur zu steuern, ist die "Windows-Taste" (Mod4) als Funktionstaste voreingestellt. In Kombination mit weiteren Tasten lässt sich damit Awesome problemlos steuern.
Die wichtigsten Funktionen sind:

  • Mod4+Enter - Öffnet ein Terminalfenster
  • Mod4+r - Ermöglicht die Eingabe eines Befehls zum Starten von Programmen
  • Mod4+Space - Schaltet zwischen den verschiedenen Tiling Modi um
  • Mod4+f - Vergrößert das aktuelle Fenster zum Vollbild
  • Mod4+Zahl(1-9) - Wechselt zum Tag mit der Nummer 1-9
  • Mod4+Shift+Zahl(1-9) - Sendet das aktuelle Fenster an das Tag mit der Nummer 1-9
  • Mod4+Shift+c - Schließt das aktuelle Fenster / Programm

Awesome unterscheidet sich auch durch das Verwenden sogenannter "Tags". Sie sind zwar mit den gewohnten Arbeitsflächen vergleichbar, bieten aber zusätzlich z.B. die Möglichkeit Anwendungen in einem bestimmten Tiling Modus und auf einem bestimmten Tag starten zu lassen.
Mit Hilfe vorgefertigter Bibliotheken lassen sich Widgets (kleine Anwendungen in LUA) erstellen. Eine dieser Bibliotheken heißt Vicious und lässt sich als Tarball von http://git.sysphere.org/vicious/ herunterladen und muss danach nur noch in ~/.config/awesome/ entpackt werden. Um eine Netzwerklastanzeige wie im Screenshot dauerhaft anzuzeigen, muss nach der Codezeile --{{{ Wibox und vor dem "textclock" Widget folgender Code eingefügt werden:

-- {{{ Wibox
-- Netzwerklastanzeige
-- Widget initialisieren
netwidget = widget({ type = "textbox" })
-- Widget registrieren
vicious.register(netwidget, vicious.widgets.net, ‘${eth0 down_kb} ${eth0 up_kb}’, 3)

Danach muss das neue Netzwerk Widget noch sichtbar gemacht werden:

-- Wibox erstellen
mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Widgets zur Wibox hinzufügen - Reihenfolge spielt eine Rolle
mywibox[s].widgets = {
{
mylauncher,
mytaglist[s],
mypromptbox[s],
layout = awful.widget.layout.horizontal.leftright
},
mylayoutbox[s],
mytextclock,
netwidget,       -- DAS HINZUFÜGEN und Komma nicht vergessen!
s == 1 and mysystray or nil,
mytasklist[s],
layout = awful.widget.layout.horizontal.rightleft
}
end
-- }}}

Fazit

Awesome ist ein kleiner, flexibler und stabiler Fenstermanager. Wer am liebsten seine Anwendungen und Fenster mit der Tastatur bedient und gleichzeitig gerne von Haus aus durch verschiedene Tiling Modi alles am rechten Platz haben möchte, findet mit Awesome einen sehr guten Fenstermanager. Zusätzlich bietet Awesome mit einem Rechtsklickmenü und einem Panel aus anderen Fenstermanagern gewohnte Funktionen. Im Gegensatz zu diesen lässt sich Awesome komplett über die Datei rc.lua konfigurieren. Etwas Lust und Verständnis für Code in Textdateien gehört aber mit dazu. Bequeme grafische Lösungen zum Installieren der Widgets gibt es (noch) nicht. Awesome gehört für mich neben Fluxbox und Openbox zu ernsthaften Alternativen um eine flexible und gleichzeitig ressourcenschonende Desktopumgebung zu erstellen.
Wer komplett auf die Maus verzichten kann, sollte sich auch mal den Fenstermanager ratpoison anschauen. Zur weiteren Lektüre empfehle ich das Wiki auf der offiziellen Awesome Seite.

Der Energieverbrauch alter und neuer Computer

Schon seit langem hat mich die Antwort auf die Frage interessiert, ob ältere oder neuere Rechner die größeren Energieverbraucher sind. Seltsamerweise liest man immer wieder, dass durch den technischen Fortschritt insbesondere CPU und Grafikkarten immer leistungshungriger werden und deswegen der Energieverbrauch weiter zunimmt. Auf der anderen Seite wird gerade älteren PC unterstellt, dass sie große Energieverschwender und ineffizient seien.
Um etwas Licht ins Dunkel zu bringen, habe ich die Leistungsaufnahme meiner Heim-Rechner mit einem Strommessgerät gemessen.
Continue reading "Der Energieverbrauch alter und neuer Computer"

Tapping mit Squeeze und Synaptics Touchpad

Nach dem ansonsten reibungslos verlaufenden dist-upgrade meines Dell Inspiron 4000 mit Xfce Desktopumgebung, funktionierte das Tapping mit dem Laptop Touchpad plötzlich nicht mehr. Das Touchpad bei Dell und anderen namhaften Herstellern wird von der Firma Synaptics hergestellt. In den meisten Fällen wird es automatisch erkannt. In manchen Fällen lässt sich mit ein paar Handgriffen nachhelfen.
Continue reading "Tapping mit Squeeze und Synaptics Touchpad"

Festplatten und USB-Sticks mit dm-crypt und LUKS verschlüsseln

Seit der Veröffentlichung von Debian Etch nutze ich standardmäßig die Festplattenverschlüsselung mit LVM des Debian-Installationsprogramms. Im folgenden möchte ich kurz die wichtigsten Schritte aufzählen, die nötig sind um eine einzelne USB-Festplatte oder einen USB-Stick zu verschlüsseln und über dabei gemachte Erfahrungen berichten. Mir hat der umfangreiche Artikel Festplattenverschlüsselung mit Debian GNU/Linux sehr geholfen, welchen ich ebenfalls unbedingt empfehle zu lesen.
Continue reading "Festplatten und USB-Sticks mit dm-crypt und LUKS verschlüsseln"

Wie ein 20 Jahre alter Laptop das Kaffeekochen nicht lernen wollte

An dieser Stelle sollte eigentlich die heroische Geschichte erzählt werden, wie es mir gelungen ist, einen knapp 20 Jahre alten Highscreen-486er-SLC-33-Laptop mit 2 MB RAM, dem Linuxkernel und GNU-Programmen in einen furiosen Server mit einigen sehr nützlichen Konsolenanwendungen zu verwandeln. Leider begannen die Probleme schon bei der Suche nach einer geeigneten Installationsmöglichkeit, denn außer einem 1,44 Zoll Diskettenlaufwerk und einer seriellen Schnittstelle hatte der alte Highscreen nicht viel zu bieten.
Angefangen hatte es mit einer Suche nach günstigen alten Rechnern auf einer allseits bekannten Onlineplattform. Mit dem Filter für Netbooks/Notebooks, Bald Endend und einer Obergrenze von 10 Euro ging ich auf Schnäppchenjagd. Nachdem ich einige Pentium-II-Laptops mit 32 MB RAM im Visier hatte, fiel meine Aufmerksamkeit plötzlich auf einen 486er-Highscreen-Laptop, einen wirklichen Oldy. Viel war aus der Beschreibung nicht zu entnehmen und weder die Größe des Arbeitsspeichers noch die Festplattengröße waren bekannt. Eine weitere Suche im Internet brachte einen wahrscheinlichen Arbeitsspeicher von 4-8 MB zu Tage und dass es sich vermutlich um eine CPU der Firma Cyrix handeln musste.
Für knapp 6 Euro + Versandkosten erhielt ich den Zuschlag und eine Woche später machte ich mich daran herauszufinden, was ich da eigentlich ersteigert hatte und wo die Grenzen einer sinnvollen Linuxinstallation lagen.
Das BIOS gab sich am Anfang wenig aussagefreudig. Mal waren Werte falsch eingestellt oder fehlten ganz, so dass es anfangs so aussah als wäre nicht einmal eine Festplatte eingebaut worden. Die Angabe "Mainprocessor 386" half auch nicht viel weiter. Zu guter Letzt musste ich erkennen, dass weder acht noch vier sondern lediglich 2 MB RAM im Inneren steckten und für einen Netzwerkbetrieb zusätzlich ein Adapter für RJ45 notwendig war.
Zum Glück hatte ich noch eine alte Rettungsdiskette meiner ersten Linuxdistribution RedHat 8.0 in auffallend roter Farbe herumliegen. Im Bootmenü ließen sich verschiedene Optionen an den Linuxkernel übergeben, darunter auch die Option "lowmem", die mir bei nur 2 MB RAM vernünftig erschien. Nach einigen klackernden Geräuschen des sich drehenden 1,44 Zoll Laufwerks, kam aber leider nur die nüchterne Nachricht

Less than 4 MB RAM
System halted

Auch mit verschiedenen anderen Optionen oder mit dem normalen Bootvorgang ging es nicht weiter. An dieser Stelle ahnte ich schon, dass es schwieriger als gedacht werden würde überhaupt etwas herauszufinden.
Danach begab ich mich auf die Suche nach Linuxdistributionen bei Wikipedia.org oder anderen Projekten, die versprachen mit 2 MB RAM zurecht zu kommen. Auch diese Liste mit kleinen Linuxdistributionen war hilfreich. Obwohl es viele Linuxsysteme gab, die geringe Anforderungen an die Hardware hatten, war bei den meisten dennoch bei 6-8 MB RAM Mindestvoraussetzung Schluss. Vielleicht am nächsten dran waren Tiny Core Linux oder Slitaz. Im Grunde genommen kamen aber nur Distributionen in Frage, die sich auch über 1,44 Zoll Disketten installieren ließen. Außerdem sollten grundlegende Linuxprogramme vorhanden sein.
Schließlich landete ich auf der Seite von BusyBox, einem Programm, dass viele verschiedene UNIX-Werkzeuge in einem Programm enthält und gemessen an der Vielseitigkeit winzig klein ist. Zahlreiche Distributionen setzen BusyBox standardmäßig ein darunter auch Debian. Wer schon einmal während einer Debian-Installation auf die Konsole gewechselt ist, wird BusyBox schnell finden.
Auf der Produktseite von BusyBox gab es eine weitere Liste mit interessanten Projekten, die für eine absolute Minimalinstallation in Frage kamen. Wenn man es richtig machen möchte,gibt es auch die Möglichkeit sich sein eigenes BusyBox-System zusammenzustellen.
Trotzdem es viele gute Hinweise gab und sogar eine Anleitung wie man seine eigene Linux-Bootdiskette erstellt, suchte ich immer noch nach einer fertigen Distribution, die ohne Murren auch 2 MB RAM akzeptieren wollte.
Die letzte Chance schienen Small Linux und Basic Linux zu sein, wobei erstere tatsächlich 2 MB Arbeitsspeicher als Minimalvoraussetzung versprach. Scheinbar wird Small Linux aber schon seit Jahren nicht mehr weiterentwickelt und nur der erste Link auf der Small Linux Downloadseite führte mich zum Download der Version 0.75. Mit dem Programm dd und zwei 1,44 Zoll Disketten erstellte ich dann eine Boot- und Rootdiskette.

dd if=Pfad_zur_Image_Datei of=/dev/fd0

Tatsächlich konnte ich mit der Lowmem-Einstellung hier zum ersten Mal mehr über den Laptop herausfinden ohne ihn komplett auseinander nehmen zu müssen. Dabei stellte ich fest, dass eine 60 MB Festplatte von Western Digital vorhanden war. Als es aber an das Wechseln zur Rootdiskette kam und sogar schon "Welcome to Small Linux" erschien, wurden alle weiteren Versuche mit einer Fehlernachricht beendet.

can't load library libc.so.5
can't map /lib/libc.so.5

Vielleicht war die Datei libc.so.5 nur defekt, eventuell saß das Problem auch tiefer. An dieser Stelle war vorerst Schluss. Nachdem ich die Festplatte im Bios aktiviert hatte und von dort bootete, landete ich bei einer alten DOS-Installation. Der DOS Befehl msd verriet leider auch nicht mehr über das Innenleben des Highscreen-Laptops. Letztlich versuchte ich es noch einmal mit dem DOS-Programm chkcpu, welches einen 386-Prozessor mit einer Taktfrequenz von 20 MHz ermittelte. Wie das mit dem Logo eines 486 SLC 33 zusammenpasst, konnte ich mir nur so erklären, dass die Hybrid-CPU von Cyrix nicht richtig erkannt worden war oder hier tatsächlich ein wahrer Oldtimer vor mir stand.
Hierher und nicht weiter. Ich hatte noch in Erwägung gezogen die Festplatte auszubauen und mit Hilfe von debootstrap ein Debian-Komplettsystem zu installieren oder ein in VirtualBox erzeugtes Image mit dd auf die Festplatte zu schreiben.  Auch im FTP-Archiv von Debian war ich unterwegs und habe mir dort mit der alten Version Hamm Startdisketten erstellt. Leider kam es zum gleichen Ergebnis wie mit der RedHat-Rettungsdiskette.
Alles in allem hat es Spaß gemacht nach Möglichkeiten zu suchen um einen 20 Jahre alten Laptop wieder zum Laufen zu bringen. Fairerweise muss man aber auch sagen, dass 2 MB Arbeitsspeicher zu wenig sind um irgendetwas Sinnvolles damit anzustellen. Die absolute Untergrenze sehe ich nun bei 4 MB RAM besser aber 8 MB. Neben der interessanten Einsicht, dass es immer noch Projekte gibt, die sich mit solch alter Hardware beschäftigen, habe ich nun ein paar Ideen bekommen wie man seine eigene Mini-Linuxdistribution erstellen könnte. Einen schnellen und einfachen Weg gibt es aber bei dieser Minimalkonfiguration nicht.
Mein Tipp ist deswegen auch nach preisgünstigen Pentium Laptops mit 32 MB RAM und mehr Ausschau zu halten. Teilweise gibt es diese schon zwischen 10-20 Euro zu haben und es eröffnen sich gleichzeitig zahlreiche Verwendungsmöglichkeiten. Zum Kaffeekochen bleibe ich bei meiner Kaffeemaschine.
Und so sah ein Laptop vor 20 Jahren mit Monochrom Display aus.

Dillo2 mit Debian Squeeze kompilieren

Scheinbar hat es Dillo2 nicht mehr in Squeeze geschafft. Seit dem 06. August 2010 ist die kommende stabile Debian Version "Squeeze" eingefroren, d.h. es kommen keine neuen Pakete mehr hinzu und nur noch Fehler werden beseitigt. Da Dillo2 selbst in sid nicht auftaucht, wird noch eine Weile vergehen bis man diesen leichtgewichtigen Browser in Debian wiederfinden kann. Passend dazu kann man auf der Fehlerreport Seite von Debian nachlesen, dass auch die alte Version von Dillo aus dem Debianarchiv gelöscht wurde, weil Dillo von veralteten Bibliotheken abhängig war und Fehler seit Monaten nicht mehr ausgebessert werden, was die Entwickler auch zugeben.
Ich habe mich mal hingesetzt und Dillo2 mit der neuen FLTK2 Bibliothek auf meinem Toshiba Portégé 3110CT mit Debian Squeeze kompiliert. Es gibt dazu eine Anleitung auf der offiziellen Dillo Homepage. Leider geht die README.unix Datei nur ungenau darauf ein wie die Pakete heißen, welche für ein erfolgreiches Kompilieren notwendig sind und man muss zuerst einmal die richtigen X, jpeg und mesa Pakete finden.
Als erstes muss die FLTK2 Bibliothek übersetzt werden. Die Quelldateien gibt es hier. Ich habe Version 2.0.x-r7680 benutzt. Für Debian Squeeze müssen dann zuerst folgende Pakete installiert werden.

aptitude install

  • build-essential
  • xserver-xorg-dev
  • libx11-dev
  • libxi-dev
  • libjpeg-dev
  • libglu1-mesa-dev
  • libpng12-dev
  • libxcursor-dev
  • libglut3-dev
  • zlib1g-dev (für Dillo2)

Danach einfach die Datei mit tar jxvf fltk-2.0.x-r7680.tar.bz2 z.B. in /tmp entpacken, in das Verzeichnis wechseln, make ausführen, Root werden oder ein Programm wie fakeroot nutzen und FLTK2 mit make install installieren

cd fltk-2.0.x-r7680
make
su
make install

Die neueste Dillo2 Entwicklerversion herunterladen. In das Dillo Verzeichnis wechseln und Dillo2 kompilieren.

./configure
make
su
make install-strip

dillo auf der Konsole eingeben und loslegen!
Es hilft, wenn man den ./configure Dialog bei FLTK2 und Dillo2 beobachtet. Sollten dort zu viele Tests fehlschlagen, kann es entweder sein, dass man ohne das Installieren von zusätzlichen Paketen Dillo2 gar nicht übersetzen kann oder wie bei mir nach dem ersten Übersetzen ohne PNG Unterstützung dasteht. Die oben aufgelisteten Pakete waren dann aber beim zweiten Mal ausreichend, um Dillo2 zum Laufen zu bekommen.
Hier noch ein kurzer Vergleich zwischen Dillo2 und Links2. Ich habe jeweils Screenshots von bbc.co.uk, dillo.org und gambaru.de aufgenommen. Rechts ist dillo2 zu sehen und links links2. Die dillo.org Seite sah identisch bei beiden aus.


Dillo2 startet in zwei Sekunden auf dem älteren Laptop und bietet nun auch ausreichende CSS Unterstützung. Mit float Anweisungen scheinen beide Browser nicht perfekt umgehen zu können. Zu einem kurzen Blick auf Webseiten reichen beide aus. Die Nachteile gegenüber modernen Alternativen sind aber auch unverkennbar. Besonders beachten sollte man, dass Dillo2 https nicht vollständig unterstützt und deshalb für sicheres Surfen nicht zu empfehlen ist.
Für mich sind beide Browser dennoch nützliche Programme auf einem altersschwachen Rechner, wenn es nur darauf ankommt schnell eine Information zu finden.

LVM Größe von Logical Volumes anpassen

Sowohl Debian als auch Ubuntu bieten bei der Installation die Möglichkeit an, anstatt der üblichen Partitionierung der Festplatte noch eine Zwischenschicht einzubauen, um später die Größe von Logical Volumes dynamisch anpassen zu können. Diese logische Zwischenschicht heißt Logical Volume Manager. Die wichtigsten Komponenten sind das Physical Volume, eine Partition oder Festplatte, die Volume Group, welche mehrere Physical Volumes zusammenfassen kann und die Logical Volumes, welche sich wiederum in diesem System wie eine Partition verhalten. Da ich etwas enttäuscht vom einzigen grafischen LVM Programm system-config-lvm war, sind hier die Schritte für die Konsole.
Im einfachsten Fall repräsentiert das Physical Volume wie bei mir die einzige eingebaute Festplatte und bildet eine Volume Group. Innerhalb dieser Gruppe befinden sich bei der geführten Installation mit Ubuntu lediglich die Logical Volumes für root und swap. Bei der Installation hatte ich aber absichtlich nicht den gesamten Festplattenspeicher benutzt, sondern noch circa 90 GB freigelassen.

Logical Volumes erstellen

Daraus entstand ein weiteres Logical Volume für Virtualbox mit 40 GB Festplattenspeicher. So etwas lässt sich mit dem Befehl

sudo lvcreate -L 40G -n <volume> <group>

schnell anlegen, wobei für <volume> virtualbox und für <group> der Name der Volume Group eingesetzt werden muss, welche bei der geführten Installation immer dem Rechnernamen entspricht. Anschließend muss noch ein Dateisystem angelegt werden z.B. ext3

sudo mkfs.ext3 /dev/<group>/<volume>

Logical Volumes vergrößern und verkleinern

Um nun einem Logical Volume wie virtualbox oder root mehr Speicherplatz zuzuweisen und wie in diesem Fall um 50 Gigabyte zu vergrößern, genügt es

sudo lvextend -L +50G /dev/<group>/<volume>

auszuführen und anschließend das Dateisystem des Logical Volumes an die neue Größe mit

sudo resize2fs -p /dev/<group>/<volume>

anzupassen. Das Vergrößern funktioniert mit ext3 auch im eingehängten Zustand. Möchte man das Logical Volume verkleinern genügt es lvextend mit lvreduce zu ersetzen und den Parameter L anzupassen. Aber Vorsicht! Anders als bei der Vergrößerung muss das Dateisystem vor der Verkleinerung angepasst sein, ansonsten kommt es zum Datenverlust. Dabei muss an den Befehl zusätzlich noch ein Parameter für die gewünschte Größe angehängt werden, z.B.

sudo resize2fs -p /dev/<group>/<volume> 20G

Dies hätte das ursprüngliche virtualbox Volume halbiert. Um ein Logical Volume unter ext3 zu verkleinern darf es nicht gemountet sein! Deshalb empfiehlt es sich vor der Verkleinerung von Dateisystemen immer ein Backup zu machen und vor der Verkleinerung das Dateisystem auf Fehler zu überprüfen mit

e2fsck -f /dev/<group>/<volume>

Snapshots erzeugen

Eine weitere nützliche Möglichkeit von LVM ist das Anlegen von sogenannten Snapshots, also Abbildern einzelner Logical Volumes. Dafür benötigt man lediglich noch etwas unzugeordneten freien Festplattenspeicher, aber keinesfalls den gleichen Platz, den das Original einnimmt.

sudo lvcreate -L 1G -s -n backup /dev/<group>/<volume>

Wenn die Änderungen am Original Volume größer als 1 Gigabyte werden, wird das Abbild inkonsistent. Sprich, es entspricht in diesem Moment nicht mehr dem Original. Der Speicherplatz für snapshots dient also lediglich dazu Veränderungen am Original zu erfassen. Das Abbild lässt sich dann z.B. in einen Backup Ordner mounten und mit der bevorzugten Backup Methode archivieren wie z.B. tar oder rsync und dd für bitweise Archivierung. Um das Abbild zu entfernen genügt ein

sudo lvremove /dev/<group>/<volume>

Links

Logical Volume Manager im Wiki auf ubuntuusers.de

Alpine in fünf Minuten

Alpine ist ein auf Ncurses-basierendes Emailprogramm der Universität von Washington. Es lässt sich unkompliziert installieren, auch ohne X-Umgebung von der Shell aus bedienen und ist insbesondere für ältere Computer mit wenig Arbeitsspeicher und Prozessorleistung eine hervorragende Alternative zu grafischen Email-Programmen. Im folgenden möchte ich in wenigen Schritten erklären, wie man Alpine unter Debian installiert und für einen kostenlosen GMX-Account konfiguriert.

1. Schritt: Installation

aptitude install alpine

2. Schritt: Alpine starten

Die Eingabe des Kommandos alpine auf der Konsole startet das Programm. Danach befindet man sich im Hauptmenü.


Mit der Taste "S" gelangt man in das Setup Menü und kann sich dort zwischen verschiedenen Hauptkonfigurationen entscheiden. Um einen Email-Account einzurichten, einfach "C" drücken.

3. Schritt: Email-Account einrichten


Die entscheidenden Zeilen sind die ersten drei und die Zeile "Inbox Path". Unter Personal Name sollte der eigene Name stehen. User Domain ist eine Variable, die Alpine hilft verschiedene Nutzer lokal zuzuordnen und wird an Emails angehängt. Es genügt gmx.de oder den Posteingangsserver von GMX anzugeben. Die Zeile SMTP-Server steht für den Mail-Ausgangsserver, welcher in diesem Fall mail.gmx.net heißen muss.
In der Zeile "Inbox Path" muss der Pfad zum Inbox-Ordner auf dem GMX-Server eingetragen werden, der beim Abruf neuer Emails von Alpine angesteuert wird. Hier muss es

{pop.gmx.net/pop3/user=EURE EMAIL-ADRESSE}inbox

heißen.

4. Schritt: Den Email-Header richtig einrichten


Scrollt man weiter nach unten trifft man irgendwann auf die Zeile "Customized Headers". Dort muss die FROM Zeile richtig ausgefüllt werden, damit GMX das Versenden von Emails akzeptiert. Der Aufbau ist einfach

From: EUER NAME<EURE EMAIL-ADRESSE>

Danke auch an diesen Thread auf debianforum.de, der das Problem mit der From Angabe im Email Kopf gelöst hat.

5. Schritt: Emails verfassen


Zurück geht es in das Hauptmenü mit der Taste <>. Dort kann man mit "L" entweder die Emails abrufen oder mit "C" neue Emails verfassen. Ist man in der Zeile "To" und drückt STRG+R, erscheinen weitere versteckte Felder wie z.B. "BCC". Ist man im Feld "Attchmnt" und drückt STRG+J, kann man eine Datei an die Email anhängen. Mit STRG+X wird die Email abgeschickt. Das geht bei GMX aber erst, nachdem die Inbox abgerufen wurde.

Alternativmethode

Noch eine Spur einfacher geht es, wenn man nicht auf den SMTP-Server von GMX angewiesen ist und z.B. auch noch Googlemail benutzt. Als Vorbereitung muss die Option "Enable Incoming Folders Collection" im Setup Menü aktiviert sein und Alpine einmal neu gestartet werden. Um mehrere Accounts anzulegen und alle Mails über Googlemail zu verschicken, geht man danach so vor:

    1. Im Setup Menü trägt man nun als SMTP-Server smtp.googlemail.com ein. Alle anderen Optionen kann man sich sparen.
    2. Danach geht es wieder zurück in das Hauptmenü und mit "L" in die Ordneransicht.
    3. In Incoming Message Folders einfach "a" drücken und neue Inbox-Ordner für jeden eurer Accounts hinzufügen.
    4. In der Abfrage "Name of server to contain added folder" muss für IMAP bei Googlemail folgendes stehen:

imap.googlemail.com/ssl/user=EUER ACCOUNTNAME@googlemail.com

  1. Mit Enter bestätigen und bei Folder on... to add: inbox schreiben. Als Nickname kann man sich danach einen beliebigen Namen für den Account ausdenken.
  2. Um das Accountpasswort nicht jedes mal neu eingeben zu müssen, genügt es im HOME-Verzeichnis, dort wo auch die Datei .pinerc liegt,

touch .pine-passfile

einzugeben. Die Passwörter werden anschließend in .pine-passfile schwach verschlüsselt gespeichert.

Noch eine Möglichkeit

Marlon hat mir am 22.08.2012 noch diesen Tipp per E-Mail zugeschickt.
Möchte man auf mehrere Postfächer mit Alpine zugreifen, so ist dies mit ein paar einfachen Handgriffen möglich:
Wie gewohnt gelangt man, wenn man S im Hauptmenü drückt, ins Setup und über C in die Konfiguration. Unter 'Advanced User Preferences' muss man nun die Option 'Expose Hidden Config' auswählen und danach findet man weiter unten die 'Normally hidden configuration options'. Die erste Option ist gleich 'Incoming Folders' und hier können weitere Postfächer angegeben werden.
Die Syntax lautet wie folgt (ohne () ):

(Ordner-Name in der Folder-List) {(Server)/(Verschlüsselung)/user=(E-Mailadresse)}INBOX

Zum Schluss

Alpine bietet noch sehr viel mehr Optionen, darunter z.B. auch Filter und Signaturen. Alle grundlegenden Einstellungen kann man auch in der versteckten Datei .pinerc im Homeverzeichnis vornehmen. Das einzige was bei Alpine fehlt, ist die Möglichkeit Emails mit GnuPG zu verschlüsseln. Das Projekt Topal-Alpine versucht hier Abhilfe zu schaffen. Testen konnte ich es bisher noch nicht. Weitere Ideen zur Konfiguration habe ich hier veröffentlicht.
Übrigens...laut Wikipedia nutzt Linus Torvalds Alpine als Email Client!

Die Sache mit den alten Computern

In den Weiten des Internets gibt es viele interessante Seiten, die sich mit Linux und dem Thema, wie man alten Computern wieder neues Leben einhauchen kann, beschäftigen. Ohne das Altbekannte erneut zu erzählen, möchte ich ein paar Gedanken zu dem Thema einwerfen und danach drei sehr gute Webseiten vorstellen, die sich auch mit dem Thema befassen.
Doch warum sich überhaupt damit beschäftigen? In den letzten 10 Jahren haben sich einige "alte" Computer bei mir angesammelt und bisher habe ich es nie übers Herz gebracht funktionierende Hardware einfach wegzuwerfen. Ein geschenktes Motherboard mit Intel Celeron 1,5GHz CPU bekam ein Gehäuse, Netzteil und Festplatte verpasst und dient seit Jahren als Testrechner und Server.
Speedy fristete die letzten Jahre bei einem Freund als Windows98-Jukebox, bevor es nun mit Hilfe von Debian einige neue Tricks kennengelernt hat und dank USB-WLAN-Stick auch zum ersten Mal richtig mobil sein darf. Ein Dell Inspiron 4000 Notebook benutze ich zum Surfen, Mailen und Programmieren von Webseiten.
Die Reihe ließe sich fortsetzen. Über die Jahre hinweg habe ich mit diesen Computern einiges über GNU/Linux gelernt. Verwaisten Rechnern ein neues zu Hause geben, damit das Konfliktpotential im eigenen Heim zu erhöhen und es langfristig unbewohnbar zu machen ist eine andere Geschichte.

Warum veralten Rechner eigentlich so schnell?

Es scheint ein ehernes Gesetz zu sein, dass Computer alle zwei Jahre neu gekauft werden müssen. Das Textverarbeitungsprogramm benötigt einen neuen 3D Beschleuniger und mehr Grafikspeicher, der Klang der mp3 Dateien wird mit der Zeit kratzig und stumpf und Emails lassen sich nur noch mit Quad Core CPU abrufen. Das neue Betriebssystem aus Redmond mit dem strahlend neuen DirectX, welches es auch nur für diese neue Version gibt, hätte gerne 500 MB RAM besser 1 GB.
Natürlich entwickelt sich auch die Technologie weiter und Multimedia mit hochauflösenden Videos und Compositing-Effekte treibt die Entwicklung vorwärts. Womit auch der ausschlaggebende Grund angesprochen ist, weshalb Computer regelmäßig ersetzt werden "müssen" - zusätzlicher grafischer Augenschmaus, PC-Spiele und eine oft nicht vorhandene Kompatibilität zwischen älterer und neuerer proprietärer Software.
Wenn es gewollt wäre, könnten auch aktuelle proprietäre Betriebssysteme so anpassbar sein, dass sie weiterhin auch auf älterer Hardware lauffähig bleiben würden. Doch wer möchte das?
Meiner Annahme nach beruht die starke Marktstellung von Windows bei Privatanwendern darauf, dass es praktisch automatisch jedem neu gekauften Computer als Betriebssystem beiliegt. Oder wie mir ein Mitarbeiter des "Ich-bin-doch-nicht-blöd-Markts" einmal glaubhaft versichern konnte, sei es Windows zu verdanken, dass Computer so günstig angeboten werden können. Der andere entscheidende Faktor ist die Entwicklung von PC Spielen und dies mit erster Priorität für Microsofts API DirectX.
Manche mögen es bestreiten, aber der PC wurde noch nie ausschließlich für reine Büroarbeit benutzt. Fotorealistische Grafik, authentische physikalische Effekte, spiegelnde Wasseroberflächen und hochauflösende Texturen sind gefordert. Und wenn das Lieblingsspiel nur unter Windows läuft und dieses Betriebssystem mit dem neuen Rechner verkauft wird, überlegt man nicht lange und wägt die Alternativen ab. Außerdem werden Computer dadurch günstiger!
Gerade der letzte Punkt ist ein Grund, warum ich die Thematik Spielen mit Linux ebenfalls aufgegriffen habe und die freien Alternativen zeigen möchte.

Das passende Betriebssystem für al(l)te Computer

Man kann das Ganze aus zwei Richtungen sehen - der Praktischen und der Philosophischen.

  • Die Praktische: Jedes Betriebssystem ist geeignet, welches diese alte Kiste wieder zum Laufen bekommt. Namen sind Schall und Rauch. Windows, MacOS, Linux, BSD, OpenSolaris, OS2/Warp (wer kennt das noch?) Hauptsache es funktioniert! Unter diesem Gesichtspunkt muss man leider schnell feststellen, dass Windows3.11, Win95 und Win98 nicht mehr von Microsoft unterstützt werden, obwohl sie für diese Art Hardware einmal entwickelt worden sind. Treiber für aktuelle Peripheriegeräte zu finden, gestaltet sich mitunter äußerst schwierig bis unmöglich. Dazu kommt die notorische Instabilität und der Bluescreen des Todes, was für mich schließlich nicht der letzte Grund war vor 10 Jahren nach Alternativen Ausschau zu halten. Des weiteren gibt es viele aktuelle Windowsprogramme, die nur noch für aktuelle Systeme entwickelt werden und für ältere Windowsversionen nicht zur Verfügung stehen. Im Gegensatz dazu ist GNU/Linux frei, äußerst flexibel an die jeweiligen Bedürfnisse anpassbar und vollkommen kostenlos.
  • Die Philosophische: Sollte Information immer durch freie und quelloffene Standards und Software zugänglich sein oder ist es legitim, wenn Standards von einzelnen Unternehmen festgelegt werden und der Austausch von Informationen mit Konkurrenzprodukten eingeschränkt wird? Sollte jeder die Freiheit haben Software für jeden Zweck zu benutzen, die Freiheit verstehen zu dürfen wie das Programm funktioniert, die Freiheit haben Kopien davon weiter zu verbreiten und die Freiheit den Code zu verbessern und der Öffentlichkeit verfügbar zu machen? Wenn wir in einer Wissensgesellschaft leben wollen, wie möchten wir sicherstellen, dass jeder Zugang zu diesem Wissen erlangen kann, gleichberechtigt und frei?

Für mich steht daher fest, dass freie Software wie z.B GNU/Linux am besten geeignet ist um auf Computern installiert zu werden, denn sie schneidet unter beiden Gesichtspunkten am besten ab. Aber für all diejenigen, die bis hierher gelesen haben, war das sowieso klar oder etwa nicht? 😉
Immer wieder kommt auch die Diskussion auf, welche Linux Distribution die geeignetste oder sogar beste sei um alte Rechner wieder flott zu machen. Ich denke, man sollte die Distribution wählen, mit der man am besten zurecht kommt. Eine der schönsten Facetten von Linux ist die Tatsache, dass man die Wahl hat. Irgendwann bin ich an Debian hängen geblieben, weil mich sowohl die Qualität der Debian Distribution als auch die Philosophie, die dahinter steht, überzeugt haben und nicht zu vergessen das phänomenale apt.
Natürlich gibt es zahlreiche andere Distributionen, jede hat andere Stärken, setzt andere Schwerpunkte. Als besonders leichtgewichtige Distributionen gelten nach eigener Aussage Damn Small Linux, DeliLinux und PuppyLinux. Sie haben sich auf die Fahnen geschrieben besonders für ältere Rechner besser geeignet zu sein als große Distributionen wie z.B. Fedora, Mandriva, SuSeLinux oder Ubuntu.
Bisher beschränken sich meine Experimente nur auf Damn Small Linux (DSL), was wirklich mit sehr geringen Anforderungen an die Hardware daherkommt und auf Debian basiert, aber auch den Nachteil hat nicht den gleichen Softwareumfang wie Debian zu bieten und auch weniger in der täglichen Praxis getestet wird. K.Mandla hat weitere Distributionen für "langsame" Rechner unter die Lupe genommen mit nicht ganz überraschendem Ausgang 🙂
Bevor ich mich auf eine andere Distribution stürze, versuche ich deshalb zuerst einmal ein funktionierendes Debian Grundsystem zu installieren. Hat man das geschafft, lässt sich von hier aus das System individuell gestalten. Der Vorteil einer Debian Installation liegt in der Vielzahl an vorkompilierten Software Paketen (mittlerweile mehr als 25000 Stück). Außerdem versuche ich immer einen aktuellen 2.6 Kernel zum Laufen zu bekommen, da dieser auch aktuelle Hardware erkennen kann und fortlaufend neue Features hinzu erhält.
Sollte es Probleme geben, steht einem immer noch der 2.4 Linux Kernel zur Verfügung. Schließlich erhält man so einen neuen, zwölf Jahre alten Rechner, der mit leichtgewichtiger Software aus dem Jahre 2010 ausgerüstet ist und einen Kernel, der auch aktuelle Peripheriegeräte erkennen kann.

Empfehlenswerte Lektüre

Ich könnte an dieser Stelle nun fortfahren, was es alles für Verwendungszwecke für einen alten Computer geben könnte. Zum Glück hat sich K.Mandlas Linux Blog schon ausführlich mit solchen Fragen beschäftigt. Das Blog ist äußerst umfangreich und wird praktisch jeden Tag um einen weiteren guten Artikel bereichert. Mit Sicherheit eines der besten Blogs zum Thema Linux. Einfach mal vorbeischaun und lesen!
Auf GuNNiX Webseite gibt es keine wortreichen Blogeinträge, dafür aber alles was zählt. Eine Aufzählung mit leichtgewichtigen Linuxanwendungen und wie man ein minimales Debian System installiert. Seine Ausführungen sind deutlich umfangreicher als bei meinem Beitrag zu Toshiba Portégé 3110CT mit Debian und Fluxbox. Ich bleibe aber dabei, dass eine Debian Netzinstallation und die Pakete slim, xorg, alsa-base und der Fenstermanager der Wahl eine einfach zu merkende Alternative sind um ein minimales grafisches Debian zu installieren.
Schließlich gibt es noch Urukramas Blog. Darauf gestoßen bin ich nach der Suche nach Informationen zum Fenstermanager Openbox. Urukrama bietet hierzu einen vollständigen englischen Openbox Guide und ist meiner Meinung nach damit auch die Referenz im Netz. Weiterhin liegt ein Schwerpunkt seines Blogs auf der Gestaltung seines Desktops mit verschiedenen Fenstermanagern.
Wer ein paar wirklich gut aussehende Screenshots und eine Idee bekommen möchte, wie man eine schnelle, ressourcenschonende und gleichzeitig stilvolle Desktopumgebung mit Linux erhalten kann, sollte mehr als nur einen Blick auf dieses Blog werfen. Einige seiner Kreationen finden sich übrigens auch auf www.box-look.org wieder.
Eigentlich könnte man nach dieser Aufzählung fast schon alle anderen Artikel zu Linuxerfahrungen einstampfen. Auf der anderen Seite gibt es auch noch genug Facetten, die noch nicht abgedeckt worden sind und genauso individuell wie diese Beiträge ist GNU/Linux selbst. Ich nehme mir deshalb auch den Vorschlag von K.Mandla zu Herzen und versuche über meine eigenen Erfahrungen mit der Thematik zu erzählen. Es schadet sicher nichts die ein oder andere Information zu wiederholen oder aus einem anderen Blickwinkel zu erzählen.