out of the box

Aus LinuxUser 03/2002

out of the box

Guter Ton ohne X

Haben Sie noch einen alten Rechner mit 16 MB RAM und Pentium-100-Prozessor in der Ecke stehen? Wenn Sie diesem eine von Linux unterstützte Soundkarte spendieren, wird mit mp3blaster ein schlanker MP3-Player daraus.

out of the box

Es gibt tausende Tools und Utilities für Linux. “out of the box” pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.

So schön XMMS mit seinen diversen grafischen Effekten und Ausgabe-Plugins auch ist, so viel Ballast schleppt es in Form von Bibliotheksabhängigkeiten mit sich. Neben dem X-Window-System muss eine Vielzahl zusätzlicher Dateien installiert sein. Für mp3blaster von Bram Avontuur reicht dagegen die Textkonsole aus, die eine durchaus übersichtliche Anzeige ermöglicht.

Partitur

Wer mp3blaster selbst kompilieren will, muss sich von http://www.stack.nl/~brama/mp3blaster/ (oder von der Heft-CD) den Quelltext als komprimiertes tar-Archiv besorgen. Ferner sollten Sie den GNU-C++-Compiler g++, die ncurses-Bibliothek sowie die nötigen Header-Dateien installiert haben.

Dank configure-Skript gibt es beim Kompilieren der mp3blaster-Quellen nicht viel zu tun:

tar xzf mp3blaster-3.0.tar.gz
cd mp3blaster-3.0
./configure
make
su  (root-Passwort eingeben)
make install-strip
exit

Dirigent

Hat alles geklappt, befindet sich das ausführbare Programm im Verzeichnis /usr/local/bin; weitere Dateien gelangen beim make install-strip ins Verzeichnis /usr/local/share/mp3blaster. Von dort kopieren Sie die Beispielkonfiguration sample.mp3blasterrc_for_x mit dem Kommando

cp /usr/local/share/mp3blaster/sample.mp3blasterrc_for_x ~/.mp3blasterrc

in Ihr Home-Verzeichnis. Über diese Datei lässt sich das Programm anpassen, was wir später ausnutzen werden. Der Unterschied zwischen den Beispielkonfigurationen sample.mp3blasterrc und sample.mp3blasterrc_for_x besteht darin, dass letztere größtenteils auf den Einsatz von Funktionstasten verzichtet, die leider nur in der Textkonsole, nicht aber in einem X-Terminal funktionieren.

Geben Sie nun mp3blaster als Shell-Kommando ein. Ihr neuer Konsolen-MP3-Player meldet sich zunächst im Playlist-Modus (Abbildung 1). Mit [ 1 ] Select Files wechseln Sie in den Dateiauswahl-Modus (Abbildung 2) und auch wieder zurück zur Abspielliste.

Abbildung 1: Playlist-Modus

Abbildung 1: Playlist-Modus

Abbildung 2: Dateiauswahlmodus

Abbildung 2: Dateiauswahlmodus

Diese beiden Modi stellen alle Bedienelemente des Players zur Verfügung. Im Playlist-Modus steuern Sie das Abspielen (Tasten [p],[s],[ 4 ] und [ 6 ]) und Anordnen ([Leer],[M] und [m]) der Playlist, während der Dateiauswahl-Modus es überhaupt erst erlaubt, eine Abspielliste zusammenzustellen.

Unabhängig vom Modus teilt sich die Anzeige vertikal in vier Bereiche auf. Von oben nach unten sind dies eine Hilfe zu den Tastenfunktionen, eine Information zum Spielmodus (Playlist) bzw. zur Sortierung (Dateiauswahl), die Angabe der aktuellen Gruppe (dieser Begriff bezeichnet eine Zusammenfassung mehrerer Songs) im Playlist-Modus oder des “Arbeitsverzeichnisses” (Dateiauswahl) sowie die momentan laufende MP3-Datei. Die dreigeteilte Spalte auf der rechten Seite wiederum besteht aus Angaben über die Art der MP3-Datei und den Spielmodus für die aktuelle Gruppe sowie einem kleinen Mixer.

Tutti

