Vanaf FreeBSD 8.0 zijn de seriële poorten
hernoemd van
/dev/cuad
naar
N
/dev/cuau
en
van
N
/dev/ttyd
naar
N
/dev/ttyu
.
FreeBSD 7.X gebruikers moeten de documentatie aanpassen naar
deze wijzigingen.N
Terminals bieden een handige en goedkope manier om een FreeBSD systeem te benaderen als de console van of een netwerk naar een computer niet beschikbaar is. Deze sectie beschrijft hoe terminals met FreeBSD te gebruiken.
De originele UNIX®-systemen hadden geen consoles. In plaats daarvan werd er aangemeld en werden programma's via terminals gedraaid die verbonden waren met de seriële poorten van een computer. Het is goed vergelijkbaar met het gebruik van een modem en terminalsoftware om op een systeem op afstand in te bellen en werk te doen wat alleen uit tekst bestaat.
De consoles van hedendaagse PC's kunnen grafische uitvoer
van hoge kwaliteit produceren, maar de mogelijkheid om een
aanmeldsessie op een seriële poort tot stand te brengen
bestaat nog steeds op bijna elk hedendaags UNIX®-achtig
systeem. FreeBSD is geen uitzondering. Door gebruik te maken van
een terminal die aangesloten is op een ongebruikte seriële
poort, kan er aangemeld worden en kan bijna elk tekstprogramma
gedraaid worden dat normaalgesproken op de console of in een
xterm
-venster in het X Window-systeem
gedraaid wordt.
Een zakelijke gebruiker kan vele terminals aan een FreeBSD-systeem koppelen en deze op de bureaus van medewerkers neerzetten. Een thuisgebruiker kan een reservecomputer, zoals een oudere IBM PC of een Macintosh®, met de terminal verbinden met een krachtigere computer die FreeBSD draait. Op deze manier kan wat anders een computer voor een enkele gebruiker zou zijn, worden veranderd in een krachtig systeem voor meerdere gebruikers.
Er zijn drie soorten terminals voor FreeBSD:
De overige subsecties beschrijven elk van deze soorten.
Domme terminals zijn gespecialiseerde stukken hardware die computers door seriële kabels kunnen verbinden. Ze worden “dom” genoemd omdat ze alleen maar tekst kunnen weergeven, verzenden en ontvangen. Het is niet mogelijk om programma's op deze terminals te draaien. De computer waar ze op zijn aangesloten heeft de benodigde kracht om tekstverwerkers, compilers, e-mail, spellen, enzovoort te draaien.
Er zijn honderden soorten domme terminals gemaakt door vele fabrikanten, inclusief de VT-100 van Digital Equipment Corporation en de WY-75 van Wyse. Bijna elke soort werkt met FreeBSD. Sommige terminals uit de hoogste klasse kunnen zelfs grafisch weergeven, maar slechts bepaalde softwarepakketten kunnen gebruik maken van deze geavanceerde mogelijkheden.
Domme terminals zijn ook populair in werkomgevingen waarin gebruikers geen toegang tot grafische applicaties nodig hebben, zoals die door het X Window systeem worden geleverd.
Indien een domme terminal net genoeg mogelijkheden heeft om tekst weer te geven, te verzenden en te ontvangen, dan kan zeker elke reserve-PC een domme terminal zijn. De enige benodigdheden zijn de juiste kabel en wat terminal-emulatie software om op de computer te draaien.
Zo'n opstelling is populair in thuissituaties. Indien bijvoorbeeld persoon A werkt op de console van een FreeBSD-systeem, kan persoon B wat alleen-tekst-werk verrichten op een minder krachtige PC die als terminal met het FreeBSD-systeem verbonden is.
Er zijn minstens twee applicaties beschikbaar in het basissysteem van FreeBSD welke gebruikt kunnen worden om te communiceren door een seriële connectie: cu(1) en tip(1).
Om een connectie op te zetten vanaf een systeem dat FreeBSD draait naar een seriële connectie van een andere machine kan het volgende gedaan worden:
#
cu -l serial-port-device
Hierbij is “serial-port-device” de naam is
van de speciale apparaatnode die gebruikt wordt voor de
seriële poort op het systeem. Deze bestanden heten
/dev/cuau
.N
Het “N” gedeelte van de apparaatnaam is het nummer van de seriële poort.
Let op, de apparaatnummers beginnen in FreeBSD bij nul en
niet bij één (zoals ze bijvoorbeeld wel doen
bij MS-DOS® gebaseerde systemen). Dit betekend dat wat
MS-DOS® gebaseerde systemen COM1
noemt bij FreeBSD meestal /dev/cuau0
genoemd wordt.
X-terminals behoren tot de meest geavanceerde terminalsoort die beschikbaar is. In plaats van dat ze verbinding maken met een seriële poort, maken ze meestal verbinding met een netwerk zoals Ethernet. In plaats van dat ze alleen tekstapplicaties weergeven, kunnen ze elke X-applicatie weergeven.
X-terminals worden slechts voor de compleetheid geïntroduceerd. Dit hoofdstuk behandelt echter niet de installatie, het instellen of het gebruik van X-terminals.
Deze sectie beschrijft wat in te stellen op een os;-systeem om een aanmeldsessie op een terminal mogelijk te maken. De sectie gaat ervan uit dat er al een kernel is ingesteld met ondersteuning voor een seriële poort waar de terminal op is aangesloten en dat deze verbonden is.
In Hoofdstuk 13, Het FreeBSD opstartproces staat beschreven dat het proces
init
verantwoordelijk is voor het beheer van
alle processen en voor de initialisatie tijdens het opstarten
van een systeem. Eén van de taken die door
init
wordt uitgevoerd is het lezen van het
bestand /etc/ttys
en het starten van een
proces getty
op de beschikbare terminals.
Het proces getty
is verantwoordelijk voor
het lezen van een aanmeldnaam en het starten van het programma
login
.
Voer volgende stappen als root
uit om
terminals voor een FreeBSD-systeem in te stellen:
Voeg een regel aan /etc/ttys
toe
voor de ingang in de map /dev
voor een
seriële poort als deze er nog niet is;
Specificeer dat /usr/libexec/getty
uitgevoerd moet worden op de poort en het juiste type
getty
van het bestand
/etc/gettytab
;
Specificeer het standaard terminaltype;
Stel de poort in op “on”;
Specificeer of de poort “secure” dient te zijn;
init
dient
/etc/ttys
opnieuw te lezen.
Als optionele stap kan het wenselijk zijn om een eigen type
getty
aan te maken voor stap 2 door
een ingang in /etc/gettytab
te maken. Dit
wordt hier niet beschreven. Meer informatie staat in de
hulppagina's gettytab(5) en getty(8).
Het bestand /etc/ttys
bevat alle
poorten op een FreeBSD-systeem waar aanmelden is toegestaan. De
eerste virtuele console ttyv0
staat
bijvoorbeeld in dit bestand vermeld. Met deze vermelding kan
er op de console worden aangemeld. Dit bestand bevat ook
vermeldingen voor de andere virtuele consoles, seriële
poorten en pseudo-tty's. Vermeld voor een vast aangesloten
terminal de /dev
-regel van de
seriële poort zonder het
/dev
-gedeelte
(/dev/ttyv0
wordt bijvoorbeeld
ttyv0
).
Een standaard FreeBSD installatie bevat een bestand
/etc/ttys
met ondersteuning voor de
eerste vier seriële poorten:
ttyu0
tot en met
ttyu3
. Indien er aan een van deze
poorten een terminal wordt gekoppeld is het niet nodig om een
regel toe te voegen.
/etc/ttys
toevoegenStel dat er twee terminals verbonden moeten worden met
een systeem: een Wyse-50 en een oude 286 IBM-PC waarop
Procomm terminalsoftware draait
dat een VT-100 terminal emuleert. De Wyse wordt met de
tweede seriële poort verbonden en de 286 met de zesde
seriële poort (een poort op een meerpoortige
seriële kaart). De overeenkomstige regels in
/etc/ttys
zien er als volgt
uit:
Het eerste veld specificeert normaalgesproken de
naam van het speciale terminalbestand zoals dat in
| |
Het tweede veld bevat het commando dat voor deze
regel uitgevoerd moet worden, meestal is dit
getty(8). Het programma Het bestand Zorg er tijdens het instellen van het type
In bovenstaand voorbeeld gebruikt de Wyse-50 geen pariteit en maakt deze verbinding met 38400 bps. De 286 PC gebruikt geen pariteit en maakt verbinding met 19200 bps. | |
Het derde veld bevat het type terminal dat
normaalgesproken is verbonden met de tty-lijn. Voor
inbelpoorten wordt voor dit veld normaalgesproken
In bovenstaand voorbeeld gebruikt de Wyse-50 het echte terminaltype, terwijl de 286 PC die Procomm draait zo ingesteld wordt dat deze een VT-100 emuleert. | |
Het vierde veld geeft aan of de poort aan moet
staan. Indien hier | |
Het laatste veld geeft aan of de poort veilig is.
Indien deze poort als veilig is aangemerkt betekent dit
dat er genoeg vertrouwen is om de gebruiker
Het wordt sterk aangeraden om
“insecure” zelfs voor terminals achter
gesloten deuren te gebruiken. Het is vrij gemakkelijk
om aan te melden en |
Stuur na het maken van de benodigde veranderingen aan het
bestand /etc/ttys
een SIGHUP-signaal
(ophangen) naar het proces init
om het te
dwingen het instellingenbestand opnieuw te lezen:
#
kill -HUP 1
init
is altijd het eerste proces dat
op een systeem gedraaid wordt, daarom heeft het altijd PID
1.
Indien alles juist is ingesteld, alle kabels juist zijn
aangesloten en alle terminals aanstaan, draait er op elke
terminal een proces getty
en is er een
aanmeldprompt zichtbaar op de terminals.
Zelfs met de grootste aandacht voor details kan er nog steeds iets mis gaan met het instellen van een terminal. Hier is een lijst van symptomen en mogelijke oplossingen.
Controleer of de terminal is aangesloten en aan staat. Indien het een PC is die als terminal fungeert, controleer of de terminalemulatiesoftware op de juiste seriële poort draait.
Controleer of de kabel stevig verbonden is met zowel de terminal als de FreeBSD computer en dat de kabel van het juiste soort is.
Controleer of de terminal en FreeBSD dezelfde bps-snelheid en pariteit gebruiken. Indien de terminal een beeldscherm is, controleer dan of de video- en helderheidsniveaus zijn ingesteld. Indien de terminal een printer is, controleer of er voldoende papier en inkt aanwezig zijn.
Controleer of er een proces getty
draait dat de terminal bedient. Om bijvoorbeeld een lijst
van draaiende getty
-processen te
krijgen:
#
ps -axww|grep getty
Er zou een regel voor de terminal zichtbaar moeten zijn.
Het volgende scherm geeft bijvoorbeeld weer dat
getty
op de tweede seriële poort
ttyu1
draait en de regel
std.38400
in
/etc/gettytab
gebruikt:
Indien er geen proces getty
draait,
controleer dan of de poort in /etc/ttys
aan staat. Draai kill -HUP 1
nadat het
bestand ttys
is gewijzigd.
Indien het proces getty
draait maar de
terminal nog steeds geen aanmeldprompt weergeeft of als het
een prompt weergeeft maar er niet getypt kan worden, kan het
zijn dat de terminal of de kabel hardwarematige handshaking
niet ondersteunt. Probeer om de regel in
/etc/ttys
van
std.38400
in
3wire.38400
te veranderen (draai na het
wijzigen van /etc/ttys
kill
-HUP 1
). De regel 3wire
is
vergelijkbaar met de regel std
, maar
negeert hardwarematige handshaking. Het kan nodig zijn om de
baudsnelheid te verlagen of om softwarematig doorvoerbeheer
aan te zetten als 3wire
gebruikt wordt, om
overspoelde buffers te voorkomen.
Controleer of de terminal en FreeBSD dezelfde bps-snelheid
en pariteit gebruiken. Controleer de
getty
-processen op het gebruik van het
juiste type getty
. Indien dit niet het
geval is, wijzig dan /etc/ttys
en draai
kill -HUP 1
.