Re: Terminal und free bsd 2.2.7

From: Christian Weisgerber <naddy(at)mips.rhein-neckar.de>
Date: 28 Jun 1999 21:17:04 +0200

Kai Pretzsch <k.pretzsch(at)tu-bs.de> wrote:

> - Eigentlich läuft das Terminal mit 19200 bps auch ganz gut, aber wenn
> ich versuche am Terminal und am Rechner auf 38400 bps zu gehen
> funktioniert anfänglich auch noch alles (login, ls, etc.), versuche ich
> aber dann den Editor ee zu starten erscheint nur noch Quatsch.

Fehlende Flow Control. Das Terminal schafft 19200, aber bei 38400 und
insbesondere bei komplexeren Operation kommt es mit der Darstellung
nicht mehr nach, der kleine Eingangspuffer läuft über, und es gehen
Zeichen verloren.

> - Mein Terminal bietet eine Statuszeile.

Die meisten Terminals bieten eine lokale Statuszeile an, wo das Terminal
Informationen über seinen eigenen Zustand anzeigt (Cursorposition u.ä.).
Im Allgemeinen ist das nicht sonderlich interessant. Manche Geräte
erlauben auch Applikationen die Statuszeile anzusteuern. Das einzige
Programm, das mir im Moment einfällt, welches das ausnutzt, ist screen.

> Wie kann ich den Parameter KERNINFO den stty zur Darstellung von
> Statuszeilen bietet dauerhaft speichern?

Die "Statuszeile", die die TTY-Discipline anbietet, hat mit der
Statuszeile des Terminals nichts zu tun. Was du bei stty mit dem Flag
"nokerninfo" und dem Steuerzeichen "status" einstellen kannst, das ist,
dass, wenn dieses Zeichen eingegeben und von der TTY-Discipline
verarbeiten gelassen wird, dann eine Zeile mit einigen Informationen zum
Systemstatus ausgegeben wird.

Der Default ist "-nokerninfo", d.h. die Ausgabe dieser Zeile ist nicht
abgeschaltet, und "status = ^T", d.h. die Eingabe von ^T führt zu ihrer
Ausgabe. Du kannst das einfach ausprobieren: Mach ein "cat >/dev/null",
und tippe ^T. (Das "cat" kannst du mit dem "intr"-Steuerzeichen,
normalerweise ^C, jederzeit abbrechen.) Das ist auch schon das ganze
Feature.

Eine periodische Ausgabe dieser Information, inklusive Ansteuerung der
Statuszeile eines Terminals, liegt völlig außerhalb der Welt der
TTY-Discipline. Man könnte ein kleines Programm schreiben, das im
Hintergrund läuft, die Systeminformationen ermittelt, und sie regelmäßig
ans Terminal schickt. Das Problem ist, dass diese Schreibzugriffe mit
denen einer im Vordergrund laufenden Applikation zusammentreffen
könnten:
- Applikation schickte ersten Teil einer Befehlssequenz
- Hintergrundprogramm schickt Steuerfolge für Statuszeile
- Applikation schickt den Rest ihrer Befehlssequenz

Das Ergebnis wäre Chaos auf dem Bildschirm. Ich vermute zwar, dass
write(2)s auf ein TTY in der Praxis atomar sind, aber Applikationen
setzen Steuersequenzen nicht notwendigerweise mit einem einzelnen
write() ab. :-/ Man müsste das einmal in der Praxis erproben.

> -Wie kann ich alle Fehler-, System-, Status-meldungen und Messages für
> root an dieses Terminal weiterleiten, auch wenn dort niemand eingeloggt
> ist?

syslog.conf(5)

Oder, das mag vielleicht mehr in deiner Absicht liegen, du machst das
Terminal gleich ganz zur Konsole.

-- 
Christian "naddy" Weisgerber                  naddy(at)mips.rhein-neckar.de
  See another pointless homepage at <URL:http://home.pages.de/~naddy/>.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 28 Jun 1999 - 23:47:34 CEST

search this site