Alle Jahre wieder: Toshiba Portégé 3110CT auf dem Weihnachtsmarkt

Vorletztes Wochenende war es wieder soweit, es war Zeit für den Weihnachtsmarkt. Wieder ein Jahr vorbei, Wahnsinn. Erneut stand ich vor der Entscheidung, welcher Laptop den DJ spielen sollte. Nachdem letztes Jahr nach dem offiziellen Ende sich erst einmal der Akku des Thinkpad 600 verabschiedet hatte, dachte ich mir, dieses Jahr wird sich das ja wohl kaum wiederholen.
Und ich lag vollkommen richtig. Dieses Mal sprang der Thinkpad 600 nämlich erst gar nicht an und meldete mir diese Fehlermeldung.

161
192
163

"Spitze", dachte ich mir, nun weiß ich bescheid. Zum Glück gibt es ja Internet und dieser Post im Thinkpad-Forum hat mich dann aufgeklärt. Ist wahrscheinlich was mit der Batterie. Möchte wohl nach 14 Jahren mal ausgetauscht werden.
Natürlich bringt mich so etwas nicht aus der Fassung. Ich habe ja Alternativen. Also griff ich zu speedy, dem Toshiba Portégé 3110CT. Am Tag des Aufbaus war alles erste Sahne und ich konnte so richtig schön mit diesem Oldie angeben.
Am nächsten Tag, es ist noch früher Morgen, stapfe ich in das Glühweinzelt und man merkt überall, dass es in der vergangenen Nacht ordentlich angezogen hatte. Vorausschauend wie wir waren, gab es wie jedes Jahr natürlich Heizpilze, die für ordentlich Wärme im Inneren sorgten. Woran ich nicht gedacht hatte und die Wassertropfen an der Decke eigentlich hätten ankündigen müssen, Wärme, die auf Gefrorenes trifft, verwandelt dieses schnell in Flüssiges und während ich also gerade den Laptop boote, fällt ein Wassertropfen auf die Tastatur, natürlich an genau die Stelle, wo es so einen klitzekleinen Spalt in der ansonsten makellos abgesicherten Tastatur gibt und während ich mich wundere, woher auf einmal die merkwürdigen Zeichen kommen, ist es auch schon passiert.
Nichts funktioniert mehr und nur noch der obligatorische Hardreset bleibt. Der Toshiba startet neu und begrüßt mich mit:

Ready for EC/KBC update

Okaaay. Wo ist das Internet, wenn man es am dringendsten braucht, doch hier abseits aller Zivilisation suchte ich vergeblich danach. Der geneigte Leser kann sich vorstellen, dass es um meine Stimmung schon besser bestellt war und mich die Worte meiner Freunde: "Blöd wegen dem Laptop, aber was ist nun mit der Musik?" wenig aufmuntern konnten. Leicht deprimiert brachte ich ihn also zurück ins Auto.
Zum Glück arbeitete ich im Glühweinzelt und zwei Glühwein später waren alle Probleme wieder ordnungsgemäß verdrängt. Da Aufgeben meine Sache nicht ist, probierte ich es erneut, holte den Laptop wieder aus dem Auto, stöpselte ihn an den Strom und die kultigen ESCOM-Boxen und voilà es funzt wieder.

Toshiba Portege 3110CT Weihnachtsmarkt 2012
Keine Fragen, warum und wieso. Nur soviel sei gesagt, cmus ist weiterhin das beste Musikprogramm der Welt und die Musikqualität ließ nicht zu wünschen übrig. Wir sehen uns im nächsten Jahr. 🙂

Upgrade auf Debian Wheezy: Toshiba Portégé 3110CT Pentium II 300 MHz mit 64 MB RAM

Zur Zeit verwende ich einen meiner ältesten Laptops, den Toshiba Portégé 3110CT zum Debuggen des OpenArena-Servers. Ich war es leid die ganzen Tests auf meinem Live-Server durchzuführen. Während ich die aktuelle Testing-Version 0.8.8-5 von OpenArena einspielte, kam mir die Idee gleich das ganze System auf Wheezy upzugraden.
Nach wie vor war auf dem Laptop aus dem Jahr 1999 Debian Squeeze in Betrieb gewesen, welches ich im Jahr 2010 zusammen mit Fluxbox und mit Hilfe von CD-ROM und PEX installiert hatte. Zusammen mit den üblichen Verdächtigen, Software ohne und mit X, verrichtete er bisher auch klaglos seine Arbeit. Ich benutze ihn immer noch hauptsächlich als Heimserver, da man ihm hier seine 64 MB Arbeitsspeicher selten anmerkt.

Eine Weile hatte ich auch überlegt Squeeze gegen ein anderes Betriebssystem wie Slitaz oder gar CRUX auszutauschen, die Überlegung jedoch schnell wieder verworfen, da es schlicht funktionierte. Ja, man darf Distro-Hopping auch mal widerstehen. 🙂
Zusätzlich ist es in den letzten zwei Jahren schwieriger geworden ein neues Betriebssystem via CD-ROM-Laufwerk zu installieren. Ich bin mir nicht sicher, ob man das früher bei vergleichbaren Subnotebooks von Toshiba jedes Mal machen musste, bei meinem durfte ich zumindest immer eine Tastenkombination (ich glaube es war CTRL+c) beim Starten drücken, damit vom CD-ROM-Laufwerk gelesen und gebootet werden konnte. Das scheint nun alles hinfällig zu sein, das CD-ROM-Laufwerk möchte nicht mehr und großen Bedarf für eine PEX-Installation habe ich auch nicht.
Wozu also in die Ferne schweifen, wenn ich Debian Squeeze durch ein Dist-Upgrade in Debian Wheezy verwandeln konnte? Nachdem ich die Quellen auf Wheezy umgeändert hatte, installierte ich zuerst apt und aptitude aus dem Wheezy-Repo. Prinzipiell, aber gerade auch wegen Multiarch, macht es Sinn hier zuerst gezielt ein Upgrade zu machen, damit der Paketmanager später alle Konflikte sauber auflösen kann. Dann folgte nur noch

aptitude full-upgrade


Das Problem bei jedem Dist-Upgrade scheint zu sein, dass neue Pakete installiert werden sollen, die man nicht unbedingt haben wollte. Nach dem Upgrade hatte ich unter anderem PolicyKit, ConsoleKit, ein paar Gnome3-Werkzeuge und -Bibliotheken zusätzlich installiert, die ich nicht gebrauchen konnte. Dieses Dilemma lässt sich umgehen, indem gezielt einzelne Pakete erneuert werden oder man entfernt schon vorher überflüssige Pakete, die neue Abhängigkeiten in das System einfließen lassen.
Man kann natürlich auch später Debian erneut auf minimal stutzen und den Aufräumtipps folgen und schon ist das System wieder in dem gewohnt schlanken Zustand. Mir hat sowohl Deborphan als auch Debfoster wieder einmal geholfen.
Weitere Überraschungen gab es danach keine mehr, weshalb ich mich nun einfach über weitere zwei Jahre mit Debian auf dem Toshiba freue und alle Finger kreuze, dass die Hardware weiterhin intakt bleibt. 🙂

Hier sieht man die aktuelle RAM-Auslastung und die Last auf dem Server. Ich vermute gdb ist daran Schuld, dass letztere um die 1.0 pendelt. Im Spiel selbst merkt man nichts davon.
Htop-Anzeige von Speedy
Der OpenArena-Server funktioniert in der Tat ziemlich gut auf dem Rechner. "Leider" muss ich dazusagen, denn ich möchte ja, dass er abstürzt und die Ergebnisse auf dem Live-System bestätigt. 🙂
Bisher verfolge ich zwei Bugs #664637 und #681812. Letzterer lässt sich zu 100% reproduzieren, einen Backtrace mit dem GNU Debugger habe ich auch schon erstellt. Der erste Bug ist z.Z das Problem, da er mit der aktuellen OpenArena-Version nur noch sehr selten auftritt und er sich nicht gezielt auslösen lässt.
Ich verzichte an dieser Stelle auf einen Bericht meiner zahllosen gescheiterten Versuch einen Core-Dump des Servers zu erstellen. Erst nachdem ich ihn lokal getestet habe und er mit Root-Rechten läuft (böse, ich weiß), konnte ich für #681812 innerhalb von gdb mit dem Befehl generate-core-file diese Datei erzeugen, die immerhin 165 MB groß ist. Weitere Details spare ich mir, weil ich selbst noch dabei bin mich mit der Materie vertraut zu machen und Debuggen nun wirklich nicht den gleichen Spannungsfaktor wie ein guter Krimi hat. Sagte Nuff.

Ein Abstecher in die Welt der Web- und vServer

Zuerst die Vorgeschichte. Vor einigen Tagen wurde angekündigt, dass Debian Wheezy Kernel 3.2 an Bord haben wird und nicht alle scheinen damit glücklich zu sein. Eine interessante Randnotiz dieser Meldung war, dass Debian Wheezy keine zusätzlichen Kernel für die Virtualisierungslösungen OpenVZ und VServer anbieten wird. Als normaler Desktopkonsument bin ich davon zwar nicht betroffen, ich kann mir aber vorstellen, dass Anbieter von vServern auf Basis dieser Technologie schon nach Alternativen Ausschau halten.

Zwischen all den Beiträgen und Kommentaren auf der Mailingliste der Debianentwickler hob schließlich jemand hervor, dass einer der Vorteile von OpenVZ und des Linux VServer im geringen Speicherverbrauch läge und schon 128 MB RAM und weniger zum Betrieb ausreichen würden. Dagegen wurde gekontert, dass auch mit Xen virtualisierte Server schon ab 128 MB RAM angeboten werden.
Nun war mein Interesse geweckt und ich wollte wissen, welche weiteren Angebote in dieser Leistungs- und Preisklasse existieren. Nicht besonders überraschend: Die Auswahl ist groß. Leider ist nicht immer ersichtlich, welche Virtualisierungstechnologie verwendet wird und das Preis- Leistungsverhältnis schwankt gewaltig. Am interessantesten erscheint mir im Moment der vServer "Neptun Light" von netcup.de zu sein, ein Einsteigermodell, aber das ist wie gesagt nur ein erster Eindruck. Ich bin weder Kunde noch anders mit dem Unternehmen verbunden und kann deswegen hier keine Empfehlung abgeben.

Während der Suche nach einem passenden vServer stolperte ich immer wieder mal über die Webserver-Frage. Welcher ist am besten für ein typisches vServer-Szenario mit wenig RAM und begrenzten Ressourcen geeignet? Das brachte mich dazu mir Lighttpd wieder einmal näher anzusehen und nginx durfte dieses Mal auch nicht fehlen.
Die englische Wikipedia bietet einen übersichtlichen Vergleich von Webservern, der deutlich macht, dass es noch weit mehr Alternativen gibt, darunter auch wesentlich kleinere Server wie thttpd, mini-httpd und micro-httpd.
Da ich den Apachen schon besser kenne und etwas Neues ausprobieren möchte, habe ich einige Zeit damit verbracht um nach geeigneter Dokumentation für Lighttpd zu suchen, der schon erfolgreich auf dem ältesten Laptop mit nur 16 MB RAM lief. Auch nach einer kompletten Installation mit PHP und MySQL auf meinem Portégé 3110CT hat Lighttpd immer noch nichts von seinem Charme verloren.
Bevor es gleich mit einem vServer ernst wird, bietet sich quasi als Trockenübung ein älterer Rechner an, der nur darauf wartet zum Web-, Mail- und Streamingserver ausgebaut zu werden. Die Dokumentation dazu ist ein wenig verstreut, aber es gibt einige hervorragende englische Quellen, die ich weiterempfehlen möchte.

  • lighttpd.net: Das Wiki und die vollständige Dokumentation zu Lighttpd mit vielen HowTos.
  • nanotux.com: Exzellente Anleitung wie man Lighty mit PHP und MySQL einrichtet und dazu noch weitere Tipps zum Einrichten eines vServers.
  • library.linode.com: WoW! Tutorials, Tutorials, Tutorials. Wer jemals mit dem Gedanken gespielt hat einen vServer produktiv zu nutzen, sollte sich diese Seite als Lesezeichen setzen.
  • howtoforge.com: Gute HowTos zu Lighttpd.
  • cyberciti.biz: Schon seit Jahren ein Quell ausgezeichneter Anleitungen, nicht nur für Lighty.

Ich war ziemlich begeistert, was es alles an ausführlicher Doku zum Thema Web- und vServer im Netz gibt. Zum Testen genügt mir im Moment einer der älteren Laptops mit Debian Squeeze. Ein Fazit? Es gibt immer wieder Neues mit Freier Software zu lernen. 🙂

Eine Reise in die Vergangenheit: Der Wert der Laptops gestern und heute

Was machst du von heute an in zehn Jahren? Wie wird dein Leben aussehen? Wo wirst du wohnen, arbeiten, deine Zeit verbringen? Wenn du ein Medium mit Interessen für ältere Computer und Linux bist und durch einen aberwitzigen Zufall auf diese Seite geraten sein solltest, kennst du die Antwort vielleicht schon. Für Normalsterbliche ist ein Blick in die Glaskugel mitunter jedoch ziemlich trübe. Auch ich weiß nicht, was in der Zukunft passieren wird, weshalb ich mich in diesem Post einer verlässlicheren Größe zuwende - der Vergangenheit.
Ich hatte Lust mir alte Rezensionen zu meiner Hardware anzuschauen und herauszufinden wie hoch die Verkaufspreise damals ausfielen. Hier also ohne Wertung ein paar Informationen dazu.

Dell Inspiron 4000

Der Inspiron kam Ende 2000 zum ersten Mal in den Handel. Auf pcpro.co.uk kostete er damals 1.996 Englische Pfund (1999: 1 Pfund = ca. 3DM) . Bei Testberichten auf dooyoo.de variierte der Preis im Jahr 2001 zwischen 5500DM (2.812€) bis ca. 1.700€ im gleichen Jahr. Ich kaufte ihn im Jahr 2008 gebraucht für 100€ inklusive Zubehör. Die meisten Kommentatoren hoben das helle und gute Display hervor und störten sich manchmal am Gehäuse oder den Lautsprecherboxen. Insgesamt sei er ein solider Laptop und diesen Eindruck kann ich auch heute noch bestätigen.

Toshiba Portégé 3110CT

Das Toshiba Subnotebook erschien im Jahr 1999 und wurde am 1.10.1999 auf pcpro.co.uk vorgestellt. Es kostete damals ca. 1.992 Englische Pfund. Auf dooyoo.de wurde er als ideal für Präsentationen oder als "mobile office" angepriesen. Auch im Jahr 2001 scheint er noch stolze 5000DM gekostet zu haben. Wer aber den 3110CT mal in Echt gesehen hat, wundert sich bei der kompakten Bauweise aus dem Jahr 1999 auch nicht mehr über den damaligen Preis. 2008 habe ich ihn netterweise für lau als Geschenk erhalten.

Toshiba Satellite 220cs

Cnet.com preist das "multimedia excitement and versatility" an. Auf expertreviews.co.uk wird das verbesserte 800x600 Pixel Display gegenüber den älteren 640x480 Pixeln hervorgehoben. Preislich musste man dafür am 01.09.1997 1.757 Englische Pfund hinlegen, was ca. 2500€ damals entsprochen hätte. Den 220cs habe ich letztes Jahr für 18 € bei ebay ersteigert.

IBM Thinkpad 600

Den Cnet.com Artikel zum Thinkpad 600 hatte ich schon vorgestellt. Der Artikel ist voll des Lobes über den nur 5 Pfund schweren Laptop mit einem "schreiend schnellen Pentium II Prozessor". Ersteigert habe ich ihn vor wenigen Monaten für 27,50 € bei ebay. In der offiziellen Pressemitteilung von IBM aus dem Jahr 1998 wird ein Verkaufspreis von 3199$ offeriert. Das war noch zu einer Zeit als der Dollar etwas mehr wert war als heute. 😉

Webseiten mit elinks in screen über eine SSH-Verbindung mit rxvt-unicode solarisiert betrachten

Die Überschrift sagt schon alles. Ich vermute ein ähnliches Problem dürfte weniger als ein Milliardstel der Weltbevölkerung betreffen, aber aus Spaß hier die kurze Geschichte.
Ich hatte mich per SSH in den Toshiba Portégé 3110CT alias speedy eingeloggt und wollte nun mit Solarized und meinem neuen 256-Farben-Terminal rxvt-unicode das System updaten und überprüfen, ob mein Blog in elinks irgendwie anders als zuvor aussah. Wenn ich mich remote zu meinem mit Debian Stable betriebenen Laptop verbinde, starte ich danach für gewöhnlich screen, womit es mir leichter fällt mehrere Anwendungen parallel wie mit einem grafischen Fenstermanager zu nutzen.
Als erstes erhielt ich die Fehlermeldung

Error opening terminal: rxvt-unicode

als ich versuchte eine Anwendung wie htop zu starten. Das Problem resultiert daraus, dass das System den Terminal rxvt-unicode-256color nicht kennt und deshalb auch nicht weiß, wie es das aufgerufene Programm darstellen soll. Da das scheinbar ein uraltes Problem ist konnte ich sowohl im englischen Gentoo als auch im deutschen Arch Linux Wiki eine Lösung hierzu finden. Kurz gesagt, muss die Terminfo Datenbank auf den aktuellen Stand gebracht werden und eine Infodatei im versteckten Ordner .terminfo im Home-Verzeichnis des Benutzers auf dem entfernten Rechner angelegt werden.
Im Gentoo-Wiki wird das elegant so gelöst:

infocmp rxvt-unicode | ssh USER@REMOTE_IP 'mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti'

Auf dem lokalen Rechner werden die Informationen über den verwendeten rxvt-unicode-Terminal abgefragt und über SSH auf die entfernte Maschine geschickt, wo die Infodatei mit Hilfe von tic von einem Quellformat in ein kompiliertes Format umgewandelt wird. Danach konnte ich dann wie gewohnt Programme öffnen.
Obwohl ich den Terminaltyp in elinks nicht auf 256 Farben eingestellt hatte, sondern weiterhin bei den 16 ANSI Farben belassen hatte, wurde meine Webseite ohne weiteres Zutun schon in den Solarized-Farben dargestellt. Als allgemeiner Tipp solltet ihr bei Farbproblemen % in elinks drücken, womit man zwischen verschiedenen Dokumentfarben umschalten kann. Ich verstehe nur noch nicht, warum bei manchen Farbkombinationen die Schrift fett dargestellt wird und bei manchen normal. Vermutlich hat das etwas mit dem ANSI-Farbcode zu tun. Und so sieht gambaru in elinks solarisiert aus. 😉

Mplayer nur für den Framebuffer

Die ganzen gestrigen Ausführungen, wie man mit Debian Binärpakete aus dem Quellcode baut, dienten eigentlich nur einem Zweck. Ich wollte K.Mandlas "Mplayer for the framebuffer only" Tipps einmal ausprobieren.
Wie macht man Mplayer noch schneller und ressourcenschonender? Man entschlackt ihn, indem man beim Kompilieren verschiedene Feature deaktiviert. Zum Übersetzen habe ich die gestern vorgestellte pbuilder Methode genutzt.
Ziel war es, die Unterstützung für Videoausgabe ausschließlich auf das Framebuffer Device fbdev zu beschränken. In debian/rules mussten die CONFIGURE_FLAGS und der Code zum Bauen der Mplayer GUI und der nicht grafischen Version angepasst werden.
Welche Optionen es gibt, erfährt man durch ./configure --help. Mit dem Befehl debchange -nmu changelog im debian Verzeichnis des Quellpakets kann das changelog angepasst werden.
Nach jeder Veränderung in debian/rules musste ich das Quellpaket mit dpkg-source -b Name_des_Verzeichnisses neu bauen, damit die gemachten Änderungen von pbuilder auch erkannt wurden. Wer Tipps und Hintergrundinformationen dazu hat und ob es auch andere Möglichkeiten gibt, kann mich gerne darauf stoßen.
Unter den CONFIGURE_FLAGS werden noch verschiedene if-Abfragen ausgeführt. Dabei sollte man vor allem das Bauen der Mplayer GUI Version deaktivieren, wir brauchen nur den Framebuffer, und Mencoder kann auch aus debian/rules verschwinden.

CONFIGURE_FLAGS =
              --prefix=/usr
              --confdir=/etc/mplayer
              --disable-x11
              --enable-xvmc
              --enable-menu
              --disable-arts
              --enable-largefiles
              --language=de
              --disable-libdvdcss-internal
              --disable-dvdread-internal
              --disable-libavutil_a
              --disable-libavcodec_a
              --disable-libavformat_a
              --disable-libpostproc_a
              --disable-libswscale_a
              --disable-openal
              --disable-sdl
              --disable-aa
              --disable-esd
              --disable-jack
              --disable-tv-v4l1
              --disable-tv-v4l2
              --disable-runtime-cpudetection
              --disable-mga
              --disable-smb
              --disable-gui
              --disable-lirc
              --disable-lircc
              --disable-liblzo
              --disable-fribidi
              --disable-libdv
              --disable-musepack
              --disable-speex
              --disable-cdparanoia
              --disable-dvdnav
              --disable-libamr_nb
              --disable-live
              --disable-mad
              --disable-mencoder
              --disable-gl
              --disable-pulse
              --enable-fbdev
              --disable-3dfx

Alles in allem hat das bei mir dazu geführt, dass das mplayer .deb Paket von 3 MB auf 1,7 MB geschrumpft ist. Zum Testen gelangte es dann auf den Toshiba Portégé 3110 CT, wo ich Youtube Videos mit Elinks und Mplayer angeschaut habe.
Auch mit einer angepassten Mplayer Version lassen sich h264 Videos nicht ruckelfrei in Vollbild auf einem PII 300 MHZ 64 MB RAM Laptop anschauen. Dennoch mit einer kleinen Modifikation des youtube-dl Skripts, ließen sich zumindest manche h263 Videos mit niedrigster Auflösung betrachten, wozu ich einfach die Option -f 5 anstelle von -f 34 übergeben habe.
Wichtig sind auch die kleinen Mplayer Tweaks und die Tipps in der MPlayer FAQ.
Zu einem Screenshot mit fbgrab reichte es aber, auch wenn dadurch der Laptop kurzzeitig ausgelastet war.

Gibt man dem alten Rechner eine Chance mit mpeg1/2 Videos und nutzt nicht gerade den CPU lastigen h264 Codec, sieht das Ganze besser aus. Über das Abspielen auf dem zwei Jahre jüngeren Dell Inspiron 4000 brauche ich nicht viele Worte verlieren. Das klappte auch schon vorher problemlos.
Als Fazit lässt sich sagen das selbst maßgeschneiderte Software nicht immer das Unmögliche schaffen kann, aber angesichts des zwölf Jahre alten Laptops noch brauchbare Ergebnisse liefert. Selber Kompilieren ist auf jeden Fall lehrreich. Debians Mplayer Binärpaket ist aber nicht fühlbar schlechter.
Auf jeden Fall gewinnt ihr ein paar Geek Punkte bei dem bleichen Geek von nebenan hinzu und vom Rest gibt es immerhin Augenrollen 🙄 , Kopfschütteln und sanftes Klopfen auf die Schulter.
Das Leben ist nicht immer fair.

Bildschirmschoner für die Konsole

Ich erwähnte bei der Vorstellung meiner .screenrc, dass sich hinter der Befehlszeile blankerprg ein kleines Bashskript verbirgt, welches eine Reihe von Konsolenprogrammen ausführt, sobald man fünf Minuten bei screen inaktiv geblieben ist.
Die ursprüngliche Idee und die Skripte stammen von KMandla.
In meinem Home Verzeichnis befindet sich der versteckte Ordner .scripts und die ausführbare Datei screensaver.sh. Hierin werden folgende Programme zufällig ausgeführt.

#!/bin/bash
index=0
screensaver[$((index++))]="cmatrix -ab -u 2"
screensaver[$((index++))]="binclock -l -n"
screensaver[$((index++))]="htop"
screensaver[$((index++))]="$HOME/.scripts/hostname.sh"
sh -c "${screensaver[$((RANDOM % index))]}"

Cmatrix fällt sicher am meisten auf und wer jemals einen ähnlich klingenden Film gesehen hat, weiß auch sofort was sich dahinter verbirgt. 😉
Das zweite Programm, binclock, ist eine Binäruhr, deren Nullen in Grün und Einsen in Rot dargestellt werden. Die Option -l sorgt dafür, dass das Programm jede Sekunde ausgeführt wird und -n fügt noch eine weitere, menschlichere, Zeitangabe hinzu.
Nr. 3 ist htop, eine gegenüber top verbesserte Anzeige von Systemprozessen und mein bevorzugtes Programm für jeden Rechner, wenn ich eine Übersicht über alle laufenden Prozesse haben möchte.
Die vierte screensaver-Zeile führt wiederum ein weiteres Skript aus, welches den laufenden Kernel, den Namen des Rechners und das aktuelle Datum anzeigt. Dabei wird der Text mit Hilfe von figlet stark vergrößert, was ziemlich beeindruckend auf der Konsole wirkt. 😉
Hier noch die hostname.sh:

#!/bin/bash
while true
        do
                clear
                for i in {1..10}
                do
                        echo ""
                done
                echo `uname -r -s` | figlet -t -c -f big
                echo "on" $HOSTNAME | figlet -t -c -f small
                date +"%F %T %P" | figlet -t -c -f big
                sleep 15s
        done

Das war es auch schon, was sich hinter der ominösen Zeile blankerprg bei GNU screen verbirgt. Natürlich kann man je nach Geschmack das Ganze um Programme erweitern, reduzieren oder auch komplett ignorieren.
Bei der Arbeit auf der Konsole sorgt es auf jeden Fall für Abwechslung. 🙂

GNU Screen richtig nutzen