Von einigen anderen MP3-Playern unterscheidet sich mp3blaster auch durch die Aufteilung der Playlist in Gruppen. Die einfachste Methode zum Erstellen einer neuen Abspielliste geht über den Auswahlpunkt [ 5 ] Add Dirs As Groups. Damit erzeugt das Programm für jedes Unterverzeichnis der aktuellen Dateiansicht eine eigene Gruppe.

Doch was bringt diese Gruppierung? In erster Linie treffen Sie damit Vorauswahlen für das Abspielen in zufälliger Reihenfolge (Shuffle). Mit [ 8 ] Toggle Play Mode erlaubt mp3blaster eine Änderung des globalen Abspielverhaltens (Shuffle über alle Songs aller Gruppen, Spielen einer Gruppe mit Untergruppen, Wiedergabe einer Gruppe ohne Untergruppen). Innerhalb einer Gruppe wirkt die Einstellung [ 7 ] Toggle GroupShuffle. Wollen Sie also die MP3-Dateien aller Gruppen so abspielen, dass deren Reihenfolge gewahrt bleibt, aber die Musikstücke innerhalb einer Gruppe zufällig ausfällt, wählen sie als globalen Abspielmodus Play current group, including subgroups und schalten GroupShuffle ein.

Frutti

Sie können im Playlist-Modus mit [ 2 ] Add Group auch neue, leere Gruppen erzeugen und diese dann im Dateiauswahlmodus mit einzeln ausgewählten Songs füllen. Der Name jeder Gruppe lässt sich mit [ 5 ] Set Group Title jederzeit ändern, sogar während MP3-Dateien abgespielt werden. Auch das Hinzufügen von Songs zur Gruppe ist bei laufender Wiedergabe möglich. Haben Sie eine Playlist zu Ihrer Zufriedenheit erstellt, speichern Sie sie mit [ w ] Write Playlist. Dabei wird auch der eingestellte Play Mode mit archiviert. Die entstehende Datei hört automatisch auf die Dateiendung .lst.

Wie die mp3blasterManpage verrät, kennt das Programm verschiedene Funktionsumschalter, die beim Aufruf als Optionen angegeben werden können. Sehr nützlich für das Abspielen gespeicherter Playlisten ist das Flag -a (“autolist”). Bei einer dahinter stehenden Argument-Datei handelt es sich um eine Abspielliste, deren Stücke der Player ohne zu Zögern wiedergibt. So spielt das Kommando

mp3blaster -a alles.lst

die Liste alles.lst automatisch ab, ohne dass Sie dafür [ 9 ] Start/Stop Playlist drücken müssen.

Stimmgabel

Über die Datei .mp3blasterrc in Ihrem Home-Verzeichnis nehmen Sie individuelle Anpassungen im Erscheinungsbild und Verhalten von mp3blaster vor. Auch hier hilft ein Blick in die Manpage weiter. Außer Farbgebung und Tastaturbelegung können Sie beispielsweise noch ein paar Spezialfeatures einschalten. So zeigt das Programm durch die Angabe

File.ID3Names = yes

im Dateiauswahlmodus zusätzlich die ID3-Tags der Songs an, wenn Sie die Anzeige mit [ f ] Toggle File Display umschalten. Zum Setzen und Anschauen dieser Tags bringt mp3blaster übrigens das eigenständige Programm mp3tag mit (Abbildung 3).

Die für diesen Artikel verwendete Konfigurationsdatei finden Sie übrigens unter dem Namen mp3blasterrc-LU auf der Heft-CD. Einen Konfigurationseintrag für den blauen Hintergrund suchen Sie darin allerdings vergebens: Er ist auf das – vor dem mp3blaster-Aufruf eingegebene – Kommando setterm -background blue -store zurückzuführen.

Abbildung 3: MP3-Tags im Griff

Abbildung 3: MP3-Tags im Griff

Music on boot

Sie wollten sich den Boot-Vorgang Ihres Rechners schon immer mal von Musik untermalen lassen? Abenteuerlustige haben die Möglichkeit, mp3blaster ohne Login direkt beim Hochfahren des Linux-Systems starten zu lassen. Wir bedienen uns dazu der Datei /etc/inittab, die die grundlegende Konfiguration von enthält.

