Linuxtrent: Esperienze di Cygwin...

  • From: ianezz@xxxxxxxxxx
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Mon, 4 Mar 2002 16:23:49 +0100


Fra le cose che ho fatto ieri e l'altro ieri, mi son messo a
installare il Cygwin + XFree86 4.2 sulle macchine dell'aula computer,
facendo in modo che offrissero il logon (via xdm) della macchina Linux
che fa da server. Nel farlo ho notato un paio di intoppi, che forse
vale la pena di segnalare:

1) Per far si che le macchine client possano collegarsi
   all'application server (via XDMCMP) e avere la finestra di logon,
   NON BASTA che xdm sia in funzione e che in /etc/X11/xdm/Xaccess ci
   sia il solito `*' (per indicare che qualunque client puo` essere
   gestito dall'xdm che funziona lato server): e` anche necessario che
   l'application server sia in grado di risalire al nome della
   macchina client che tenta di collegarsi (vien fatto un reverse
   lookup dell'indirizzo IP del client per risalire al suo nome).

   Quindi, o in /etc/hosts, o nel DNS usato, occorre che ci siano nomi
   ed indirizzi delle macchine client (con anche la zona a rovescio
   nel caso di un DNS), ANCHE SE si autorizza qualsiasi client alla
   connessione. 

   Pare un controsenso, ma il matching lato server vien fatto sui
   nomi... anche se son tutti.

2) Sulla documentazione di XFree86 per Cygwin si parla di connessione
   ad un application server lanciando

   XWin.exe -query xxx.xxx.xxx.xxx  -from yyy.yyy.yyy.yyy

   In altre parole bisogna specificare l'indirizzo dell'application
   server (xxx.xxx.xxx.xxx, e questo e` abbastanza ovvio) ed anche il
   proprio indirizzo: questo perche`, a quanto pare, XWin.exe non
   riesce a determinare in tutte le situazioni l'indirizzo IP della
   macchina.

   In realta`, se ad XWin.exe non si specifica l'opzione `-from',
   XWin.exe usa l'indirizzo della prima interfaccia di rete che trova
   sulla macchina.  

   Ora succede che, in genere, la prima interfaccia di rete che trova
   e` la `scheda di Accesso Remoto', che quando la connessione e` down
   e` sconfigurata ed ha come indirizzo 0.0.0.0...

   Soluzione: o si rimuovono le varie interfacce di rete da pannello
   di controllo in modo che rimanga solo quella da usarsi per la
   connessione all'application server, oppure bisogna fare uno
   scriptino ad hoc con grep e sed (possibile, visto che c'e` il
   Cygwin) che macini l'output di `ipconfig' e deduca l'indirizzo
   locale da usare con il parametro `-from'.

3) A quanto pare (ma non ne sono ancora del tutto sicuro), XWin.exe
   non supporta l'opzione `-broadcast', per attaccarsi al primo xdm
   che risponde in rete... per cui sembra che sia necessario per forza
   fare una query diretta ad un server specifico, usando `-query' con
   il nome/indirizzo di un application server.

4) XWin.exe per default parte configurato con la tastiera
   statunitense, e non c'e` modo di specificargli alla partenza un
   layout diverso. 

   E` comunque possibile cambiargli la mappatura della tastiera
   durante l'esecuzione, tramite xmodmap ed un file preparato ad hoc.

   Fortunatamente, i keycode (i codici numerici delle tastiere) sono
   identici sia su Linux che su Windows con Cygwin, per cui basta
   andare su una macchina Linux con XFree86 configurato con la
   tastiera italiana, eseguire

       xmodmap -pke > tastiera.it

   copiare il file `tastera.it' sulla macchina col Cygwin e poi far
   eseguire un `xmodmap tastiera.it' subito dopo l'avvio di XWin.exe
   (il file startxwin.bat sembra essere il posto ideale).

   Tuttavia, se ci si collega ad un application server, xdm prende
   controllo completo dell'X server lato client, e di fatto impedisce
   di eseguire altri comandi che richiedono una conessione finche`
   l'utente non si logga.

   Fortunatamente, e` possibile specificare lato application server
   degli script da eseguire per effettuare il setup dei client che si
   connettono.

   Tali script vengono eseguiti giusto prima che venga mostrata la
   finestra di logon su un certo client, ed in uno di essi (lato
   application server) ci possiamo aggiungere il nostro ``xmodmap
   tastiera.it'' e vivere (relativamente) tranquilli.

5) Per avere un'icona sul desktop di Windows che avvii l'X server
   fullscreen e lo faccia connettere direttamente all'application
   server, basta prendere come esempio il buon startxwin.bat (fornito
   con XFree86 per Cygwin), copiarserlo sul desktop e modificarselo
   per avviare XWin.exe con le opzioni del caso (i.e.

   XWin.exe -screen 0 1024 768 -fullscreen -query xxx.xxx.xxx.xxx 

   (con anche `-from yyy.yyy.yyy.yyy' se non si riesce a risolvere il
   problema di cui al punto 2).


Tenendo conto di questi punti, installare il Cygwin e XFree86 per
Cygwin su una macchina Windows in modo che si connetta ad un
application server con xdm o simili e` questione di poco tempo (piu`
che altro speso ad attendere la copiatura dei file).

Prossimamente (se mi riesce il trucco): uso di lbxproxy (o di dxpc:
http://www.vigor.nu/dxpc) per ridurre la quantita` di banda e le
latenze dell'X protocol su reti intasate (di messaggi di broadcast,
ogni quarto d'ora, nientemeno... :-)

-- 
 |   \    \  | ___|_  |_  | ianezz AT sodalia.it
 |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
_|_/  _\_|  _|____|___|___| http://www.linuxtrent.it
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts:

  • » Linuxtrent: Esperienze di Cygwin...