<- Linux 2.4 - Copertina - Indice ->

Articolo


Xterminal con Linux (I parte)

Sarà sicuramente capitato a tutti di vedere aule, uffici, locali pubblici in cui erano presenti qualche decina di computer connessi in rete, utilizzati contemporaneamente, può anche accadere che uno stesso computer sia utilizzato di volta in volta da persone diverse.
Una rete simile deve essere accuratamente amministrata in maniera tale da evitare malfunzionamenti. Due sono le soluzioni che si possono immaginare:

  1. la prima prevede che tutti i computer siano dotati di un sistema operativo monoutente (Windows o Mac-OS per citarne due) e che al limite ci sia un server che gestisca la rete,

  2. la seconda prevede un computer centrale dotato di un buon hardware (Server) basato su un sistema operativo multiutente (Unix in generale) e una serie di terminali grafici dai quali è possibile accedervi. Naturalmente ogni utente ha una sul login e password, si siede davanti al terminale grafico, lancia i programmi sul server (usando però memoria, disco e CPU del server) ma vede l' output sul suo terminale.

Focalizzeremo l' attenzione sulla seconda soluzione per una serie di motivi:

Questi i vantaggi principali ma ce ne sono altri.

Chi se lo può permettere può utilizzare macchine nate per essere solo terminali grafici (per esempio gli NCD), resta il fatto che sono abbastanza costosi. Per risparmiare senza perdere in qualità si può utilizzare un PC con una configurazione ridotta all' osso (case, piastra, processore economico, 16 Mb di ram, scheda grafica, scheda di rete, monitor, tastiera e mouse) oppure riciclare i vecchi 486 o Pentium che molti accantonano perhé non più in grado di far girare decentemente l' ultmo nato in casa Microsoft. Cercando in rete è possibile capitare nel sito "Linux server terminal project" (http://www.ltsp.org) in cui un gruppo di persone ha raccolto una serie di software e di documentazione necessari per usare un PC come terminale grafico.

Per fare una prova avevo a disposizione un Pentium 120 che uso come server della mia intranet casalinga (Pentium 120 con 16 mega di ram, nente scheda video, HD da 13 giga, niente floppy, niente tastiera, niente mouse) e un PC con su DOS+Windows (un 486 con 24 Mb di ram, monitor, VGA, scheda grafica VESA LOCAL BUS 32 bit con un mega di ram, floppy, tastiera, mouse, e un HD da 250 Mb), naturalmente i 2 PC sono collegati in rete con schede di rete da 10 Mbit. Dal sito www.ltsp.org mi sono scaricato:

In tutto meno di 10 Mb.

Vediamo in maniera allegorica come funzionano le cose.

  1. Il terminale grafico si accende e carica dalla rom della scheda di rete 16 kappa di sofware che gli permettono di contattare il server dal quale si scarica il kernel che deve lanciare per partire,

  2. fatto il boot il terminale carica via NFS (network file sistem) il suo filesistem di root. Questo è solo lo stretto necessarrio per eseguire X sul terminale, sono 4 Mb che vengono caricati in ram,

  3. partito X il terminale grafico fa una query al server chiedendo di far partire l' XDM e ci compare quindi una schermata con login e password. E' la stessa schermata che ci viene proposta quando il sistema parte in runlevel 5,

  4. dopo l' autenticazione possiamo lanciare le applicazioni come se fossimo attaccati direttamente sul server,

  5. finita la sessione si esce normalmente e il terminale puo' rimanere acceso in attesa di un altro utente o puo' essere brutamente spento tanto il suo filesystem non puo' venire danneggiato. Soltanto una martellata o atti simili possono danneggiare il terminale.

Io non avevo a disposizione un programmatore di ROM per cui ho fatto il punto 1 servendomi di un floppy di boot, comunque programmare una ROM per il boot e' semplice ed economico ma per il mio test un floppy era un' ottima soluzione. Per il punto 2 occorre aver configurato sul server il servizio NFS, niente di complicato se si legge l' HOWTO relativo. L' XDM parte automaticamente basta avere X installato e il runlevel a 5. Per quanto riguarda il terminale, e' stato sufficiente staccare il disco, creare un floppy di boot semplicemente con il comando:

cat floppyload.bin  ne.rom > /dev/floppy
La parte più delicata è il file di configurazione di X. Infatti per risparmiare spazio sul server c'e' un solo file system di root che e' uguale per tutti i terminali (nel caso ce ne siano a decine questo e' fondamentale) per cui il file XF86Config viene creato al volo sulla base di un file di configurazione, e questa fase è quella che porta via più tempo e piu' pazienza, ma stanno lavorando su un' utility in grado di fare il probe del terminale per stabilire i parametri del file. Alla fine mi sono ritrovato con un HD e con 16 mega di ram in piu' visto che il terminale funziona benissimo senza HD e con 8 mega di ram, per cui ho potuto aumentare la ram del mio server, e se ne avevi avuto bisogno anche dello spazio disco: notevole. Inoltre non mi devo preoccupare di gestire un PC con windows.

Questi terminali grafici sono sicuramente un' ottima soluzione in molte situazioni, per esempio possiamo costruire ex novo una rete basata su uno o più server e una serie di terminali grafici il tutto interamente basato su Linux, oppure riciclare vecchi PC per creare senza costi nuove postazioni la lavoro.

Nella seconda parte vedramo cosa occore fare per approntare praticamente una PC per essere usato come terminale grafico.

di Gabriele Zucchetta


<- Linux 2.4 - Copertina - Indice ->