Wenn Sie sich nicht an der Konsole oder über ein Netzwerk an ein FreeBSD-System anmelden können, sind Terminals ein bequemer und kostengünstiger Weg, um auf ein System zuzugreifen. Dieser Abschnitt beschreibt wie Sie Terminals mit FreeBSD benutzen.
Das ursprüngliche UNIX® System besaß keine Konsolen. Zum Anmelden und Starten von Programmen wurden stattdessen Terminals benutzt, die an den seriellen Schnittstellen des Rechners angeschlossen waren.
Die Möglichkeit, über eine serielle Schnittstelle eine
Anmeldesitzung herzustellen, existiert heute noch in fast
jedem UNIX®-artigen Betriebssystem, einschließlich FreeBSD.
Der Einsatz eines Terminals, das an einem freien seriellen
Port angeschlossen ist, ermöglicht es dem Benutzer sich
anzumelden und dort jedes Textprogramm zu starten, das
normalerweise an der Konsole oder in einem
xterm
Fenster ausgeführt wird.
Viele Terminals können an einem FreeBSD-System angeschlossen werden. Ein alter Computer kann als Terminal an ein leistungsfähiges FreeBSD-System angeschlossen werden. Damit kann ein Einzelarbeitsplatz in ein leistungsfähiges Mehrbenutzersystem verwandelt werden.
FreeBSD unterstützt drei Arten von Anschlüssen:
Dumb-Terminals (unintelligente Datenstationen) sind Geräte, die über die serielle Schnittstelle mit einem Rechner verbunden werden. Sie werden „unintelligent“ genannt, weil sie nur Text senden und empfangen und keine Programme laufen lassen können. Alle benötigten Programme befinden sich auf dem Rechner, der mit dem Terminal verbunden ist.
Es gibt viele Dumb-Terminals, die von verschiedenen Herstellern produziert werden, und so gut wie jeder der verschiedenen Terminals sollte mit FreeBSD zusammenarbeiten. Manche High-End Geräte verfügen sogar über Grafikfähigkeiten, die allerdings nur von spezieller Software genutzt werden kann.
Dumb-Terminals sind in Umgebungen beliebt, in denen keine Grafikanwendungen benötigt werden.
Jeder Computer kann die Funktion eines Dumb-Terminals, der ja nur Text senden und empfangen kann, übernehmen. Dazu wird lediglich das richtige Kabel benötigt und eine Terminalemulation, die auf dem Computer läuft.
Diese Konfiguration ist sehr nützlich. Wenn ein Benutzer zum Beispiel gerade an der FreeBSD-Konsole arbeitet, kann ein anderer Benutzer einen weniger leistungsstarken Computer, der als Terminal mit dem FreeBSD-System verbunden ist, benutzen, um dort gleichzeitig im Textmodus zu arbeiten.
Bereits im Basissystem sind mindestens zwei Werkzeuge vorhanden, die Sie zur Arbeit über eine serielle Konsole einsetzen können: cu(1) sowie tip(1).
Um sich von einem FreeBSD-System aus über eine serielle Verbindung mit einem anderen System zu verbinden, geben Sie folgenden Befehl ein:
#
cu -l /dev/cuau
N
Die Ports sind von Null beginnend nummeriert. Das
bedeutet, dass COM1
dem Gerät
/dev/cuau0
entspricht.
In der Ports-Sammlung finden sich weitere Programme, wie beispielsweise comms/minicom, mit denen eine Verbindung über eine serielle Schnittstelle hergestellt werden kann.
X-Terminals sind die ausgereiftesten der verfügbaren Terminals. Sie werden nicht mit der seriellen Schnittstelle sondern mit einem Netzwerk, wie dem Ethernet, verbunden. Diese Terminals sind auch nicht auf den Textmodus beschränkt, sondern können jede Xorg-Anwendung darstellen.
Die Einrichtung und Verwendung von X-Terminals wird in diesem Abschnitt nicht beschrieben.
Dieser Abschnitt beschreibt, wie Sie ein FreeBSD-System konfigurieren müssen, um sich an einem Terminal anzumelden. Dabei wird vorausgesetzt, dass der Kernel bereits die serielle Schnittstelle, die mit dem Terminal verbunden ist, unterstützt. Weiterhin sollte der Terminal schon angeschlossen sein.
Der init
Prozess ist für das
Initialisieren des Systems und den Start von Prozessen zum
Zeitpunkt des Systemstarts verantwortlich. Unter anderem
liest init
/etc/ttys
ein und startet für jeden
verfügbaren Terminal einen getty
Prozess. getty
wiederum fragt beim
Anmelden den Benutzernamen ab und startet
login
.
Um Terminals auf einem FreeBSD-System einzurichten, führen
Sie folgenden Schritte als root
durch:
Fügen Sie einen Eintrag in
/etc/ttys
für die serielle
Schnittstelle aus /dev
ein, falls
dieser nicht bereits vorhanden ist.
Geben Sie /usr/libexec/getty
als
auszuführendes Programm an. Als Parameter für
getty
geben Sie den passenden
Verbindungstyp aus /etc/gettytab
an.
Geben Sie den Terminaltyp an.
Aktivieren Sie den Anschluss.
Geben Sie die Sicherheit des Anschlusses an.
Veranlassen Sie init
/etc/ttys
erneut zu lesen.
Optional können Sie in /etc/gettytab
auch einen auf Ihre Zwecke angepassten Terminaltyp erstellen.
gettytab(5) und getty(8) enthalten dazu weitere
Informationen.
In /etc/ttys
werden alle Terminals
aufgeführt, an denen eine Anmeldung auf dem FreeBSD-System
möglich ist. Hier findet sich zum Beispiel ein Eintrag
für die erste virtuelle Konsole
/dev/ttyv0
, der es Benutzern
ermöglicht, sich dort anzumelden. Die Datei enthält weitere
Einträge für andere virtuelle Konsolen, serielle
Schnittstellen und Pseudoterminals. Um einen Terminal
zu konfigurieren, fügen Sie einen Eintrag für den
Namen des Gerätes aus /dev
ohne das
Präfix /dev
hinzu. Zum Beispiel wird
/dev/ttyv0
als
ttyv0
aufgeführt.
In der Voreinstellung enthält
/etc/ttys
Einträge für die ersten
vier seriellen Schnittstellen: ttyu0
bis ttyu3
. Wird an eine von diesen
Schnittstellen ein Terminal angeschlossen, braucht in dieser
Datei kein weiter Eintrag hinzugefügt werden.
/etc/ttys
hinzufügenDieses Beispiel konfiguriert zwei Terminals:
Einen Wyse-50 und einen alten 286 IBM PC,
der mit Procomm einen VT-100
Terminal emuliert. Der Wyse-Terminal ist mit der
zweiten seriellen Schnittstelle verbunden und der 286
mit der sechsten seriellen Schnittstelle, einem Anschluss
auf einer Multiportkarte. Die entsprechenden Einträge in
/etc/ttys
würden dann wie folgt
aussehen:
ttyu1"/usr/libexec/getty std.38400"
wy50
on
insecure
ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Das erste Feld gibt normalerweise den Namen der
Gerätedatei aus | |
Im zweiten Feld wird das auszuführende Kommando,
normal ist das getty(8), angegeben.
Wenn Sie den Verbindungstyp in
In diesem Beispiel verwendet der Wyse-50 keine Parität und 38400 bps, der 286 PC benutzt ebenfalls keine Parität und arbeitet mit 19200 bps. | |
Das dritte Feld gibt den Terminaltyp an, der
normalerweise mit diesem Anschluss verbunden ist.
Für Einwählverbindungen wird oft
In diesem Beispiel benutzt der Wyse-50 den entsprechenden Typ aus termcap(5), der 286 PC wird als VT-100, den er ja emuliert, angegeben. | |
Das vierte Feld gibt an, ob der Anschluss
aktiviert werden soll. Ist das Feld auf
| |
Das letzte Feld gibt die Sicherheit des
Anschlusses an. Wenn hier Es wird dringend empfohlen
|
Nachdem Änderungen in /etc/ttys
vorgenommen wurden, schicken Sie
init
ein SIGHUP-Signal (hangup), um es zu
veranlassen, seine Konfigurationsdatei neu zu lesen:
#
kill -HUP 1
Da init
immer der erste Prozess auf
einem System ist, besitzt es immer die Prozess-ID
1
.
Wenn alles richtig eingerichtet ist, alle Kabel angeschlossen
und die Terminals eingeschaltet sind, sollte für jeden
Terminal ein getty
Prozess laufen und auf
jedem Terminal sollte eine Anmeldeaufforderung zu sehen
sein.
Selbst wenn Sie den Anweisungen akribisch gefolgt sind, kann es immer noch zu Fehlern beim Einrichten eines Terminals kommen. Hier eine Liste der häufigsten Symptome, sowie einige mögliche Lösungen:
Wenn kein Anmeldeprompt erscheint, stellen Sie sicher, dass der Terminal verbunden und eingeschaltet ist. Wenn ein PC als Terminal fungiert, überprüfen Sie, dass die Terminalemulation auf den richtigen Schnittstellen läuft.
Stellen Sie sicher, dass Sie das richtige Kabel verwenden und dass das Kabel fest mit dem Terminal und dem FreeBSD-Rechner verbunden ist.
Stellen Sie sicher, dass die Einstellungen für die Geschwindigkeit (bps) und Parität auf dem FreeBSD-System und dem Terminal gleich sind. Wenn der Terminal einen Bildschirm besitzt, überprüfen Sie die richtige Einstellung von Helligkeit und Kontrast. Wenn der Terminal druckt, stellen Sie die ausreichende Versorgung mit Papier und Tinte sicher.
Überprüfen Sie mit ps
,
dass der getty
Prozess für
den Terminal läuft:
#
ps -axww|grep getty
Für jeden Terminal sollte ein Eintrag vorhanden sein.
Aus dem folgenden Beispiel ist zu erkennen, dass
getty
auf der zweiten seriellen
Schnittstelle tyyd1
läuft und den
Verbindungstyp std.38400
aus
/etc/gettytab
benutzt:
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
Wenn getty
nicht läuft,
überprüfen Sie, ob der Anschluss in
/etc/ttys
aktiviert ist. Denken Sie
daran kill -HUP 1
auszuführen, nachdem
/etc/ttys
geändert wurde.
Wenn getty
läuft, aber der
Terminal immer noch kein Anmeldeprompt ausgibt, oder am
Anmeldeprompt nichts eingegeben werden kann, kann es sein,
dass der Terminal oder Kabel keinen Hardware-Handshake
unterstützt. Ändern Sie dann den Eintrag
std.38400
in /etc/ttys
zu 3wire.38400
. Nachdem Sie
/etc/ttys
geändert haben, setzen
Sie kill -HUP 1
ab. Der
Eintrag 3wire
besitzt ähnliche
Eigenschaften wie der Eintrag std
,
ignoriert aber den Hardware-Handshake. Wenn Sie den Eintrag
3wire
verwenden, muss vielleicht die
Geschwindigkeit verkleinert oder die Software-Flusssteuerung
aktiviert werden, um Pufferüberläufe zu vermeiden.
Wenn nur unverständliche Zeichen erscheinen, stellen Sie
sicher, dass die Einstellungen für
die Geschwindigkeit (bps) und Parität auf
dem FreeBSD-System
und dem Terminal gleich sind. Kontrollieren Sie den
getty
Prozess und stellen Sie sicher,
dass der richtige Verbindungstyp aus
/etc/gettytab
benutzt wird. Wenn das
nicht der Fall ist, editieren Sie
/etc/ttys
und setzen das Kommando
kill-HUP 1
ab.
Wenn Zeichen doppelt und eingegebene Passwörter im Klartext erscheinen, stellen Sie den Terminal oder die Terminalemulation von „half duplex“ oder „local echo“ auf „full duplex“ um.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.