Ob Mails schreiben, News lesen, CDs brennen oder sogar Bilder bearbeiten: All das geht unter Linux auch ohne grafische Oberfläche. Mit Twin hält sogar ein Fenster-Manager Einzug auf der Konsole.
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.
Fernsterln auf der Konsole mutet für manch einen an wie ein Lagerfeuer auf dem Grund des Atlantik. Dennoch ist es möglich, und zwar mit TwinTextmode Windows Environment[1] aus der Feder von Massimiliano Ghilardi. Mit diesem Window-Manager für die Konsole jonglieren Sie mit Anwendungsfenstern wie unter X. Wer keinen X-Server verwendet, muss nicht länger zwischen mehreren Konsolen hin- und herschalten und auch in einer grafischen Oberfläche lässt sich Twin benutzen.
Fenstereinbau für Heimwerker
Da Sie Twin wahrscheinlich nicht auf Ihren Distributions-CDs finden, greifen Sie selbst zum Compiler und übersetzen die Software aus dem Quellcode. Sie finden ihn auf unserer Heft-CD oder unter [1]. Twin benötigt nur Standard-Entwicklungswerkzeuge sowie die Bibliotheken ncurses, zlib und deren Development-Pakete. Möchten Sie unter X eine Twin-Sitzung starten, brauchen Sie zusätzlich die Entwicklungspakete von XFree (unter SuSE XFree86-develxlibs-dev).
Installieren Sie außerdem gpm und gpm-dev, um mit der Maus durch Ihre Fensterschar zu navigieren. Unter SuSE erübrigt sich das, da das gpm-Paket hier standardmäßig installiert ist und die Entwicklerdateien enthält.
Zusammen mit Twin kommt ein CD-Spieler namens twcd im Unterordner contrib des Quellcode-Verzeichnisses. Möchten Sie diese Anwendung nutzen, installieren Sie zusätzlich libcdaudio[2] von der Heft-CD oder von [3]. Bei der breiten Auswahl leistungsfähiger CD-Player für die Konsole (z. B. cdp) sind Sie jedoch nicht auf twcd angewiesen.
Entpacken Sie den Twin-Quellcode, und wechseln Sie in das neu entstandene Verzeichnis twin-0.5.1. Dort erledigt der Dreisatz ./configure; make; make install Übersetzung und Installation der Software. Um twcd ebenfalls zu kompilieren, folgt nach make noch make -C contrib. Dies führte bei unseren Tests nur dann zum Erfolg, wenn libcdaudio und die zugehörigen Header-Dateien in /usr/lib/ und /usr/include lagen.
Per Default installiert sich Twin in die Verzeichnisse unterhalb von /usr/local, so dass Sie make install als root aufrufen müssen. Danach machen Sie – immer noch als root – mit ldconfig Ihr System mit den neu installierten Bibliotheken bekannt. Vergewissern Sie sich zuvor, dass in der Datei /etc/ld.so.conf die Zeile/usr/local/lib steht; bei SuSE ist das Standard, Mandrake- und Red-Hat-Nutzer tragen sie selbst ein.
Erste Schritte
Ob Sie Twin auf der Konsole oder unter X starten, ist egal: Das Programm wählt selbst den richtigen Ausgabemodus. Im grafischen System öffnet Twin seinen Desktop in einem normalen Fenster, nur in einer Textkonsole übernimmt es die Kontrolle über den ganzen Bildschirm und sorgt für’s richtige Fenster-Manager-Feeling.
Starten Sie vorher den gpm-Dienst, der Ihnen auch im Textmodus die Maus zur Verfügung stellt. Bei Mandrake und Red Hat Linux läuft gpm per Default, SuSE-Anwender starten ihn als root mit dem Befehl /etc/init.d/gpm start. Haben Sie anschließend Probleme mit der Maus unter X, beenden Sie gpm mit /etc/init.d/gpm stop wieder.
Läuft Ihr neuer Fensterherrscher, liegt es an Ihnen, die Arbeitsfläche mit Programmfenstern zu bevölkern. Ein Druck auf [Pause] oder die rechte Maustaste zeigt das Twin-Menü am oberen Bildschirmrand. Über File / New Term starten Sie twterm, das Twin-Äquvivalent zu xterm; schneller geht es mit der Tastenkombination [Alt-Pfeil hoch].
Twin stattet jedes Fenster mit einer Titelleiste aus, deren Buttons die wichtigsten Optionen bieten. Über den linken Knopf schließen Sie ein Fenster, der zweite Button reduziert es auf die Titelleiste und rollt es wieder aus. Der dritte ganz rechts gibt den Fokus an das nächste geöffnete Fenster oder den Desktop ab. Das ist praktisch, da Twin immer nur das Menü für das gerade aktive Objekt anbietet, Macintosh-Benutzer kennen dieses Verhalten.
Alternativ klicken Sie mit der linken Maustaste auf eine freie Stelle der Arbeitsfläche, damit Twin wieder das Hauptmenü einblendet. Die Tastenkombination [Alt-Tab] wechselt zwischen den Fenstern.
Wie bei anderen Window-Managern verschieben Sie Twin-Fenster mit gedrückt gehaltener linker Maustaste und passen ihre Größe durch Ziehen an dem kleinen Anfasser in der rechten unteren Ecke des Fensters an. Das geht auch mit der Tastatur: Wählen Sie Window / Resize, stutzen Sie das Fenster mit den Pfeiltasten auf die gewünschten Maße zurecht, und schließen Sie die Aktion mit [Enter] ab.
Ein einzelnes twterm-Fenster bietet allerdings noch keinen Fortschritt gegenüber einer normalen Konsole. Starten Sie weitere Terminals, auf die Sie die Programme verteilen, die Sie im Auge behalten wollen.
Der Menüpunkt File / Execute startet ein Programm direkt, ohne den Umweg über die Eingabeaufforderung. Ein Häkchen vor Run in Terminal sorgt bei interaktiven Anwendungen wie dem Mail-Programm mutt für den passenden Container.
So haben Sie mit Twin alle wichtigen Applikationen im Blick (Abbildung 1). Wenn es doch einmal zu unübersichtlich wird, weist Ihnen die Fensterliste, die Sie über einen mittleren Mausklick auf den Desktop einblenden, den Weg aus dem Chaos.
Alles inklusive
Twin bringt von Haus aus einige Tools mit. Um diese Goodies zu nutzen, starten Sie zunächst über Modules / Run Socket Server ein Twin-Socket. Ähnlich wie das X-Window-System arbeitet Twin nach einem Client-Server-Modell: Einige Twin-Anwendungen kontaktieren den Desktop über ein Socket.
Der Menüpunkt ? / Clock startet den in Twin integrierten Zeitmesser. Der Befehl twsysmon präsentiert Ihnen einen grafischen Systemmonitor, der Sie über Ressourcen und Laufzeit Ihres Systems informiert (Abbildung 2). Mit twcat gibt es zudem eine cat-Alternative; wie beim Original lautet der Aufruf twcat dateiname, um sich durch den Inhalt einer Datei mit praktischem Scrollbalken zu bewegen.

