Mit FreeBSD 8.0 wurden die Gerätedateien für
serielle Ports von
/dev/ttyd
in
N
/dev/ttyu
umbenannt. Setzen Sie noch FreeBSD 7.X ein, müssen
Sie die Befehle in den folgenden Abschnitten entsprechend
anpassen.N
Wenn Sie sich nicht an der Konsole oder über ein Netzwerk an Ihrem FreeBSD-System anmelden können, sind Terminals ein bequemer und billiger Weg auf Ihr 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. Dies entspricht der Benutzung eines Modems zum Anmelden auf einem entfernten System, um dort mit einem Terminalemulator im Textmodus zu arbeiten.
Die Konsolen heutiger PCs besitzen sehr gute
Grafikfähigkeiten, trotzdem gibt es in fast jedem UNIX® System
die Möglichkeit, sich über die serielle Schnittstelle
anzumelden; FreeBSD ist da keine Ausnahme. Sie können sich an
einem Terminal anmelden und dort jedes Textprogramm, das Sie
normalerweise an der Konsole oder in einem xterm
Fenster im X Window System benutzen, laufen lassen.
Im kommerziellen Umfeld können Sie viele Terminals an ein FreeBSD-System anschließen und diese auf den Arbeitsplätzen Ihrer Angestellten aufstellen. Im privaten Umfeld kann ein älterer IBM PC oder Macintosh® als Terminal dienen. Damit verwandeln Sie einen Einzelarbeitsplatz in ein leistungsfähiges Mehrbenutzersystem.
FreeBSD kennt drei verschiedene Terminals:
Die folgenden Abschnitte beschreiben jeden dieser Terminals.
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 Programme, wie Texteditoren, Compiler oder Spiele befinden sich auf dem Rechner, der mit dem Terminal verbunden ist.
Es gibt viele Dumb-Terminals, die von verschiedenen Herstellern produziert werden, wie zum Beispiel der VT-100 von Digital Equipment Corporation oder der WY-75 von Wyse. 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, wie zum Beispiel X-Programme, laufen müssen.
Jeder PC kann die Funktion eines Dumb-Terminals, der ja nur Text senden und empfangen kann, übernehmen. Dazu brauchen Sie nur das richtige Kabel und eine Terminalemulation, die auf dem PC läuft.
Diese Konfiguration ist im privaten Umfeld sehr beliebt. Wenn Ihr Ehepartner zum Beispiel gerade an der FreeBSD-Konsole arbeitet, können Sie einen weniger leistungsstarken PC, 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 serial-port-device
„serial-port-device“ ist hier der Name der
Gerätedatei, die einer bestimmten seriellen Schnittstelle
Ihres Systems zugewiesen ist. Diese Gerätedateien werden
/dev/cuad
genannt.N
Der Buchstabe „N“ muss dabei durch die Nummer des seriellen Ports Ihres Systems ersetzt werden.
Beachten Sie, dass die Numerierung dieses Daten (im
Gegensatz etwa zu MS-DOS®-kompatiblen Systemen) unter FreeBSD
mit Null und nicht mit Eins beginnt. Die Schnittstelle
„COM1“ entspricht daher in der Regel
/dev/cuad0
unter FreeBSD.
In der Ports-Sammlung finden sich weitere Programme
(beispielsweise comms/minicom
), mit denen Sie
eine Verbindung über eine serielle Schnittstelle
herstellen können.
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 X-Anwendung darstellen.
X-Terminals sind hier nur der Vollständigkeit halber aufgezählt. Die Einrichtung von X-Terminals wird in diesem Abschnitt nicht beschrieben.
Im Folgenden wird beschrieben, wie Sie Ihr 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.
Aus Kapitel 13, FreeBSDs Bootvorgang wissen Sie, dass
init
für das Initialisieren des Systems und
den Start von Prozessen zum Zeitpunkt des Systemstarts
verantwortlich ist. 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 Ihrem FreeBSD-System einzurichten, führen
Sie folgenden Schritte als root
durch:
Wenn er noch nicht da ist, fügen Sie einen Eintrag in
/etc/ttys
für die serielle
Schnittstelle aus /dev
ein.
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.
Die genaue Vorgehensweise wird in diesem Abschnitt nicht
erklärt, aber die Manualpages von gettytab(5) und
getty(8) enthalten dazu weitere Informationen.
In /etc/ttys
werden alle Terminals
aufgeführt, an denen Sie sich auf dem FreeBSD-System
anmelden können. Hier findet sich zum Beispiel ein Eintrag
für die erste virtuelle Konsole
/dev/ttyv0
, der es Ihnen ermöglicht,
sich dort anzumelden. Die Datei enthält des Weiteren
Einträge für andere virtuelle Konsolen, serielle
Schnittstellen und Pseudoterminals. Wenn Sie einen Terminal
konfigurieren wollen, 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
. Wenn Sie an eine von diesen einen
Terminal anschließen, brauchen Sie keinen weiteren Eintrag
hinzuzufügen.
/etc/ttys
hinzufügenAngenommen, wir wollen an ein System zwei Terminals
anschließen: Einen Wyse-50 und einen alten 286 IBM PC,
der mit Procomm einen VT-100
Terminal emuliert. Den Wyse-Terminal verbinden wir mit der
zweiten seriellen Schnittstelle und den 286 mit der sechsten
seriellen Schnittstelle (einem Anschluss auf einer
Multiportkarte). Die entsprechenden Einträge in
/etc/ttys
würden dann wie folgt
aussehen:
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 unserem 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 unserem Beispiel benutzen wir für den 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. Wenn Sie hier | |
Im letzten Feld geben Sie die Sicherheit des
Anschlusses an. Wenn Sie hier Es wird dringend empfohlen, |
Nachdem Sie die nötigen Änderungen in
/etc/ttys
vorgenommen haben, 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 PID
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 sollten Sie eine Anmeldeaufforderung sehen.
Selbst wenn Sie den Anweisungen akribisch gefolgt sind, kann es immer noch zu Fehlern beim Einrichten eines Terminals kommen. Die folgende Aufzählung von Symptomen beschreibt mögliche Lösungen:
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 Ihr Terminal einen Bildschirm besitzt, überprüfen Sie die richtige Einstellung von Helligkeit und Kontrast. Wenn Ihr 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 sollten Sie einen Eintrag sehen.
Aus dem folgenden Beispiel erkennen Sie, dass
getty
auf der zweiten seriellen
Schnittstelle tyyd1
läuft und den
Verbindungstyp std.38400
aus
/etc/gettytab
benutzt:
Wenn getty
nicht läuft,
überprüfen Sie, ob der Anschluss in
/etc/ttys
aktiviert ist. Haben Sie
kill -HUP 1
abgesetzt, nachdem Sie
/etc/ttys
geändert hatten?
Wenn getty
läuft, aber der
Terminal immer noch kein Anmeldeprompt ausgibt, oder Sie am
Anmeldeprompt nichts eingeben können, kann es sein,
dass Ihr 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 das Kommando 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, müssen Sie
vielleicht die Geschwindigkeit verkleinern oder die
Software-Flusssteuerung aktivieren, um
Pufferüberläufe zu vermeiden.
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 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>.