Home / LinuxUser / 2002 / 04 / deskTOPia: Bashish und Adventure Shell

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher Artikel

Abenteuer Kommandozeile

deskTOPia: Bashish und Adventure Shell

01.04.2002 Themes gibt es nicht nur für grafische Benutzeroberflächen, und wem der Kick bei der Shell fehlt, kann sich auf das Abenteuer "Adventure Shell" einlassen.

deskTOPia

Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor.

Die Linux-Kommandozeile mag noch so mächtig sein – wer auf dem GUI-Desktop nicht nur nach Effizienz strebt, sondern mit immer neuen Themes und Gimmicks dem Wohlbefinden Vorschub leistet, wird die Stichwörter "Konsole" und "Shell" nur mitleidig mit "phantasielos" und "langweilig" kommentieren.

Zwar bieten manche X-Terminal-Programme wie Eterm [1] Verschönerungsmöglichkeiten für das Kommandozeilenfenster, und xtermset [2] oder die ls-Option --color sorgen für einsame Farbtupfer im schwarz-weißen Allerlei. Dennoch: Alles Flickwerk im Gegensatz zum Themen-Manager einer Desktop-Umgebung.

Themes für die Konsole

Es sei denn, man setzt auf bashish [3]. Diese Theme-Engine sorgt nicht nur für Abwechslung auf der Konsole – sie bietet auch für Kommandozeilen-Nostalgiker die Möglichkeit, mal wieder etwas unter den Fingern zu haben, was fast wie eine OS2-Kommandozeile, die Amiga-Workbench oder VMS aussieht (Abbildung 1).

Abbildung 1

Abbildung 1: Wechsel vom Technicolor- auf's VMS-Theme

Die Installation verläuft ein wenig abseits gewohnter Pfade. Wer das bashish-DR7.8.tar.gz-Archiv als einfacher User mit tar -xzvf auspackt, ins neuerstellte Verzeichnis bashish-DR7.8 wechselt, ./InstallBashish tippt und dem Installationsskript ein [Enter] gibt, bekommt fast alles Nötige nach ~/.bashish kopiert. Lediglich das Hauptskript bashish selbst muss noch an einen im Suchpfad stehenden Ort kopiert werden, sinnvollerweise nach ~/bin, ein Verzeichnis, das in der Variablen PATH meist noch nachgetragen werden muss.

Ruft hingegen root das Installationsskript auf, landet bashish per Default in /usr/local/bin, die Hilfsdateien in /usr/local/share/bashish.

Abbildung 2

Abbildung 2: root wird standesgemäß begrüßt, wenn sie auf's Holy-Theme umschwenkt

Sofern root unprivilegierten Usern die Bashish nicht mit System-Tools oder per manuellem Editieren der /etc/passwd (Listing 1) als Login-Shell aufzwingt, muss das Tool mit seinem Namen bashish (und gegebenenfalls der entsprechenden Pfadangabe) aufgerufen werden. Unter X öffnet sich dann ein neues Terminal-Fenster (Abbildung 3), auf der Konsole wird die aktuelle Shell "ersetzt". Dann steht ein neues Kommando changetheme zur Verfügung, mit dem sich vor allem das Aussehen des Shell-Prompts, aber auch andere Details ändern lassen.

Abbildung 3

Abbildung 3: Bashish im Eterm

Für alle Theme-Dateien, die unterhalb von ~/.bashish/themes bzw. /usr/local/share/bashish/themes zu finden sind, braucht man als Argument lediglich den Namen (ohne eine eventuelle Dateinamenendung .bt) angeben (Abbildung 1 listet als Beispiel Betriebssystem-Themes aus dem Verzeichnis themes/os). Sollen anderswo (etwa aus dem Archiv themes-base7.tar.gz) installierte Themen benutzt werden, ist die jeweilige Pfadangabe vonnöten.

Beim Testen der verschiedenen Themes stößt man leider auch auf die eine oder andere taube Nuss, doch dafür entschädigt das mitgelieferte README, das unter anderem erklärt, wie sich eigene Szenarien zusammenbauen lassen.

Listing 1

Auch Bashish und die Adventure-Shell sind als Login-Shells möglich

trish:x:1000:1000:Patricia Jung,,,:/home/trish:/bin/bash
test:x:1001:100::/home/test:/usr/local/bin/ash
pjung:x:1002:1000::/home/pjung:/usr/local/bin/bashish

Shell im Abenteuerland

Wen stört, dass bashish nicht ernsthaft etwas an der Bedienungsphilosophie der Kommandozeile ändert, braucht härtere Drogen. Tatsächlich waren vor zehn und mehr Jahren Progrämmchen wie die ewig nörgelnde Marvin-Shell beliebte, über Usenet-Newsgruppen verbreitete Gimmicks. Viele dieser Prachtstücke sind mittlerweile verschollen, aber aus der beliebten Sparte "Text Adventure" hat die Adventure Shell [4] immerhin in zwei Versionen überlebt.

