Sappiate che potreste usare mgetty come (migliore?) alternativa a uugetty
.
mgetty
è più nuovo e più famoso di uugetty.
Vedere
Cos'è getty? per un breve confronto tra questi 2
getty.
Visto che uugetty è parte di getty_ps dovete prima installare getty_ps. Se non lo
avete procuratevi l'ultima versione da
metalab.unc.edu:/pub/Linux/system/serial
.
In particolare, se volete usare alte velocità (57600 and 115200 bps), dovete procurarvi la
versione 2.0.7j o superiore. Dovrete anche avere libc 5.x o superiore.
Per default, getty_ps
sarà configurato come Linux FSSTND
(File System Standard) compatibile, il che significa che si troverà
in /sbin
, ed i file di configurazione saranno chiamati
/etc/conf.{uu}getty.ttyS
N. Questo non è ben chiaro dalla
documentazione! Si aspetta che i file di lock vadano in
/var/lock
. Assicuratevi di avere una directory /var/lock
.
Se non volete la compatibilità FSSTND, i file binari andranno in
/etc
, quelli di configurazione in
/etc/default/{uu}getty.ttyS
N ed i file di lock in
/usr/spool/uucp
. Vi raccomando di agire in questo modo se state
usando UUCP, visto che UUCP avrà problemi se spostate i file di lock in posti
dove non sa di doverli cercare.
getty_ps
può anche usare syslogd
per registrare messaggi. Vedere le
pagine di manuale per syslogd(1)
e syslog.conf(5)
per impostare
syslogd
, se già non è in esecuzione. I messaggi sono registrati con
priorità LOG_AUTH, gli errori usano LOG_ERR e per il debugging si usa
LOG_DEBUG. Se non volete usare syslogd
potete modificare tune.h
nei
file sorgente di getty_ps
per usare invece un file di registrazione di
messaggi, diciamo /var/adm/getty.log
per default.
Decidete se volete la compatibilità FSSTND e la capacità di syslog.
Potrete anche scegliere una combinazione dei due. Modificate Makefile
,
tune.h
e config.h
per adeguarli alle vostre decisioni. Poi compilate
ed installate in base alle istruzioni incluse nel pacchetto.
Da questo punto in poi, tutti i riferimenti a getty
faranno capo a
getty_ps
. I riferimenti a uugetty
si riferiranno a uugetty
che
viene incluso nel pacchetto getty_ps
. Queste istruzioni non
funzioneranno per mgetty
o agetty
.
Con uugetty
potreste chiamare l'esterno con il vostro modem mentre uugetty
sta controllando la porta per eventuali login. L'autore originale di questo HOWTO dice di
usare /dev/cuaN per le chiamate in uscita (con uugetty in esecuzione su /dev/ttyN). Ma
altri dicono che si deve usare /dev/ttyN sia per le chiamate all'esterno che per il dial-in
??
uugetty
esegue degli importanti controlli di file lock. Aggiornate
/etc/gettydefs
per includere un riferimento al vostro modem. Mentre
state modificando /etc/gettydefs
, potrete verificare l'esattezza
della sintassi facendo:
linux# getty -c /etc/gettydefs
Se avete dei modem con velocità di 9600 bps e superiori con compressione dati potete bloccare la vostra porta seriale con una sola velocità. Ad esempio:
# 115200 fixed speed
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B
login: #F115200
Se avete impostato il modem per un controllo di flusso hardware RTS/CTS
dovete aggiungere a CRTSCTS
alle voci:
# 115200 fixed speed with hardware flow control
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS
#@S @L @B login: #F115200
Se avete un modem lento (sotto i 9600 bps), allora invece di una sola riga per una singola velocità, avrete bisogno di parecchie righe per tentare velocità diverse. Notate che queste righe sono legate tra loro dalla ultima "parola" della riga come ad esempio #38400. Le righe vuote sono richieste dopo ogni voce
# Voci Modem
115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600
57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400
38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200
Se volete, potete far stampare a uugetty
delle cosette interessanti
nel messaggio di login. Negli esempi di Greg, egli ha il nome del sistema, la linea seriale,
la velocità in bps corrente. Potete aggiungere altre cose:
@B La velocità in bps corrente (determinato quando viene visto @B)
@D La data corrente nel formato MM/GG/AA.
@L La linea seriale alla quale uugetty è attaccato
@S Il nome del sistema
@T L'ora corrente nel formato HH:MM:SS (24 ore).
@U Il numero degli utenti attualmente collegati. Si tratta del
conteggio del numero di voci nel file /etc/utmp file che
hanno un campo ut_name non vuoto
@V Il valore di VERSION, così come risulta nei file di default
Per visualizzare un singolo carattere '@' usate '\@' o '@@'.
Ci sono molti parametri da affinare per ogni porta che avete.
Essi sono implementati in file di configurazione separati per ogni porta.
Il file /etc/conf.uugetty
verrà usato da tutte per tutti i
riferimenti a uugetty
e /etc/conf.uugetty.ttyS
N
sarà usato solo da quella porta. Esempi di file di configurazione possono
essere trovati con i file sorgente di getty_ps
, che sono
inclusi in diverse distribuzioni di Linux. Per motivi di spazio non sono
elencati qui.
Notate che se state usando vecchie versioni di uugetty
(inferiori a 2.0.7e)
o non state usando FSSTND, allora il file di default sarà
/etc/default/uugetty.ttyS
N. Il /etc/conf.uugetty.ttyS3
di Greg si presenta come segue:
# configurazione di esempio di uugetty per un modem Hayes compatibile
# per consentire chiamate modem dall'esterno
#
# file lock sostitutivo da controllare ... se questo file esiste,
# allora uugetty viene fatto ripartire così che il modem sia
# reinizializzato
ALTLOCK=cua3
ALTLINE=cua3
# linea da inizializzare
INITLINE=cua3
# timeout per disconnettere se inattivo ...
TIMEOUT=60
# stringa di inizializzazione del modem ...
# formato: <expect> <send> ... (chat sequence)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# questa riga imposta il tempo da far trascorrere prima di inviare il
# messaggio di login
DELAY=1
#DEBUG=010
Aggiungete la seguente riga al vostro /etc/inittab
, così che
uugetty
sia eseguito sulla vostra porta seriale (sostituendo le
informazioni corrette per il vostro ambiente - run-level (2345 o 345 ecc.)
posizione del file di configurazione, porta, velocità e tipo di terminale predefinito)
S3:2345:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100
Rilanciate init
:
linux# init q
Per i parametri di velocità in /etc/inittab
, usate la più
alta velocità in bps che il vostro modem può supportare.
Ora Linux controllerà la vostra porta seriale per individuare delle connessioni. Componete il numero da un'altra macchina ed entrate nel vostro sistema Linux.
uugetty
ha molte altre opzioni, controllate la pagina di manuale per
uugetty
(spesso chiamato semplicemente getty
)
per una completa descrizione. Tra le altre, c'è la capacità di
scheduling ed anche di ringback automatica.