Abbildung 2: Mit Balkengrafiken stellt twsysmon den Ressourcenverbrauch dar
Einstellungssache
Der erste Anlaufpunkt, um Twin an Ihre Bedürfnisse anzupassen ist der Menüpunkt ? / Options, der das Einstellungsmenü öffnet (Abbildung 3).
Fallen Ihnen die voreingestellten Fensterschatten zu breit aus, passen Sie unter Shadows die Größe an oder deaktivieren Sie sie durch Entfernen des Häkchens ganz. Mit aktivierter “Hidden Menu“-Option verschwindet das Menü und zeigt sich nur noch, wenn Sie es mit einem rechten Mausklick explizit anfordern.
Wer gar ein ganzes Dutzend Fenster unter einen Twin-Desktop bringen will, sollte Enable Screen Scrolling ankreuzen: Damit sind Sie nicht länger auf den sichtbaren Bereich des Desktops beschränkt, sondern scrollen mit gedrückt gehaltener linker Maustaste über die Bildschirmränder hinaus, auch beim Verschieben von Fenstern.
Noch individueller konfigurieren Sie Twin mit einem Texteditor. Kopieren Sie die Datei /usr/local/lib/twin nach ~/.twinrc, und passen Sie die gut kommentierte Datei nach Herzenslust an. Welche Farben und Tastenkombinationen zur Verfügung stehen, steht in der Datei.
Listing 1 zeigt, wie Sie das Farbschema von Twin ändern und eigene Schnellstarttasten für mutt und den Systemmonitor top definieren. \xb1 im Abschnitt Background ist die hexadezimale Schreibweise für das Zeichen *, das Twin als Hintergrund-Muster einblendet. Ebenfalls erlaubt ist dort die Oktaldarstellung für einzelne Zeichen, z. B. \100 für @. Wer diese Schreibweisen zu kompliziert findet, verschönert seinen Hintergrund alternativ mit normalem Text. Das Ergebnis aus Abbildung 4 erreichen Sie mit folgendem Eintrag:
Background 1 High White on Magenta ( "Linux Machine! " "#####################" " " " " " " )
Leuchtet Ihnen das Weiß zu grell, lassen Sie den Parameter High weg.
Das Schlüsselwort ExecTty bei den Schnellstart-Befehlen sorgt dafür, dass Twin einen Programmaufruf in einem Terminal ausführt. Achten Sie darauf, dass alle Tastaturanweisungen außer CtrlAlt und Shift zwischen Anführungszeichen stehen.
Listing 1
Andere Farben und neue Shortcuts für Twin
#Dieser Eintrag um die Zeile 23 in ~/.twinrc
#ergibt einen Twin mit grünem Hintergrund.
Background 1 High Black On Green (
"\xb1"
)
#mutt-Tastenkombination [Shift-Tab]
Key Shift "Tab" ExecTty "mutt"
#top-Schnellstart über [F1]
Key "F1" ExecTty "top"
Twin auf Reisen
Immer dann, wenn man doch einmal die grafische Oberfläche gestartet hat oder kurz etwas auf einer anderen Konsole oder an einem anderen Rechner macht, braucht man sicher eine gerade unter Twin laufende Anwendung, beispielsweise das Mail-Programm. Auch dafür ist vorgesorgt: Twin stellt Ihnen Ihre Arbeitsumgebung überall zur Verfügung, sogar, wenn Sie sich zwischenzeitlich ausloggen.
Das Zauberwort heißt detach: Twin koppelt sich von der Konsole ab, auf der Sie ihn gestartet haben und läuft im Hintergrund weiter. Starten Sie zunächst den Socket-Server und wählen Sie dann File / Detach. Ohne Socket-Server verschwindet Twin in den Hintergrund, ohne dass Sie ihn kontaktieren können.
Nun loggen Sie sich aus, starten die grafische Oberfläche oder ein anderes Programm und sobald Sie die Twin-Sitzung brauchen, holen Sie sie mit twattach oder twdisplay wieder auf den Bildschirm. twattach verbraucht weniger Ressourcen, hat aber den Nachteil, dass nur der Ausgabemodus zur Verfügung steht, in dem sich Ihr laufender Twin befindet. Der Versuch, eine auf der Konsole gestartete Twin-Sitzung mit twattach auf die grafische Obefläche zu holen, beschert Ihnen nur Zeichensalat (Abbildung 4).
Da twattach bei unseren Tests auch im selben Ausgabemodus gelegentlich zu Fehlern führte, ist twdisplay die bessere Wahl, wenn Ihr Rechner nicht allzu leistungsschwach ist. Der Befehl, um Ihre Twin-Sitzung unter X anzudocken, lautet:
twdisplay --twin@:0 --hw=X
Mit --twin@:0 geben Sie das Twin-Display an; die erste gestartete Twin-Sitzung heißt immer :0twfindtwin die richtige Nummer aus.
Ohne Angabe eines Rechnernamens geht twdisplay davon aus, dass die Sitzung auf dem lokalen Rechner läuft. Wollen Sie eine Sitzung übernehmen, die auf einem anderen Rechner im Netzwerk gestartet wurde, sieht der Befehl mit der Beispiel-IP-Adresse 192.168.0.1 so aus:
twdisplay --twin@192.168.0.1:0 --hw=X
Hinter --hw= legen Sie fest, welchen Ausgabemodus Twin benutzen soll. Arbeiten Sie auf der Konsole, ist tty der richtige Wert, unter X wählen Sie X oder gfx; letzteres beschert Ihnen eine hübsche Dekoration für die Twin-Fenster (Abbildung 5).
Haben Sie mit einer langsamen Netzwerkverbindung zu kämpfen, etwa wenn Sie eine Twin-Verbindung über das Internet aufbauen, hilft die zlib-Kompression. Hinter dem Parameter --hw=X übergeben Sie durch ein Komma getrennt weitere Verbindungsoptionen. Mit
twdisplay --twin@192.168.0.1:0 --hw=X,gz
komprimiert der Window-Manager die zu übertragenden Daten und nutzt dadurch langsame Netzwerkverbindungen optimal aus. Die zusätzliche Leistung, die Sie für die Komprimierung brauchen, ist selbst Rechnern älterer Bauart zuzumuten.
Werkzeugkasten
Zusätzliche Features soll künftig das twutils-Paket von der Heft-CD oder der Twin-Homepage bieten. Momentan enthält es jedoch nur einen wissenschaftlichen Taschenrechner. Nach dem Entpacken wechseln Sie in das Verzeichnis twutils-0.2 und übersetzen die Software mit den Befehlen ./configure und make. make install als root stellt Ihnen twkalc unter Twin zur Verfügung (Abbildung 7).
Ständiger Begleiter
Wie andere Desktop-Umgebungen bringt auch Twin einen Display-Manager mit: twdm. Dieser Login-Bildschirm für den Textmodus bietet Ihnen eine pseudo-grafische Anmeldemaske, über die Sie sich nach Eingabe von Benutzername und Passwort in eine Twin-Sitzung einloggen. root startet den Display-Manager mit dem Befehl /usr/local/sbin/twdm.
Im Twin-Tutorial, das im Unterverzeichnis doc des Sourcecodes liegt, finden Sie eine Anleitung, wie Sie twdm in den Systemstart integrieren. Allerdings sollten Sie das nur auf einem Testsystem wagen: Bei uns funktionierte die Tastatur nach dem Start in twdm nicht, so dass kein Login möglich war.
Glossar
-
X
-
Die grafische Oberfläche von Unix-Betriebssystemen; auch bekannt unter den Namen X11 oder X Window System. Die gebräuchlichste Linux-Variante heißt XFree86.
-
Fokus
-
Ein Fenster hat den Fokus, wenn es bereit ist, Benutzereingaben via Maus oder Tastatur anzunehmen.
-
Socket
-
Die Unix-Domain-Sockets fungieren als Kontaktadressen für Programme. Starten Sie ein Programm auf der grafischen Oberfläche, kommuniziert es mit dem X-Server über eine üblicherweise im /tmp/-Verzeichnis liegende Socket-Datei.
-
hexadezimale Schreibweise
-
Zeichen übersetzt man mit einer Tabelle in Zahlen, um sie für Computer benutzbar zu machen. Hierbei sind verschiedene Schreibweisen üblich, unser dezimales Zahlensystem umfasst 10 Ziffern (0-9), das oktale System nur 8 (0-7) und das hexadezimale 16 Ziffern (0-F).
-
Oktaldarstellung
-
Zeichen übersetzt man mit einer Tabelle in Zahlen, um sie für Computer benutzbar zu machen. Hierbei sind verschiedene Schreibweisen üblich, unser dezimales Zahlensystem umfasst 10 Ziffern (0-9), das oktale System nur 8 (0-7) und das hexadezimale 16 Ziffern (0-F).