Die C-Implementierung advsh.tar.Z lässt sich leider nicht ohne größere Anpassungen unter Linux kompilieren; auch die Shell-Skript-Variante advshell.shar.Z (auszupacken mit gunzip und unshar) verlangt noch ein paar Korrekturen, weshalb sich auf CD mit advshell_LU042002.tar.gz ein Tar-Archiv befindet, das zum einen einen Bug behebt, zum anderen aber auch einige Pfadangaben im Makefile und im Code der Adventure-Shell ash.sh an gängige Linux-Defaults anpasst.

Nach dem Auspacken mit tar -xzvf advshell_LU042002.tar.gz und dem Wechsel ins entstandene advshell-Verzeichnis sollte ein make, als root eingegeben, für eine Installation im /usr/local-Zweig des Dateibaums sorgen.

Sofern /usr/local/bin im Suchpfad liegt, reicht nun ein einfaches ash auf der Kommandozeile, um einen ausrangierten, leeren Rucksack zu finden (Zeile 1, Listing 2), in dem sich im Folgenden Dateien transportieren lassen (Zeilen 9--22). Antwortet man auf die Frage nach Hilfe mit yes, erhält man eine kleine Einführung, ansonsten gibt die Shell sofort Ortsinformationen (in Zeile 3 befinden wir uns im eigenen Home-Verzeichnis), zeigt mögliche Ausgänge (exits, also Verzeichnisse) sowie einen Durchgang nach oben auf (Zeile 7) und nennt die herumliegenden Objekte alias Dateien.

Mit help listet die Adventure Shell alle möglichen Kommandos auf. So geht man mit up durch den Durchgang in den darüberliegenden Raum (also ins übergeordnete Verzeichnis), sammelt mit get Dateien ein (Zeile 9) und legt sie an anderer Stelle wieder ab (Zeile 21). Unix-Monster alias Befehle lassen sich ihre Schätze stehlen (Zeile 23): Die dabei erzeugte Datei groesse enthält die Ausgabe des Kommandos wc -c form1.ui und lässt sich mit open lesen.

Aufpassen muss man trotzdem ein wenig: Wer beispielsweise den Drucker-Daemon wie in Zeile 28 mit einem Objekt (der Datei hexrechner.pro) bewirft, sollte sich nicht wundern, wenn der das in Papier umgewandelte Objekt einfach wegwirft: In Zeile 33 enthält der Raum genau diese Datei weniger. Auch das Füttern eines Unix-Monsters (feed datei to befehl) ist nicht ganz ungefährlich – man sollte hier nur solche Befehle wählen, die von der Standardeingabe lesen. Editoren, GUI-Programme u. ä. Monster, die eine eigene Benutzeroberfläche mitbringen, lassen sich mit dem wake-Befehl zum Leben erwecken: In Zeile 37 erwacht vi zum Bearbeiten der (neuanzulegenden) Datei text. KDE-, GNOME- u. a. X-Programme setzen dabei allerdings voraus, dass man aus dem Adventure heraus Zugriffsrechte auf den jeweiligen X-Server hat.

Listing 2

Abenteuer in der Shell

1  You find a discarded empty knapsack.
 2  Welcome to the Adventure shell!  Do you need instructions?no
 3  You are in your own home.  This room contains:
 4  Telekom_661360_010813.tif advshell_LU042002.tar.gz bla cc_3.png
 5  There are exits labeled:
 6  KDesktop MTAs Mail advshell antraege artikel beispiel hello
 7  as well as a passage overhead.
 8  There are shadowy figures in the corner.
 9  ->  get cc_3.png
10  cc_3.png: taken
11  ->  inventory
12  Your knapsack contains:
13  cc_3.png
14  ->  go beispiel
15  You squeeze through the passage.
16  You have entered /home/trish/beispiel.  This room contains:
17  Makefile form1.ui form1.ui.h hexrechner.db hexrechner.pro
18  There are exits labeled:
19  images
20  as well as a passage overhead.
21  ->  drop cc_3.png
22  cc_3.png: dropped.
23  ->  steal groesse from wc -c form1.ui
24  The wc monster drops the groesse.
25  ->  open groesse
26  Opening the groesse reveals:
27     3756 form1.ui
28  ->  throw hexrechner.pro at daemon
29  The daemon catches the hexrechner.pro, turns it into paper,
30  and leaves it in the basket.
31  ->  look
32  The room contains:
33  Makefile cc_3.png form1.ui form1.ui.h groesse hexrechner.db
34  There are exits plainly labelled.
35  images
36  … and a passage overhead.
37  ->  wake vi text
38  You awaken the vi monster:
39  The monster slithers back into the darkness.
40  ->  exit
41  Do you really want to quit now?yes
42  See you later!

Links

Infos

[1] Christian Perle: "Tapetenwechsel", Linux-Magazin 08/1999, S. 66 ff., http://www.linux-magazin.de/ausgabe/1999/08/Eterm/eterm.html

[2] Christian Perle: "Feintuning fürs Terminal" Linux-Magazin 05/1999, S. 74, http://www.linux-magazin.de/ausgabe/1999/05/Xtermset/xtermset.html

[3] http://bashish.sourceforge.net/

[4] http://www.ifarchive.org/indexes/if-archiveXshells.html

Tip a friend    Druckansicht Bookmark and Share
Kommentare

1242 Hits
Wertung: 110 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...