Leggete il
Text-Terminal-HOWTO
per informazioni più dettagliate sui
terminali. Le istruzioni in questa sezione descrivono come connettere
un terminale, così come altri computer al vostro sistema Linux.
Assicuratevi di avere il cablaggio corretto. Un cavo null-modem comprato in un negozio di informatica può funzionare, ma quasi sicuramente non funzionerà il controllo di flusso hardware. Ma deve essere un cavo null modem! Molti negozi di computer lo chiamano cavo per stampanti seriali. Assicuratevi inoltre di stare usando la porta seriale, una DB25 o DB9 maschio, non la quella parallela ( femmina, DB25 o Centronics ).
Per il connettore DB25, avete bisogno al minino di questo:
PC maschio DB25 Terminale DB25 TxD Transmit Data 2 --> 3 RxD Receive Data RxD Receive Data 3 <-- 2 TxD Transmit Data SG Signal Ground 7 --- 7 SG Signal Ground
Questo cavo null modem funziona fra due computer che utilizzano il signale di handshake hardware RTS/CTS, ma molti terminali utilizzano l'handshake DTR che non può essere impostato con linux tramite "stty". Una soluzione è di impostare stty crtscts e connettere il pin 20 del terminale (DTR) con il pin 5 del computer (CTS).
PC male DB25 Terminal DB25 TxD Transmit Data 2 --> 3 RxD Receive Data RxD Receive Data 3 <-- 2 TxD Transmit Data RTS Request To Send 4 --> 5 CTS Clear To Send CTS Clear To Send 5 <-- 4 RTS Request To Send DSR Data Set Ready 6 | DCD Carrier Detect 8 <-- 20 DTR Data Terminal Ready SG Signal Ground 7 --- 7 SG Signal Ground 6 DSR Data Set Ready | DTR Data Terminal Ready 20 --> 8 DCD Carrier Detect
Se sulla propria porta seriale si ha un connettore DB9, si provi quanto segue:
PC DB9 Terminal DB25 RxD Receive Data 2 <-- 2 TxD Transmit Data TxD Transmit Data 3 --> 3 RxD Receive Data SG Signal Ground 5 --- 7 SG Signal Ground
In alternativa, un cavo null modem DB9-DB25 (come detto non può operare con un terminale con handshake hardware):
PC DB9 Terminal DB25 RxD Receive Data 2 <-- 2 TxD Transmit Data TxD Transmit Data 3 --> 3 RxD Receive Data 6 DSR Data Set Ready | DTR Data Terminal Ready 4 --> 8 DCD Carrier Detect GND Signal Ground 5 --- 7 GND Signal Ground DCD Carrier Detect 1 DSR Data Set Ready 6 <-- 20 DTR Data Terminal Ready RTS Request To Send 7 --> 5 CTS Clear To Send CTS Clear To Send 8 <-- 4 RTS Request To Send (RI Ring Indicator 9 not needed)(Sì, i pin 2 e 4 hanno veramente significati opposti tra i connettori DB9 e quelli DB25!)
Se non state utilizzando un cavo completamente null modem, forse potete utilizzare il seguente trucchetto: sul connettore dalla parte del vostro computer collegate il RTS e il CTS assieme, e collegate anche DSR, DCD e DTR assieme. In questo modo, quando uno dei due computer richiede un signal di handshake lo otterrà ( da se stesso! ).
Adesso che avete il cavo giusto, collegate il vostro terminale al vostro computer. Se potete, impostate il terminale in modo da ignorare i segnali di controllo del modem. Provate ad usare 9600 bps, 8 data bits, 1 stop bit, no parità nella configurazione del terminale (oppure attivate la parità se volete essere un po' più sofisticati).
getty
(componente di getty_ps
)
Consultate il vostro manuale di getty per altre applicazioni come
ad esempio agetty. Aggiungete le impostazioni per il vostro
terminale per getty
se non sono già esistenti in
/etc/gettydefs
:
# Terminale Stupido a 38400 bps
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# Terminale Stupido a 19200 bps
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# Terminale Stupido a 9600 bps
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
Se lo desiderate potete far stampare a video da getty
informazioni interessanti sul login. Nel mio esempio ho inserito il nome del sistema e la porta seriale. Potete aggiungere molte altre cose:
@B La velocità corrente in bps.
@D La data corrente, nel formato MM/DD/YY.
@L La porta seriale sulla quale è in esecuzione getty.
@S Il nome del sistema.
@T l'ora corrente, nel formato HH:MM:SS ( 24 ore ).
@U IL numero degli utenti attualmente collegati.
@V Il valore di VERSION.
Per visualizzare un singolo carattere '@', potete usare
sia '\@' sia '@@'.
Una volta modificato /etc/gettydefs
, potete verificare che la sintassi sia corretta digitando:
linux# getty -c /etc/gettydefs
Assicuratevi che non vi siano file di configurazione di getty
oppure uugetty
per la porta seriale alla quale il vostro terminale è collegato (/etc/default/{uu}getty.ttyS
N oppure /etc/conf.{uu}getty.ttyS
N), poiché può molto probabilmente interferire nell'esecuzione di getty
su un terminale. Rimuovere questi file se esistono.
Editate il vostro file /etc/inittab
per lanciare getty
sulla porta seriale ( sostituendo con le corrette informazioni sul vostro sistema - porta, velocità e tipologia del terminale):
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
Riavviate init
:
linux# init q
A questo punto dovreste essere in grado di vedere un prompt di login sul terminale. Probabilmente dovrete premere invio per ottenere l'attenzione del terminale.
Molte persone configurano i loro PC come terminali connessi a un box
linux. Per esempio, dei vecchi PC 8088 o 80286 sono perfetti per
questo scopo. Tutto ciò di cui avete bisogno è un disco di boot DOS
adatto al vostro tipo di terminale, e un programma di comunicazione da
avviare. kermit
è ideale a questo scopo. Potete trovare versioni
precompilate di kermit
per ogni sistema operativo esistente a
http://www.columbia.edu/kermit/
. Altri programmi DOS molto popolari come procomm
funzionano molto bene. Assicuratevi di impostare corretamente le informazioni sulla porta seriale nelle impostazioni del programma di comunicazione del vostro terminale.