© Christos Georghiou, Fotolia

Kommandozeilen-Kino

Shell-Kommandos mit Shelr aufzeichnen und teilen

15.04.2013
Das Ruby-Tool Shelr verwandelt die Kommandozeile in ein Kinoprogramm für Freunde der Shell.

Blockbuster entlocken Ihnen nur ein müdes Gähnen? Sie finden die Kommandozeile und deren Möglichkeiten weitaus spannender? Sie möchten mit einfachen Mitteln und ohne finanziellen Aufwand ihren eigenen Film erstellen, in dem weder Kinder, Katzen oder Hunde durch das Bild wackeln? Dann ist Shelr das Richtige für Sie.

Statt bei "Stirb langsam 5" und Konsorten dick, doof und depressiv zu werden oder andere Menschen damit zu langweilen, wie sich die Mieze sich von ihrem Fressnapf zum Schlafplatz schleppt, zeigen Sie mit dem kleinen Tool, wie Sie die Kommandozeile beherrschen, oder bilden sich mit den Shell-Casts anderer Nutzer weiter.

Das Programm Shelr [1] ist in Ruby implementiert und steht unter der GPLv3. Es ermöglicht, Aktionen auf der Kommandozeile mitzuschneiden und entweder selbst als Gedächtnisstütze in Form eines Videos zu archivieren oder mit anderen zu teilen und so in Tutorials oder Vorträge zu integrieren. Der Online-Dienst Shelr.tv [2] hostet die Terminal-Filmchen in bester Youtube-Manier (Abbildung 1). Anders und viel besser als bei Youtube erlaubt es der Dienst jedoch, Inhalte aus dem Stream per Copy & Paste zu entnehmen und gleich in der Konsole zu verwenden.

Abbildung 1: Shelr.tv erweist sich als Youtube für Konsolen-Freaks. Bei Bedarf übernehmen Sie Inhalte aus den Filmen einfach per Copy & Paste.

Das Programm selbst haben Sie im Nu installiert. Viele gängige Distributionen führen es bereits in ihren Repositories. Wo Shelr noch fehlt, wie etwa bei Debian "Squeeze", genügt es, Ruby und Rubygems zu installieren und anschließend Shelr und eventuelle Abhängigkeiten mit folgendem Befehl über das Ruby-Paketsystem Gems auf die Platte zu holen:

$ sudo gem install shelr

Shelr kommt als kleines Kommandozeilenprogramm mit wenigen Befehlen aus. Aus diesem Grund erlernen Sie das Bedienkonzept im Nu. Shelr greift auf script aus den Paketen util-linux oder util-linux-ng zurück und arbeitet so als Frontend, das die Terminal-Meisterwerke verwaltet und eine Verbindung zu Shelr.tv herstellt. Script und somit auch Shelr forken die Shell und senden alle Ausgaben in eine Typescript-Datei, die Sie bei Bedarf später wieder abspielen oder sogar ausdrucken.

Ausgaben aufzeichnen

Shelr residiert in der Vorgabe im Verzeichnis /var/lib/gems/Version/bin, das in der Regel nicht im Pfad liegt. Abhilfe schafft das folgende Kommando:

$ export PATH=/var/lib/gems/Version/bin:$PATH

Tragen Sie die Zeile in die Datei ~/.bashrc ein, klappt der Aufruf künftig ohne das Erweitern der Variable.

Um mit Shelr die Eingaben in einem Terminal aufzuzeichnen, genügt der Befehl shelr record. Das Programm fragt noch den Namen der Protokolldatei ab und legt dann los (Abbildung 2). Die Software protokolliert jegliche Eingabe und legt die entsprechenden Daten in einer Typescript-Datei unter ~/.local/share/shelr/<ID>/typescript ab. Haben sie alles im Kasten, beenden Sie das Aufzeichnen mit exit oder über [Strg]+[D].

Abbildung 2: Über das Kommando shelr record starten Sie das Aufzeichnen der Shell-Kommandos.

Der Befehl shelr play last spielt das Aufgenommene wieder ab. Fällt das Ergebnis so aus, dass Sie es anderen zumuten möchten, schieben Sie es mit dem Kommando shelr push last auf Shelr.tv. Das Programm fragt dabei eine aussagekräftige Beschreibung ab. Sofern beim Hochladen keine Fehler auftraten, zeigt die Software anschließend die URL des veröffentlichten Typescripts an.

Freilich müssen Sie die Videos nicht zwingend auf Shelr.tv veröffentlichen. Sie können Ihre Sammlung auch für sich behalten und lediglich mit Freunden und Bekannten teilen.

