Federleicht Musik hören mit cmus

Vor einiger Zeit habe ich ein paar leichtgewichtige Linuxanwendungen vorgestellt. Ganz in Vergessenheit geriet dabei cmus, ein schnelles und flexibles Musikprogramm für die Konsole.
Cmus spielt alle wichtigen Formate ab, darunter natürlich mp3, ogg, flac und wav und eignet sich dabei auch um Radiostreams aus dem Internet anzuhören.
Besonders in letzter Zeit fiel mir auf, wie reaktionsfreudig cmus bei der Verwaltung der Musikbibliothek umgeht und Musikdateien auch über langsame Netzwerkverbindungen mit sehr geringer CPU und RAM Auslastung abspielt.


Cmus lässt sich als Konsolenprogramm ausschließlich über die Tastatur steuern. Vor allem die Suche nach Musikstücken ist an das Programm vi angelehnt, wie auch andere Eigenschaften dieses meistgehassten – oder geliebten Editors (je nach dem wen man fragt). Nein, so schlimm ist es wirklich nicht. Cmus bietet hier viel mehr die Möglichkeit Befehle entweder im vi Stil auszuführen oder eben auch wie von anderen Musikprogrammen gewohnt Tastenkürzel festzulegen. Diese lassen sich, ebenso wie diverse weitere Optionen und das Aussehen des Clients, unter Einstellungen (Taste 7) festlegen.
Für den Anfang sollte man unter Einstellungen auf jeden Fall nachschauen, ob die Option output_plugin auf „alsa“ gesetzt wurde, mixer.alsa.channel auf „PCM“ oder „MASTER“ und mixer.alsa.device auf „default“.
Die Bedienung von cmus ist übersichtlich und simpel. Mit den Tasten 1-7 wählt man zwischen verschiedenen Ansichten. Am besten man beginnt mit der Browser Ansicht (Taste 5) und steuert den Musikordner an. Mit den Pfeiltasten lassen sich Dateien und Ordner auswählen und mit der Taste „a“ werden diese zur Bibliothek hinzugefügt. In der Ansicht Bibliothek (Taste 2) kann man dann wieder mit den Pfeiltasten Musikstücke auswählen und mit „y“ zur Playlist (Taste 3) oder mit „e“ zur Warteschlange (Taste 4) hinzufügen.
Die Baumansicht (Taste 1) bietet hingegen die Möglichkeit die Künstler direkt auszuwählen und mit der Space-Taste die dazugehörigen Alben anzuzeigen. Mit „TAB“ wechselt man in dieser Ansicht dann zwischen Alben und Liedern hin und her.
Wie schon erwähnt funktioniert die Suchfunktion genauso wie in vi. Mit „/“ und dem Suchbegriff wird nach Mustern gesucht. Drückt man danach „ENTER“, lässt sich mit der Taste „n“ nach weiteren Begriffen suchen, die dem Muster entsprechen.
Natürlich hat cmus auch eine Option für Shuffle „s“ und Repeat „r“. Mit „ENTER“ bzw „x“ spielt man Lieder ab und „c“ pausiert den aktuellen Track.
Cmus hat eine gute man Seite und auch im Internet findet sich eine Bedienungsanleitung in Englisch.
Die Tastaturkürzel sind gewöhnungsbedürftig. Warum „p“ Lieder nach unten und „P“ nach oben verschiebt, kommt einem nicht sofort in den Sinn. Aber dafür lässt sich dies schnell unter Einstellungen ändern.
Das Beste von allem aber ist der wirklich winzige Ressourcenverbrauch von cmus.

Effizient und schnell: rtorrent, screen und elinks

Heute möchte ich rtorrent, einen kleinen und sehr effizienten Bittorrent Client vorstellen und wie man ihn bequem aus der Ferne mit ssh kontrollieren kann. Im Zusammenspiel mit dem Terminal Multiplexer screen sind rtorrent und der Textbrowser elinks eine komfortable Lösung, um einen Bittorrent Client fernzusteuern, schnell und einfach neue Torrents hinzuzufügen und gleichzeitig äußerst effizient mit Systemressourcen umzugehen.
Durch die geringen Anforderungen an die Hardware eignet sich rtorrent auch für ältere Rechner und für Lösungen ohne grafische Desktopumgebung und lässt sich insbesondere für einen dedizierten Server, eine sogenannte Seedbox, nutzen.
Rtorrent ist eine auf ncurses basierende Oberfläche der Bittorrent Bibliothek libtorrent und ist derzeit bei Debian und Ubuntu in der Version 0.8.6 (rtorrent) und 0.12.6 (libtorrent) verfügbar. Zentrale Konfigurationsdatei bei rtorrent ist die im Home Ordner versteckte Datei .rtorrent.rc.

