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.