CONSIDERAZIONI SUL SISTEMA X-WINDOW
            ===================================


X-WINDOW e' un sistema che definisce uno standard di presentazione grafica 
funzionante su rete, molto diffuso in ambiente tecnico-scientifico.


1) Window Manager
   --------------

Utilizzando queste specifiche sono stati realizzati i Window Manager che 
troviamo sulle work station cioe' i gestori delle funzioni che permettono di 
aprire modificare, spostare finestre, cambiare colori degli elementi del video,
etc. Esistono differenti Window Manager (MOTIF, OpenLook, DecWindow, Athena 
etc) che permettono di fare sostanzialmente le medesime cose ma che sono piu' o 
meno ricchi di elementi coreografici e che richiedono comandi e azioni diverse.
Tra i vari Window Manager quello che si sta diffondendo maggiormente e' MOTIF, 
presente abitualmente sulle macchine DEC, IBM, HP, Silicon Graphic etc.

Con il Window Manager un utente puo' far partire delle applicazioni 
selezionabili da menu' tramite cursore. Una di queste, permette di aprire una 
FINESTRA TERMINALE  (X-term oppure DECterm) su un calcolatore. 
Nel caso si stia operando su una work-station il terminale sara' aperto sulla 
work-station stessa; nel caso l'utente stia utilizzando un X-Terminal (che non 
possiede una propria CPU) oppure un Personal Computer (dotato di opportuno 
software), l'utente dovra' scegliere su quale calcolatore aprire il terminale.


2) Terminali virtuali
   ------------------

Una volta che l'utente si e' connesso ad un calcolatore utilizzando una 
FINESTRA TERMINALE puo' lavorare come se stesse utilizzando un terminale 
fisicamente connesso con l'elaboratore. In molti casi puo' configurare  la
FINESTRA TERMINALE come terminale grafico di tipo VT125 oppure TEK4010.
Una FINESTRA TERMINALE di tipo X-term supporta la compatibilita' TEK4010,
mentre quasi tutte le work-station e gli X-Terminal della Digital permettono di
selezionare anche la compatibilita' con la grafica VT125-VT340. In questo modo
e' possibile operare all'interno di una FINESTRA TERMINALE come si operava in
passato sui classici terminali alfanumerici o grafici.




3) Applicazioni X e redirezione delle immagini
   -------------------------------------------

Una cosa diversa e' invece utilizzare le periferiche X per fare girare delle 
applicazioni che fanno uso della "grafica di tipo X-Window". Molti programmi
quali AIPS, MIDAS, IRAF, DIRA etc. utilizzano (anche) grafica di tipo X.

Tipicamente questi applicativi, che vengono lanciati all'interno di una
FINESTRA TERMINALE, vogliono aprire anche una (o piu') finestre grafiche 
su un display X. Poiche' lo standard X permette di utilizzare le risorse
di rete, il programma in esecuzione ha bisogno di sapere su quale
display deve generare le finestre grafiche. Se stiamo lavorando su una work 
station il programma assumera' di default che le finestre grafiche dovranno
essere aperte sul monitor della Work-Station. Ma se stiamo operando da un 
X-Terminal, oppure se abbiamo aperto una FINESTRA TERMINALE su un altro 
calcolatore di rete (con telnet o SET HOST) dovremo specificare su quale 
display vogliamo ottenere le immagini.


                   TCP/IP                    DecNet
      ================================================================
             I                      I                     I                 
        ----------              ----------            ----------
        I boira2 I              I irax03 I            I astbo1 I   
        ----------              ----------            ----------
        
        Work Station             X-Terminal              Vax
           Unix                                          VMS 

Se un utente, utilizzando l'X-Terminal (irax03), apre una sessione di lavoro
sulla Work-Station (boira2) e lancia una applicazione che fa' uso di grafica
X rischia che le sue immagini vengano mostrate sul monitor della Work-Station
stessa anziche' sul monitor di fronte al quale sta lavorando.

Per ottenere che le immagini siano inviate sul proporio display dovra' usare
il comando:

		setenv DISPLAY irax03.bo.cnr.it:0.0

dove:  setenv            e' il comando di assegnazione
       DISPLAY           e' la variabile che viene definita (MAIUSCOLO)
       irax03.bo.cnr.it  e' il nome di rete del X-Terminal
      :0.0              indica il n. di monitor collegato a quella stazione
                        (che, nella nostra situazione e' sempre 0.0)      

L'esempio precedente si riferisce ad una sessione su un calcolatore UNIX.
Nel caso si apra una sessione su una macchina VMS la sintassi del comando
e' la seguente :

               SET DISPLAY/CREA /NODE=irax03.bo.cnr.it /TRANS=TCPIP 

La chiave /TRANS specifica il tipo di protocollo di rete che viene utilizzato:
se due calcolatori cominicano solo in DECNET si dovra' indicare /TRANS=DECNET
(usare $ HELP SET DISPLAY per ulteriori informazioni).
Come regola empirica se ci siamo collegati su una altra macchina usando il
comando SET HOST stiamo usando il protocollo DECNET, se ci siamo collegati 
usando il comando telnet stiamo usando il TCPIP.


4) Security
   --------

Molte volte succede che, dopo aver assegnato correttamente il DISPLAY, 
all'esecuzione del programma si ottenga un errore perche' il calcolatore su 
cui state lavorando non puo' aprire una finestra sul vostro display.  
Questo problema lo si incontra spesso quando, partendo da una work-station
avete fatto un telnet su un altro calcolatore, perche' la work-station di
origine non permette che "utenti in rete" inviino immagini sul vostro monitor.

Per superare questi problemi potete agire direttamente sul Window Manager
della vostra macchina, entrando nelle OPZIONI relative alla SECURITY e 
autorizzare il calcolatore (remoto) su cui state lavorando ad accedere al
vostro display.

Una altra soluzione (permessa da alcuni sistemi UNIX) e' quella di usare
il comando " xhost +nome_calcolatore_remoto ". Questo comando va' dato
ovviamente sulla work station di partenza. Il comando " xhost + " disabilita
il controllo degli accessi sul vostro display (tutti possono inviare immagini).  
Questo comando puo' essere inserito nel vostro .login ed essere eseguito 
in modo automatico. Se avete i privilegi potete anche inserire nel file
/etc/X0.hosts i nomi dei calcolatori che possono accedere.