TTY Grundwissen
descratchpadtty-grundwissen

TTY ist die Abkürzung für TeleTYpewriter. Mit einer Schreibmaschine kann so gesehen Eingaben machen und sie erzeugt Ausgaben. Als Synonym dafür verwenden wir Terminal. Die hier gezeigten Methoden funktionieren zum Teil nicht an Terminalemulatoren, wie z.B. xterm, denn es werden nicht notwendigerweise alle Terminalfunktionen emuliert. Ich rate zum Testen dazu an ein echtes Terminal zu wechseln. Das geht i.d.R. mit [STRG]+[ALT]+{[F1]-[F12]}

Name von TTY

Ein Terminal unter Linux ist in der Regel als virtuelles Gerät auch unter /dev/ zu finden. Wie das aktuelle Terminal heißt, lässt sich mit tty herausfinden, zum Beispiel:

$ tty
/dev/tty3

Starten und Stoppen von TTY's

Weil ja Geräte erstellt werden, kann nur der root-nutzer echte Terminals erstellen und wieder löschen

openvt -c 12 -- ls -la
deallocvt 12
openvt -c 12 -- mingetty tty12
deallocvt 12

Zeile 1 zeigt Ordnerinhalt an und beendet die Konsole. Das -- trennt die Parameter vom Befehl. Zeile 3 Startet eine login-shell auf tty12

Eigenschaften von TTY

Das virtuelle Terminal hat wie ein reales Anzeigegerät (z.B. ein zweizeiliges Display im Towergehäuse) verschiedene Eigenschaften, die sich mit stty abfragen lassen.

$ stty -a"
speed 38400 baud; rows 20; columns 160; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl echoke

Zeile 1
Informationen über die Anzahl der darstellbaren Zeilen, wie schnell wir auf dem Display schreiben können und so weiter

Zeilen 2-4
Das ^-Symbol steht für die [STRG]-Taste. Damit teilt uns stty mit, dass wir anstelle von [BACKSPACE] auch [STRG][?], also auf dem deutschen Keyboard [STRG]+[SHIFT]+[ß] drücken können, um den letzten Buchstaben zu löschen.

Zeilen 5-10
Dazu schaut man am besten in man stty nach. Dort steht, wofür die ganzen Parameter stehen. Ein paar Beispiele kommen aber gleich.

Manipulation von Eigenschaften

Mit stty lässt sich das Verhalten des Terminals aber auch verändern:

stty -F $(tty) iuclc
stty -iuclc
stty intr ^-
stty rows 20

Zeile 1
schaltet Übersetztung ein, die alle Großbuchstaben in Kleinbuchstaben umwandelt

Zeile 2
schaltet die Übersetztung wieder aus. Das -F ist zum Glück optional 🙂

Zeile 3
deaktiviert [STRG]+[C] auf der Konsole

Zeile 4
beschränkt die Anzeige auf 20 Zeilen

top