1. Schritt: Programme installieren

aptitude install ssh rtorrent elinks screen

2. Schritt: Konfiguration

Eine Beispieldatei der .rtorrent.rc gibt es auf der offiziellen Homepage. Hier findet man unter anderem die üblichen Einstellungen zur minimalen und maximalen Anzahl von peers pro Torrent, Anzahl der gleichzeitigen Verbindungen beim Upload und eine Option für die Beschränkung der Upload/Download Rate.
Ein interessantes Feature von rtorrent ist das Überwachen von Ordnern auf neue Torrents. Diese werden dann automatisch in rtorrent gestartet und nach erfolgreichem Download in einen anderen Ordner verschoben. Um ein solches Szenario einzurichten, geht man einfach so vor:
Im Home Verzeichnis einen Ordner Downloads erstellen und in diesem dann z.B. die Unterverzeichnisse watch, session, todo, fertig anlegen. In der .rtorrent.rc müssen danach nur noch folgende Angaben gemacht werden:

directory = ~/Downloads/todo
session = ~/Downloads/session
schedule = watch_directory,10,10,“load_start=~/Downloads/watch/*.torrent,d.set_custom1=~/Downloads/fertig/“
schedule = tied_directory,10,10,start_tied=
schedule = untied_directory,10,10,stop_untied=
system.method.set_key=event.download.finished,move_complete,“d.set_directory=$d.get_custom1=;execute=mv, -u,$d.get_base_path=,$d.get_custom1=“

Die letzte Zeile sieht zwar etwas kryptisch aus, bewirkt aber, dass nach der Fertigstellung des Downloads dieser vom Ordner todo nach fertig verschoben wird. Um die Torrent Datei automatisch aus dem watch Ordner zu entfernen und somit das Seeden bei einem Verhältnis von 1:1 zu beenden, muss noch dieser Code eingefügt werden.

ratio.enable=
ratio.min.set=100
ratio.max.set=120
ratio.upload.set=20M
system.method.set = group.seeding.ratio.command, d.close=, d.erase=

Verschlüsselung des Datenverkehrs erreicht man in rtorrent durch den Eintrag folgender Zeile in die .rtorrent.rc

encryption = allow_incoming, try_outgoing, require, require_RC4

3. Bedienung

Nachdem man sich mit ssh auf dem Rechner eingeloggt hat, startet man zunächst mit dem Befehl screen den Terminal Multiplexer. In screen gestartete Programme laufen auch nach dem Ausloggen mit ssh weiter. Diese können gleichzeitig in unterschiedlichen Fenstern laufen und auch nebeneinander in der Konsole dargestellt werden. Hat man rtorrent ausgeführt, kann man mit der Tastenkombination STRG+A und dann SHIFT+S die Darstellung horizontal teilen. Mit STRG+A und TAB wechselt man zur nächsten Hälfte und kann dort mit STRG+A und c eine neue Konsole öffnen. Hier startet man elinks, mit welchem man nach neuen Torrents suchen kann. Im Optionsmenü lässt sich als Standard Ordner für Downloads dann auf den watch Ordner verweisen. Heruntergeladene Torrents landen also direkt bei rtorrent!
Indem man eine Torrent Datei aus dem watch Ordner löscht, lässt sich das Herunterladen oder Verteilen beenden. Mit dem Kommando STRG+A und d verlässt man screen und schickt es in den Hintergrund. Mit dem Befehl screen -r kann man sich erneut zu seiner Session und aller darin laufenden Programme verbinden. Für weitere nützliche Kommandos innerhalb von screen einfach STRG+A und ? eingeben. Das vertikale Teilen von screen funktioniert bei Debian mit der Kombination STRG+A und |. Mehr Screenshots und weitere Informationen zu screen gibt es hier.

Wie lässt sich rtorrent bedienen?

Rtorrent lässt sich komplett über die Tastatur steuern. Mit den Pfeiltasten bewegt man sich zwischen Torrents und den Menüoptionen. Mit der Pfeiltaste nach Rechts kommt man in ein Untermenü, wo man mehr über die heruntergeladenen Dateien, Peers und Tracker erfährt. In rtorrent gibt es mehrere Ansichten, die sich über die Tasten 1-9 erreichen lassen. Das Upload Verhältnis lässt sich mit a/s/d erhöhen und mit y/x/c reduzieren. Für das Download Verhältnis ist es entsprechend A/S/D und Y/X/C. Möchte man, dass rtorrent für ein bestimmtes Torrent die globalen Einstellungen ignoriert muss man SHIFT+i drücken. Drückt man einmal STRG+d stoppt der Up-und Download des ausgewählten Torrents, ein weiteres STRG+d entfernt das Torrent. Schließlich kann man rtorrent mit STRG+q beenden.

4. Fazit

Diese Erklärung sollte nur einen kurzen Eindruck vermitteln, was man mit drei Konsolenprogrammen erreichen kann. Transmission ist sicherlich mit einer grafischen Oberfläche intuitiver zu bedienen. Wer sich jedoch von der Konfiguration einer Textdatei und der Tastensteuerung nicht abschrecken lässt, erhält einen hocheffizienten Bittorrent Client und eine hervorragende Lösung sowohl für Low als auch High End Rechner.

5. Links

Offizielle Projektseite mit umfangreicher Dokumentation für rtorrent und libtorrent

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

MPD mit Sonata und Pulseaudio unter Ubuntu einrichten

Es wurde Zeit Rhythmbox zu deinstallieren und ein schlankeres Stück Software für den Hauptrechner zu finden. Insbesondere störten mich die träge Reaktion der Oberfläche, die gewöhnungsbedürftige Playlist und die fehlende Ordneransicht zur Auswahl der Musik. Wie schon früher geschrieben halte ich den Music Player Daemon (MPD) für einen guten Ersatz. Mittelfristig könnte man damit auch eine eigene, unabhängige Audioanlage einrichten, die dann von allen im Haus benutzten PCs angesprochen werden kann. Ich habe mich für Sonata als Client entschieden, aber es gibt noch viele, viele andere.
Continue reading „MPD mit Sonata und Pulseaudio unter Ubuntu einrichten“

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!

X und Fluxbox starten ohne Login Manager

In meinem ersten Blogeintrag zu speedy habe ich vier Pakete aufgezählt, die man benötigt um eine minimale Desktopumgebung mit Fluxbox zu installieren. Darunter war auch der Login Manager Slim. Wenn man auf ein grafisches Login verzichten kann und ein weiteres Debian Paket sparen möchte, gibt es mehrere Möglichkeiten X und den Fenstermanager seiner Wahl direkt nach dem Login in die Shell automatisch starten zu lassen.
Dazu müssen im HOME Verzeichnis des Nutzers die versteckten Dateien .bash_profile und .xinitrc editiert werden. Bei Debian Squeeze existierten beide nicht, weshalb sie zuerst angelegt werden müssen. Zuvor installierte Login Manager müssen vorher entweder deaktiviert oder entfernt werden. Nachdem der Rechner gebootet hat, befindet man sich direkt auf der Shell und gibt Benutzername und Passwort ein, wonach automatisch der Fenstermanager der Wahl gestartet wird.
Solltet ihr beim Aufruf eines Terminal Emulators feststellen, dass die Parameter in der .bashrc scheinbar nicht eingelesen werden, muss man dem System in der .bash_profile erst mitteilen, dass es die .bashrc ausführen muss.
Folgender Code muss in der Datei .bash_profile (oder .zprofile wenn man zsh benutzt) stehen:

if [[ -z "$DISPLAY" &&  $(tty) = /dev/tty1 ]]; then
    exec startx
fi
#zum Aktivieren der .bashrc
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

Diese simple if Abfrage überprüft, ob die DISPLAY Variable gesetzt ist und man sich in die virtuelle Konsole tty1 eingeloggt hat. Ist das geschehen wird X automatisch mit dem Programm startx gestartet und dabei gleichzeitig alle Anweisungen in der Datei .xinitrc ausgeführt.
In die Datei .xinitrc lassen sich Programme eintragen, die automatisch ausgeführt werden sollen sobald X gestartet wird. Um den Fenstermanager seiner Wahl nutzen zu können, muss der Befehl exec vorangestellt werden. Für Fluxbox muss es z.B. exec startfluxbox heißen.

#!/bin/bash
exec startfluxbox
#exec openbox-session
#exec awesome
#exec ratpoison

Es gibt weitere Möglichkeiten X automatisch nach dem Booten starten zu lassen. Auch ist es möglich die Passwortabfrage zu überspringen und einen bestimmten Nutzer standardmäßig beim Systemstart einloggen zu lassen. Da ich das generell und für einen Laptop im besonderen für keine so gute Idee halte, gibt es hier nur noch den Link zum ursprünglichen englischen Wiki Eintrag von Archlinux.org, wo man die Alternativmethode und das oben Geschriebene noch einmal nachlesen kann.

Leichtgewichtige Linux Anwendungen

Eine aktuellere Übersicht über leichtgewichtige Software, die ich verwende, gibt es unter Software.
Nach der Wahl des Fenstermanagers stand die Frage im Raum: „Welche Programme laufen überhaupt noch schnell genug auf einem PII Laptop mit 64MB RAM?“ Dabei ist wohl die wichtigste Frage, was man mit dem Computer überhaupt noch anstellen will. Im folgenden möchte ich eine Auswahl von Programmen vorstellen, die selbst auf älterer Hardware wie meinem Toshiba Portégé 3110CT (speedy) noch schnell funktionieren, wenig Speicher verbrauchen und oft sehr wenig Abhängigkeiten mit anderen Programmen aufweisen und damit ideal sind, wenn man sein Linuxsystem selbst zusammenstellen möchte.
Für meinen Laptop war mir vor allem Netzwerkfähigkeit wichtig. Browsen, Chatten, Emails versenden sollte möglich sein und Musik abspielen musste problemlos funktionieren. Weniger wert legte ich auf Textverarbeitung, Grafiken und Fotos bearbeiten.

Terminal-Emulatoren

Welches Terminal Programm man unter X benutzen möchte ist letztendlich Geschmackssache. Das Fluxbox-Wiki listet hierzu ein paar gängige Alternativen auf. Nach langer Suche im Netz bin ich immer wieder auf rxvt-unicode (kurz urxvt) und xterm gestoßen. Beiden wird geringer Speicherverbrauch nachgesagt, was ich nach einigem Ausprobieren auf meinem Laptop mit 64 MB RAM bestätigen kann. Urxvt lässt sich hierbei umfangreich konfigurieren, so dass man schließlich alle Funktionen erhält, die man z.B. von dem ebenfalls umfangreichen, aber schwerfälligen Gnome-Terminal auch gewohnt ist. Urxvt bietet unter anderem Unicode Support, Pseudo-Transparenz, Tabs, anklickbare Links, ein-/ausschaltbare Scrollbar und weitere Möglichkeiten Farben und Aussehen anzupassen.

Grafik

Ein einfacher Bildbetrachter ist Standard auf jedem Computersystem und sollte auch auf einem Minimalsystem nicht fehlen. Ein schnelles Programm ist hier z.B. gpicview. Wer auf eine grafische Oberfläche verzichten kann, findet mit feh einen mehr als vollwertigen, Kommandozeilen basierten Ersatz, der sehr flexibel ist und bei fluxbox oder openbox sich auch als Programm zum Anzeigen des Hintergrundbilds eignet. Damit kann feh andere Anwendungen wie z.B. eterm als Hintergrundbildzeichner ersetzen.

Email

Normalerweise benutze ich unter Ubuntu für Emails und Kalenderfunktionen die Groupware Suite Evolution und bin seit langem sehr zufrieden damit. Leider möchte Evolution bei einer Einzelinstallation beinahe die gesamte Gnome Desktopumgebung mit installieren und ist auch nicht gerade genügsam was Systemanforderungen angeht. Die zweite sehr gute Alternative ist Mozilla Thunderbird oder Icedove wie es bei Debian genannt wird.
Auf meinem Laptop war aber auch Thunderbird eine Nummer zu groß, weshalb ich nach anderen Alternativen Ausschau gehalten habe. Wer einen grafischen Email Client mit ähnlichen Funktionen, gutem Spamfilter und Verschlüsselungsmöglichkeiten wie bei Thunderbird sucht, findet mit claws-mail ein würdiges Programm. Claws-Mail kam selbst mit 64 MB noch gut zurecht. Zwar dauert es ebenfalls eine Weile bis das Programm gestartet ist, danach ist die Reaktionsfähigkeit in Ordnung, was man über Thunderbird nicht mehr sagen konnte.
Auf der weiteren Suche bin ich schließlich auf mutt und alpine gestoßen. Dabei handelt es sich um zwei reine Text basierte Email Clients. Mutt gilt allgemein als stark konfigurierbar und flexibel anpassbar. Die Konfiguration des Programms nimmt einen aber dafür für eine Weile in Anspruch. Schließlich bin ich zu dem Ergebnis gekommen, dass mutt, nur um ein paar Emails abzurufen und zu verfassen, eine Nummer zu konfigurierbar war.
Wer es etwas einfacher möchte, aber einen ebenso leichtgewichtigen Email Client sucht, sollte sich mal alpine anschauen. Alpine ist eine Weiterentwicklung des Email Clients pine der Universität von Washington und wird unter der Apache Lizenz veröffentlicht. Ausgeschrieben würde Alpine dann wohl „Apache License Pine is not Elm“ heißen oder „Alternatively Licensed Program for Internet News and Email“.
Im Gegensatz zu mutt ist die Installation unkompliziert abgeschlossen sobald man aptitude install alpine ausgeführt hat. Die Konfiguration danach gestaltet sich auch deutlich einfacher. Was man noch beachten sollte und wie man z.B einen GMX Account einrichtet, wird an dieser Stelle berichtet.

Dateimanager

Dateien kopieren, bewegen und löschen gehört zur Standardaufgabe eines jeden Rechners. Meine Lieblingsprogramme, wenn es um schnelle Dateimanager geht, sind Thunar und PCManFM. Wer es noch eine Spur genügsamer haben möchte, findet mit dem Midnight Commander, eine gute Alternative, welche dem legendären Norton Commander nachempfunden wurde. Wer wie ich feststellt, dass er selten große Mengen an Daten verschieben und kopieren muss, kommt sicherlich auch mit den Shell Kommandos mv, cp und rm prima aus.

Browser

Die Zahl der Browser scheint unter Linux Myriade zu sein. Zwar habe ich noch einige weitere ausprobiert, aber mich auf die unten stehenden zum Vorstellen beschränkt. Die nachfolgenden Browser repräsentieren auch Browsertypen und heben sich meiner Meinung nach von den anderen ab.
Firefox/Iceweasel kommt mit nur 64 MB RAM nur sehr zäh zurecht und ist zumindest für speedy nicht geeignet. Für mich anfangs überraschend, kommt Opera selbst mit nur 64 MB klar. Die Startzeit ist zwar auch nicht weltmeisterlich, aber die Seiten lassen sich flüssig scrollen. Schade nur, dass Opera nicht Open Source ist und meiner Meinung nach zu viele Features mit herumschleppt, die nichts mit Browsen zu tun haben.
Der Chromium-Browser war noch nicht in Squeeze, weshalb ich ihn noch nicht auf speedy getestet habe. Auf Grund der schon bei anderen Rechnern gemachten Erfahrungen, könnte er mit Opera in Sachen Geschwindigkeit wahrscheinlich gut mithalten.
Nun sind diese beiden „großen“ Browser noch lange nicht das Ende aller Weisheit. Unter anderem gibt es noch Midori, netsurf, dillo2 oder elinks. Nicht getestet habe ich vergleichbare Browser, die für KDE entwickelt worden sind, da ich keine QT Bibliotheken installieren wollte.
Midori ist der Standardbrowser der Xfce Desktopumgebung und macht auf etwas schnelleren Rechnern mit 128 MB RAM eine sehr gute Figur, startete aber auf speedy deutlich langsamer als z.B. opera. Trotzdem ist er einer meiner Favoriten, da er auch schon mit einer guten Ad Block Funktion standardmäßig daherkommt und auch wert auf Webstandards legt.
Es gibt eine Reihe von Browsern, die schlank und schnell sind, weil sie Funktionen nicht implementiert haben und z.B. JavaScript nicht darstellen können oder CSS nicht vollständig oder gar nicht implementieren. Für viele Anwendungszwecke reicht aber auch ein solcher Browser aus um einen schnellen Blick auf eine Webseite zu werfen.
Unter diesen Browsern ist z.B netsurf, welcher eine befriedigende Startzeit hatte und Seiten schnell darstellt. Im Vergleich mit Opera startete er etwas schneller, hat aber auch deutlich weniger Features.
Ein extrem schnelles Programm war schon immer Dillo. Leider war auch die Darstellung von Webseiten sehr rudimentär. Schnell ja, aber kaum Features. Dillo2 steht nun in den Startlöchern und ist weiterhin ausgesprochen schnell. Viele gut strukturierte Webseiten lassen sich mit Dillo2 ohne Probleme darstellen. Leider gab es mit einer wichtigen Bibliothek Lizenzprobleme, wodurch die Aufnahme in Debian zeitweise gefährdet war. Das Problem scheint gelöst und ich hoffe auf die baldige Aufnahme in squeeze.
Schließlich gibt es noch die Kategorie der Textbrowser. Textbrowser scheinen nur etwas für Puristen zu sein und zugegeben für längere Internetrecherchen sind sie mir eine Spur zu spartanisch. Es gibt aber dennoch Anwendungsmöglichkeiten, wo ich sie für sinnvoll und für eine gute Alternative halte. Zum Beispiel hielt ich es bis vor kurzem für unmöglich youtube Videos auf speedy anzuschauen. Ein genialer Blogeintrag, elinks und mplayer haben das aber dann doch möglich gemacht. Da selbst auf  leistungsfähigeren Rechnern die Wiedergabe von Flashvideos im Browser eine Qual sein kann, gehe ich darauf später noch mal ausführlich ein.
Mit uzbl gibt es noch einen Browser, der sich explizit der UNIX-Philosophie verschrieben hat und Darstellung, Browsen und Extras klar trennt. Er ist ziemlich schnell und setzt ebenso wie Midori auf WebKitGTK+ als Rendering Engine.

Pdf

Als PDF Betrachter kamen bisher immer xpdf oder evince in Frage. Evince ist etwas zu schwerfällig und xpdf befindet sich nicht mehr in squeeze. Dafür gibt es nun epdfview, was einen sehr guten Job macht und zu empfehlen ist.

IRC und Chat

Ab und zu ist er doch ganz nützlich, der Internet Relay Chat oder kurz IRC genannt. Insbesondere erhält man teilweise gute Tipps zu debianspezifischen Problemen oder einfach nur gute Unterhaltung, wenn es mal wieder heißt: „Debian IS NOT Ubuntu!!“.
Der IRC Client meiner Wahl ist normalerweise XChat. Um Systemressourcen weiter zu schonen empfehle ich irssi. In Verbindung mit rxvt-unicode ein echter Gewinn.
Als leichtgewichtiges Chatprogramm hat sich centerim herausgestellt.

Systemmonitor

Wer das Kommando top kennt und mag, wird htop sicher noch besser finden. Endlich lassen sich Systemprozesse intuitiv vertikal und horizontal scrollen. Eine weitere ressourcensparende Alternative ist conky. Conky lässt sich über eine Text-Datei konfigurieren und es gibt schon zahlreiche verfügbare Configs im Netz zu finden.

Musik

Hier fiel meine Wahl auf den Music Player Daemon (mpd) und als Client ncmpc. Die Client-Server Architektur erscheint zuerst etwas merkwürdig. Das Gute daran ist aber, dass der Server sich auch über ein Netzwerk kontrollieren lässt, Server und Client also nicht auf dem gleichen Rechner laufen müssen. Dazu benötigen beide nur sehr geringe Ressourcen. Wer grafische Clients mag und noch etwas RAM übrig hat, sollte sich die Clients sonata oder ario anschauen.
Mit MOC und dem Audio Frontend cplay stehen weitere Möglichkeiten offen.

Textverarbeitung

Lange Textkolonnen in speedy zu hacken ist auf die Dauer ziemlich anstrengend. Zu klein, zu unkomfortabel ist das Tastaturlayout. Immerhin liegen die Stärken dieses Netbooks aus dem Jahre 1999 auch mehr in Portabilität und Stil 😉
Wer trotzdem nicht auf Textverarbeitung verzichten will, hat die Auswahl zwischen Open Office (komplette Office Suite, aber erst ab 128MB+ zu genießen) und Abiword. Wer nur einen einfachen grafischen Texteditor braucht, findet mit leafpad alles was er braucht. Wenn ich auf älteren Rechnern Texte oder Code editieren muss ist vim immer eine gute Alternative.

Zum Schluss

Wie man schnell feststellen kann, gibt es eine Gratwanderung zwischen grafischen und text/ncurses basierten Programmen. Programme wie alpine, htop, centerim, irssi und elinks würden auch ohne grafische Oberfläche X auskommen. Man sieht also schnell, dass mit einem aktuellen Linuxkernel und ressourcenschonenden Programmen selbst etwas ältere PCs noch immer produktiv nutzbar sein können.
Es gibt natürlich noch zahlreiche andere leichtgewichtige Programme. Die Liste ist bei weitem nicht vollständig und rein subjektiv. Zumindest funktionieren alle oben beschriebenen Programme in der Form auf meinem Laptop. Wer eine gute Aufzählung mit weiteren „lightweight“ Linux Anwendungen sucht, findet diese z.B. im Wiki auf Archlinux.org oder bei GuNNiX.