Screen ist für mich eines der wichtigsten Konsolenprogramme. Verbindet man sich mit ssh zu einem Rechner, vermisst man schnell die Fähigkeit einer modernen grafischen Oberfläche zwischen verschiedenen Anwendungen und Fenstern einfach hin- und her zu wechseln. Und wie können ausgeführte Programme in der Konsole auch nach dem Logout weiterlaufen? Hier kommt screen ins Spiel.
Beim Start von screen erscheint eine Nachricht und danach scheint es als ob sich nicht viel geändert hätte. Lediglich die Eingabeaufforderung der Shell blinkt einem entgegen.


Hier lässt sich nun z.B. rtorrent starten und der Bildschirm horizontal mit Strg+A und S teilen. Mit Strg+A und TAB springt man zur nächsten Bildschirmregion und kann dort mit Strg+A und c eine neue Shell öffnen und z.B elinks starten. Dies würde dann meinem schon vorgestellten rtorrent Setup entsprechen und sieht wie folgt aus.


Screen lässt sich aber nicht nur horizontal sondern auch vertikal teilen. Um das rtorrent Fenster vertikal zu teilen und htop anzuzeigen, springt man einfach mit Strg+A und TAB in die obere Hälfte zurück. Dann genügt bei Debian und Ubuntu ein Strg+A und | um den Bildschirm erneut zu teilen.
Anschließend wird der Schritt zum Starten einer neuen Anwendung wiederholt, wiederum Strg+A und TAB um zur nächsten Region zu gelangen, Strg+A und c um die Shell zu öffnen und dann htop eingeben.


Das Spiel lässt sich nun beliebig weiter treiben. Mit Strg+A und d bietet screen eine seiner besten Optionen an, nämlich screen abzutrennen und in den Hintergrund zu schicken. Danach befindet man sich wieder auf der ursprünglichen Konsole, alle in screen ausgeführten Programme laufen aber weiter!
Man könnte sich also problemlos ausloggen, zu Bekannten fahren, von dort sich erneut zu seinem Rechner mit ssh verbinden und danach mit dem Kommando screen -r seine Session wieder aufrufen.
Leider ist die Aufteilung der Anwendungen in verschiedene Regionen dann verschwunden und man müsste von neuem die Einteilung vornehmen. Natürlich lässt sich einfach mit Strg+A und SPACE zwischen den "Fenstern" wechseln. Oder man springt direkt zu einem Fenster indem man Strg+A und 0,1 oder 2 eingibt.
Wäre es nicht besser, man hätte eine Statusleiste, in der die unterschiedlichen Programme mit Namen und Fensterzahl schon angezeigt würden? Wäre es nicht praktischer die Anwendungen schon sofort beim Starten von screen mit auszuführen, ohne den Umweg über das Öffnen einer neuen shell zu gehen?
Der "Trick" ist die im Home Ordner versteckte Datei .screenrc zu erstellen, welche bei mir so aussieht.

hardstatus alwayslastline "%-w[%n %t]%+w%=%H %c Load: %l"
shelltitle '...'
startup_message off
vbell off
blankerprg /home/apo/.scripts/screensaver.sh
idle 300 blanker
#screen -t centerim 0 /home/apo/.scripts/centerim.sh
#screen -t alpine 1 alpine -d 0
#screen -t mc 2 /home/apo/.scripts/mc.sh
screen -t rtorrent 1 rtorrent
screen -t htop 2 htop
#screen -t wyrd 4 wyrd
screen -t elinks 3 /home/apo/.scripts/elinks.sh
#screen -t hnb 8 hnb
screen -t slurm 4 slurm -i eth0
GNU Screen

Aufmerksamen Lesern von KMandlas hervorragendem Linuxblog und Testern seiner Debian Lenny Sandbox Edition fällt hier sicher auf, dass es sich mit geringfügigen Änderungen um seine screenrc handelt. Sie ist übersichtlich und enthält meiner Meinung auch alles was man für die effiziente Benutzung von screen braucht.
Was macht diese Konfigurationsdatei? Zum einen verschwindet die Startnachricht, die man nicht wirklich benötigt. Die visuelle Rückmeldung, wenn sich etwas in den Fenstern getan hat, ist ebenfalls ausgeschaltet. Mit Shelltitle lässt sich der Name einer mit Strg+A und c gestarteten shell festlegen.
Die Zeile blankerprg verweist auf ein Bildschirmschoner-Skript, welches nach 5 Minuten ausgeführt wird, sollte man in der Zwischenzeit keine weiteren Aktionen in screen vorgenommen haben. Im Grunde genommen handelt es sich hier mehr um ein Gimmick, welches bei modernen Monitoren nicht notwendig ist. Ich stelle es ein anderes Mal ausführlicher vor.
Die restlichen Zeilen sind Programme, die ich regelmäßig in meiner Screen Session ausführe. Da ich nicht auf jedem Rechner immer die gleichen benötige, sind manche mit der # kommentiert. Der Aufbau ist simpel

screen -t Titel des Fensters Fensterzahl Name des Programms und Startparameter

Somit wird aus einem langweiligen Terminalfenster ein Fenstermanager für die Konsole. Zwischen den einzelnen Fenstern lässt sich danach wie gewohnt mit Strg+A und Space oder Strg+A und Fensterzahl wechseln.

Wer weitere Vorschläge für das Aussehen der Statuszeile bei screen sucht, findet schon bei Google mit dem Begriff hardstatus und screen viele weitere Ideen. Noch einfacher geht es, wenn man direkt byobu ausprobiert, was nichts anderes als ein verbessertes oder besser verschönertes screen ist.


Screen ist nicht nur für Serveradmins sinnvoll. Auch für alte Computer mit sehr wenig RAM bietet sich screen mit vielen nützlichen Konsolenprogrammen an, womit sich E-Mail schreiben, Browsen, Chatten, Bittorrent und vieles mehr realisieren lässt. Viel Spass beim Ausprobieren!

Bei speedy nichts Neues

Ich habe schon lange nichts mehr über speedy geschrieben. Das liegt vor allem daran, dass alles läuft und er genau das tut, was er tun soll. Aber warum immer nur über Computerprobleme bloggen?
Der gute Toshiba Portégé 3110 CT steht nun seit einigen Monaten auf meinem Schreibtisch direkt neben dem TFT-Monitor des DualCore-Rechenknechts. Die meiste Zeit ist das Display eingeklappt und er dient mir so als kleiner Server.
Er verbraucht in diesem Zustand maximal 16-20 Watt. Gegenüber einem SheevaPlug ist das zwar immer noch relativ viel Energie, zumindest wenn man den Energieaufwand zur Herstellung des Plugs ausblendet, dafür ist er vielseitiger und lässt sich neben dem Serverdienst als Jukebox und natürlich auch als portables Netbook nutzen.
Seit meiner Debian-Squeeze-Installation letzten Sommer habe ich das Betriebssystem nicht mehr gewechselt. Kurz gesagt, ich bin total zufrieden wie alles momentan funktioniert. Deswegen habe ich gar kein Interesse ein neues Betriebssystem auszuprobieren. Hinzu kommt, dass es ein Problem mit dem externen CD-ROM Laufwerk zu geben scheint, was dazu führen würde, dass ich entweder auf das Floppy-Laufwerk oder die PEX-Installation zurückgreifen müsste.
Zwölf Jahre alt, nur 64 MB RAM und dennoch habe ich nicht das Gefühl, dass ein moderner Laptop hier einen grundlegenden Unterschied machen würde. Um diverse Distributionen herunterzuladen nutze ich speedy mit meinem Rtorrent-Setup und habe nun ein externes USB-Laufwerk mit jeder Menge Software, die ich demnächst ausprobieren möchte und dann natürlich hier auch kurz vorstelle.
Ansonsten habe ich mir schon oft die Frage gestellt, warum es notwendig sein sollte den Dual Core anzuschalten, nur um ein paar Flac-Dateien anhören zu wollen. Das kann speedy natürlich auch, so dass ich hier meine ursprünglich für Ubuntu eingerichtete Konfiguration für den Music Player Daemon nutze. Noch externe Boxen angeschlossen, die für die Beschallung der Wohnung ausreichen und fertig ist die Laptop-Jukebox.
Gesteuert wird alles über SSH und eine Screen-Session und für mpd hat sich ncmpc als Client ausgezeichnet.
Da Squeeze mit großer Sicherheit für die nächsten drei Jahre weitergepflegt wird, wird es hier also keine großen Veränderungen mehr geben. Bleiben aber noch diverse Anwendungen übrig, die mit speedy eine gute Testplattform gefunden haben.
Was ich aber auf gar keinen Fall machen werde, ist diesen Laptop zu einer Wetteruhr umbauen. Aber sollten sich irgendwo noch weitere alte Laptops finden lassen...vielleicht. 😈

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