Benutzen Sie Shelr regelmäßig, dann sammeln sich mit der Zeit etliche Videos an, und es stellt sich der Wunsch ein, nicht immer nur das letzte Werk zu betrachten, sondern auch mal eines der früheren. Allerdings lässt sich aus den IDs nicht schließen, welche Inhalte sich in den zugehörigen Typescript-Dateien verbergen.

Hier kommt das Kommando shelr list ins Spiel, das neben der ID auch den Titel eines Shell-Videos auflistet. Die ID des gewünschten Titels kopieren Sie und nutzen sie anschließend im Befehl shelr play ID. Alternativ laden Sie die entsprechende Datei mit shelr push ID auf Shelr.tv (Abbildung 3).

Abbildung 3: IDs sind nichts weiter als Unix-Timestamps, die das Programm Shelr nutzt, um lokale Shell-Casts zu identifizieren.

Bis jetzt spielte sich alles lokal ab. Doch selbst fleißig Filmschaffende ergreift zwangsläufig früher oder später die Neugier auf die Werke anderer. Deren Videos schauen Sie sich am einfachsten direkt auf der Shelr.tv-Seite an. Stört der Browser oder fehlt eine grafische Umgebung, rufen Sie über das folgende Kommando den Film ab und starten die Wiedergabe auf der Konsole:

$ shelr play http://shelr.tv/records/ID.json

Das Push-Kommando ermöglicht es, Werke als anonymer Nutzer zu veröffentlichen. Möchten Sie mit Ihren Shell-Casts zu Ruhm gelangen, brauchen Sie einen API-Key. Den erhalten Sie auf unkomplizierte Weise, sofern Sie über ein Konto bei Github, Twitter, Google oder OpenID verfügen: Es genügt, sich über einen dieser Dienste auf Shelr.tv anzumelden (Abbildung 4). Anschließend übernehmen Sie den API-Key mit shelr setup Key. Ab nun tragen alle Videos Ihren Nickname.

Abbildung 4: Über einen API-Key posten Sie Ihre Videos mit einem von Ihnen gewählten Nickname.

Sollen die Shellcasts nicht an Shelr.tv gehen, gilt es lediglich im Setup zusätzlich eine API-URL anzugeben. Wer sich dagegen sträubt, seine Werke der breiten Masse zugänglich zu machen, der schränkt das Betrachten beim push mit Hilfe des Schalters --private ein.

In dem Fall benötigt der Betrachter neben einer öffentlichen ID auch einen Zugriffsschlüssel, um in den Genuss der Filme zu kommen (Abbildung 5). Hochgeladene Mitschnitte wandelt der Server in JSON-Objekte um. Wer muss oder möchte, erledigt diesen Schritt lokal mit dem Befehl dump.

Abbildung 5: Mit dem Schalter --privat hochgeladene Shellcasts sind nur Auserwählten zugänglich.

Backends, Sound und Dumps

Shelr ist unter Linux nicht auf das Hilfsprogramm Script als Backend beschränkt. Bei Bedarf wechseln Sie das Backend mit dem Kommando

$ shelr setup recorder backend ttyrec

Mac OS X bringt eine veraltete Version von Script mit, die nicht mit Shelr zusammenarbeitet. Hier stellt Ttyrec momentan die einzige Lösung dar.

Die Software zeichnet nicht nur die Ausgaben auf einem Terminal auf, sondern bietet die Möglichkeit, die Ereignisse akustisch zu untermalen. Hierzu geben Sie dem Befehl record den Schalter --sound mit. Das führt dazu, dass Shelr parallel zum Cast auch eine Audio-Datei im Format OGG erstellt.

Fazit

Mit Shelr fällt es kinderleicht, im Terminal zurückgelegte Schritte aufzuzeichnen, wiederzugeben und zu veröffentlichen. Ebenso einfach gestaltet sich das Verwalten der Aufzeichnungen. Die Shell-Casts eignen sich sowohl für den Einsatz auf dem lokalen Rechner als auch auf Online-Diensten wie Shelr.tv. Dabei besteht die Möglichkeit, nur ausgesuchte Personen den Zugriff zu gewähren.

Neben den reinen Terminalausgaben macht Shelr auch zusätzliche Audio-Untermalungen möglich. Der Online-Dienst steht ebenso wie das Programm selbst als freie Software bereit. Das erlaubt es, mit der gleichen Technik Shell-Casts auf einer eigenen Webseite anzubieten.

Der Vorteil gegenüber dem reinen Aufzeichnen per Video besteht in der Tatsache, dass Sie bei Shelr und Shelr.tv die Möglichkeit haben, Kommandos per Copy & Paste aus einer Wiedergabe zu übernehmen. 

Infos

[1] Shelr: https://github.com/antono/shelr

[2] Shelr.tv: http://shelr.tv/

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare