Master Mitch - Anbindung eines WYSE 160 Terminals an Linux

[dvtm] [Höhere Auflösung] [Linux konfigurieren] [Terminal konfigurieren] [UTF-8]


  News

12.10.2008: Anbindung eines WYSE 160 Terminals an Linux
Erwähnung dvtm, Link auf Debian-Paket ncurses-term-mitch

15.10.2005: Anbindung eines WYSE 160 Terminals an Linux
Beschreibung, wie man das Terminal in einer UTF-8-Umgebung nutzen kann.

29.06.2005: Anbindung eines WYSE 160 Terminals an Linux
Beschreibung, wie man das Terminal in einer höheren Auflösung betreibt.

Linux konfigurieren

Das WYSE 160 ist ein serielles Terminal, das eine Reihe verschiedener Text-Terminals sowie einige grafische Terminals emulieren kann. Es ist recht einfach unter Linux einzurichten. Die folgende Zeile muss in die /etc/inittab eingefügt werden:

T1:23:respawn:/sbin/getty -L ttyS1 19200 vt102

Dadurch wird ein getty gestartet, das am zweiten seriellen Port lauscht. Der Terminaltyp wird auf vt102 gesetzt, die Übertragungsgeschwindigkeit auf 19200 Bit pro Sekunde.

Terminal konfigurieren

Damit das Terminal mit Linux, deutschem Tastaturlayout und Umlauten zurechtkommt, müssen die folgenden Einstellungen im Setup-Menü des Terminals vorgenommen werden (um das Setup zu erreichen, ist die Taste Select oder Setup in der rechten oberen Ecke der Terminaltastatur zu betätigen):

Das war’s schon. Bis auf die Del-Taste (die sich wie Backspace benimmt) sollte alles funktionieren. Viel Spaß mit dem Terminal.

Danke an Jan Kandziora für die Spende des Terminals und die Hilfe beim Einrichten desselben (und einiger anderer Sachen).

Forgeschrittenes

Höhere Auflösung

Jetzt funktioniert das Terminal zwar, aber da geht noch mehr. Zum Beispiel lässt sich die Auflösung des Terminals erhöhen. Dazu legen wir eine neue Terminaldefinition vt102-wl (wl für wide und large) an. (Debian-Nutzer können den folgenden Absatz überspringen und stattdessen ncurses-term-mitch aus meinem Repository installieren, da ist die Datei schon fertig drin.)

Zuerst besorgt man sich mit dem Befehl infocmp vt102 die aktuellen Terminaldefinitionen. Diese steckt man in eine Datei, dort editiert man die Einträge cols# und lines# von 80/24 auf 132/43. Außerdem ändert man (damit man nichts kaputt macht) den Namen der Definition von vt102|dec vt102 um in vt102-wl. Mit dem Befehl tic datei speichert man daraufhin die neue Definition im System.

Als nächster Schritt sollte der getty(8)-Aufruf in der /etc/inittab so geändert werden, dass er nun ebenfalls die neue Definition vt102-wl benutzt.

Jetzt muss nur noch das Terminal wissen, dass sich die Auflösung geändert hat. Dies wird am Terminal selbst eingetragen:

Fertig! So kann man mit dem Ding richtig gut arbeiten. Wenn Programme wie elinks(1) nicht die volle Breite ausnutzen, sollte man sie testweise unter screen(1) starten (screen ist generell gut).

UTF-8

Ein weiterer Trick, den ich benötige, seit ich auf UTF-8 umgestellt habe, ist folgender Eintrag ein meiner ~/.bashrc:

if [ "$TERM" = vt102-wl ]; then export LANG=de_DE export EDITOR=ee export VISUAL=ee fi

Damit stelle ich Texteditoren und Spracheinstellungen auf Terminal-taugliche Werte ein. In dieser Kombination kann dann auch screen(1) zeigen, was es alles kann: Wenn ich z.B. irssi(1) auf meinem Rechner im screen unter UTF-8 starte und die Session dann später per screen -rd auf das Terminal verlagere, werden alle Umlaute so weit es geht korrekt konvertiert - japanische Zeichen kann das Terminal natürlich nicht, aber deutsche Umlaute sind vollkommen problemlos.

dvtm

Ein weiteres schönes Stück Software für das serielle Terminal (und nicht nur da) ist dvtm. Im Grunde genommen ist das ein Windowmanager im dwm-Stil - aber für die Konsole. Wie screen(1)’s Split-Modus, nur auf Drogen. Unbedingt mal ausprobieren! Manche Programme, die direkt auf dem Terminal Probleme machen (z.B. joe/jmacs, darum setze ich oben EDITOR=ee), funktionieren unter dvtm vollkommen problemlos.

Um dvtm automatisch beim Einloggen über eine Konsole zu starten, habe ich folgende Erkennungsroutine ganz ans Ende (wichtig!) meiner ~/.bashrc gepackt:

# start dvtm when on terminal if [ "$TERM" = vt102-wl ]; then export LANG=de_DE export EDITOR=jmacs export VISUAL=jmacs DVTM=/home/mitch/remote-git/dvtm/dvtm elif [[ "$(tty)" =~ '^/dev/tty[0-9]' ]] ; then DVTM=/home/mitch/bin/dvtm-status fi [ -x "$DVTM" ] && exec "$DVTM" "screen -d -R -S irssi -t irssi irssi" "$SHELL"