Da die ersten sieben Textkonsolen bei gängigen Distributionen durch Login-Prompt und X-Server belegt sind, verwenden Sie für Ihren MP3-Player die achte Konsole /dev/tty8. Dazu tragen Sie die Zeile

M8:2345:respawn:/usr/local/bin/mp3blaster </dev/tty8 >/dev/tty8

als root in die /etc/inittab ein. Sie sorgt dafür, dass der Player beim Booten startet und nach Beenden mit q sofort wieder neu aufgerufen wird (respawn). Ein Schönheitsfehler stört allerdings noch: Das Programm wird – sicherheitstechnisch bedenklich – mit root-Rechten gestartet. Schnelle Abhilfe schafft hier das Setzen des SUID-Bits und das Übereignen der Datei /usr/local/bin/mp3blaster an den User nobody:

chown nobody.nogroup /usr/local/bin/mp3blaster
chmod 6755 /usr/local/bin/mp3blaster

Jetzt wird mp3blaster grundsätzlich mit den Rechten des (unprivilegierten) Users nobody ausgeführt, was unerlaubtes Schreiben in Systemverzeichnisse verhindern sollte.

Glossar

Textkonsole

Parallel zur grafischen Oberfläche (X) laufen auf einem Linux-System üblicherweise auch mehrere Konsolen im Textmodus. Von laufendem X aus erreichen Sie diese mit [Strg-Alt-F1] bis [F6]. Zurück zu X kommen Sie bei den meisten Distributionen mit [Alt-F7].

tar

Der “tape archiver”, das Standard-Archivierungsprogramm unter Unix. Mit ihm werden ganze Verzeichnisstrukturen zu einer einzelnen Datei verschmolzen, die z. B. auf Magnetband (daher der Name) geschrieben oder komprimiert werden kann.

ncurses

Eine Bibliothek zur terminalabhängigen Ausgabe von Text und Steuersequenzen zur Cursor-Positionierung, Farbumschaltung etc. Sie löst die ältere Termcap-Bibliothek ab.

Header-Dateien

In Header- oder Include-Dateien sind die in einer Bibliothek verfügbaren Funktionen nebst Parametern aufgelistet. Der C(++)-Compiler braucht diese Information beim Übersetzen eines Programms. Bei den gängigen Distributionen enthält ein Header-Paket zu einer Bibliothek üblicherweise den Zusatz “dev” oder “devel” im Namen.

configure-Skript

Dient zum automatischen Auswerten von Eigenschaften des Systems, auf dem ein Quelltext kompiliert werden soll. So findet configure z. B. selbstständig heraus, welcher C(++)-Compiler installiert ist. Mit Hilfe dieses Werkzeugs ist es möglich, plattformübergreifend geschriebene Software auf verschiedenen (meist Unix-) Systemen zu kompilieren, ohne per Hand Änderungen vornehmen zu müssen.

Manpage

Linux besitzt wie alle Unix-Systeme eine Art Online-Referenzhandbuch für die installierten Programme. Diese Hilfe wird mit “man programmname” aufgerufen, z. B. “man mp3blaster”.

Home-Verzeichnis

Das persönliche Heimatverzeichnis eines Benutzers. Darin landet er nach erfolgreicher Anmeldung oder mit dem Kommando cd (ohne weitere Parameter).

ID3-Tags

Ein kleines Datenanhängsel für MP3-Dateien, in dem sich zusätzliche Informationen wie Erscheinungsjahr, Musikgenre etc. speichern lassen. Viele MP3-Spieler werten diese Information aus und können sie darstellen.

init

Dieses Programm wird beim Booten als erstes vom Kernel gestartet und übernimmt den restlichen Initialisierungsvorgang. Üblicherweise sorgt es dafür, dass auf den Textkonsolen die getty-Prozesse laufen, die für die Login-Prompts sorgen.

SUID

Das “Set User ID”-Bit. Ist dieses in den Rechten einer ausführbaren Datei gesetzt, so wird sie grundsätzlich mit den Zugriffsrechten ihres Besitzers ausgeführt. Aus Sicherheitsgründen hat das SUID-Bit bei Shell-Skripten keine Wirkung.

LinuxUser 03/2002 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben