Nelle sezioni seguenti sono illustrate alcune funzioni avanzate necessarie soprattutto negli ambienti NX più complessi.
L'autenticazione configurata nella Sezione 15.1, "NX: Operazioni preliminari" si basa esclusivamente sulle credenziali nome utente e password. Per un'autenticazione più sicura, configurare NX in modo che generi una coppia di chiavi SSH. Copiare quindi la chiave client dal computer server su tutti i client che dovranno connettersi al server NX. I client che non dispongono di questa chiave non possono autenticarsi sul server NX. Questa funzionalità è supportata solo per la combinazione server FreeNX/client knx.
Per configurare il server NX in modo che utilizzi questa tecnica di autenticazione e generi la coppia di chiavi appropriata, eseguire le operazioni riportate di seguito.
Effettuare il login come utente root al computer server.
Aprire il file di configurazione del server /etc/nxserver/node.conf e controllare che ENABLE_SSH_AUTHENTICATION sia impostato su 1 (valore predefinito).
Installare il server con il comando seguente:
nxsetup --install --clean --purge
Modificare le autorizzazioni di accesso in /var/lib/nxserver/home/.ssh/authorized_keys2:
chmod 640 /var/lib/nxserver/home/.ssh/authorized_keys2
Eseguire il log out.
Per configurare knx in modo che utilizzi questa chiave, eseguire le operazioni riportate di seguito.
Effettuare il login al computer server come root.
Copiare il file delle chiavi sul percorso del computer client richiesto da knx specificando al posto di client l'indirizzo del computer client.
scp /var/lib/nxserver/home/.ssh/client.id_dsa.key client:/usr/share/knx/
Effettuare il login come utente root al computer client.
Modificare le autorizzazioni di accesso come illustrato di seguito.
chmod 644 /usr/share/knx/client.id_dsa.key
Eseguire il log out.
Per impostazione predefinita, FreeNX consente a qualsiasi utente di aprire una sessione NX, purché tale utente siano incluso nel database degli utenti del proprio server, localmente oppure tramite LDAP, NIS, ecc... Questo comportamento viene attivato o disattivato dalla variabile ENABLE_PAM_AUTHENTICATION in /usr/bin/nxserver del computer server. In questo caso, il valore predefinito è 1. Se si imposta questo valore su 0, l'autenticazione utente gestita da PAM (PAM_AUTH) per FreeNX viene disabilitata.
Se ENABLE_PAM_AUTHENTICATION è impostata su 0, è necessario aggiungere gli utenti e le password manualmente. Per aggiungere utenti NX locali al server, eseguire le operazioni riportate di seguito.
Effettuare il login come utente root al computer server.
Accertarsi che tutti gli utenti che si desidera aggiungere siano inclusi nel database degli utenti locali del sistema controllando il contenuto di /etc/passwd oppure utilizzando il modulo YaST di gestione degli utenti.
Specificare il nome utente di ogni utente che si desidera aggiungere utilizzando il comando nxserver --adduser. Quindi aggiungere la password dell'utente con il comando nxserver --passwd.
Riavviare il server con il comando nxserver --restart ed eseguire il log out.
Il comportamento del server FreeNX viene controllato via /etc/node.conf. È possibile eseguire una configurazione server NX globale oppure eseguire il server con le configurazione specifiche degli utenti. Quest'ultima soluzione può creare conflitti quando diversi utenti eseguono NX su un computer con requisiti differenti.
Nell'esempio seguente si presume che l'utente mario desidera che NX venga avviato automaticamente con una determinata applicazione all'apertura di una sessione NX. Per abilitare questo comportamento solo per l'utente, eseguire le operazioni riportate di seguito.
Eseguire il login come root.
Immettere la directory /etc/nxserver:
cd /etc/nxserver
Salvare una copia del file di configurazione del server NX (node.conf) in mario.node.conf all'interno della stessa directory.
Modificare i parametri appropriati (NODE_AUTOSTART e ENABLE_AUTORECONNECT) in mario.node.conf. Per informazioni su queste funzioni, vedere la Sezione 15.2.5, "Configurazione delle attività di Autostart ed esportazione di configurazioni" e Sezione 15.2.4, "Sospensione e ripristino di sessioni NX".
Reinstallare il server NX per attivare la nuova configurazione:
nxsetup --install --clean --purge --setup-nomachine-key
La configurazione specifica dell'utente è prioritaria rispetto a quella globale.
Eseguire il log out.
È possibile configurare NX in modo da consentire la sospensione e il ripristino delle sessioni utente proprio come avviene con le sessioni su un computer portatile. La sessione sospesa verrà aperta esattamente nello stato in cui è stata interrotta.
Per configurare la sospensione e il ripristino delle sessioni NX, eseguire le operazioni riportate di seguito.
Eseguire il login come root.
Aprire il file di configurazione del server, /etc/nxserver/node.conf, e modificarlo come illustrato di seguito.
ENABLE_PASSDB_AUTHENTICATION="0" ENABLE_USER_DB="0" ENABLE_AUTORECONNECT="1"
Salvare il file di configurazione e chiuderlo, quindi riavviare il server con nxserver --restart.
Eseguire il log out.
Per sospendere una sessione prima di uscire dal client, fare clic su nell'angolo in alto a destra della finestra NX, quindi selezionare . Al momento della riconnessione verrà chiesto se si desidera ripristinare la sessione precedente o avviarne una nuova.
FreeNX supporta una funzione autostart che consente di avviare alcune attività all'avvio o al ripristino di una sessione NX, purché l'applicazione esistente supporti le proprietà start e resume. Ad esempio, è possibile ripulire il desktop o eseguire altre attività autostart all'avvio di FreeNX. Questo è utile soprattutto quando ci si riconnette a una sessione, in particolare da un altro client NX, e non si utilizza la tecnica KDE o GNOME standard.
Per configurare le funzioni autostart, eseguire le operazioni riportate di seguito.
Effettuare il login come utente root al computer server.
Aprire il file di configurazione del server /etc/nxserver/node.conf e modificare la variabile NODE_AUTOSTART come illustrato di seguito, sostituendo myprogram con il nome del programma da eseguire al riavvio o al ripristino di una sessione NX:
NODE_AUTOSTART=myprogram
Salvare il file di configurazione e chiuderlo.
Riavviare il server con il comando nxserver --restart ed eseguire il log out.
Il programma specificato verrà eseguito a ogni avvio o ripristino di una sessione.
È anche possibile esportare le variabili NX_USERIP e NX_SESSIONID per renderle accessibili nell'ambiente dell'utente. Ciò consente, ad esempio, di inserire un'icona sul desktop con il contenuto generico e accedere al server Samba in esecuzione sul thin client dell'utente. Per fare in modo che il contenuto del dischetto floppy inserito nell'unità del client sia disponibile all'utente, eseguire le operazioni riportate di seguito.
Abilitare l'esportazione delle variabili NX_USERIP e NX_SESSIONID sul server:
Effettuare il login come utente root al computer server.
Aprire il file di configurazione del server, /etc/nxserver/node.conf, e impostare le variabili seguenti:
EXPORT_USERIP="1" EXPORT_SESSIONID="1"
Salvare il file di configurazione e chiuderlo, quindi riavviare il server con il comando nxserver --restart.
Eseguire il log out.
Sul client, aprire una sessione, esportare l'unità floppy via SMB e creare un'icona sul desktop:
Esportare il contenuto dell'unità floppy attraverso Samba utilizzando un gestore file (Nautilus o Konqueror).
Creare un file floppy.desktop nella directory Desktop e immettere la riga seguente:
Exec=smb://$NX_USERIP/floppy
Verrà esportato l'indirizzo IP del client e consentito l'accesso all'unità floppy del client mediante l'icona floppy nella sessione NX.
Una catena di server NX consente di attraversare i firewall e di fronteggiare il mascheramento IP. È possibile utilizzare un server "gateway" esterno per inoltrare le connessioni in ingresso verso un server interno nascosto dietro a un firewall (mascheramento).
Per configurare una catena di server NX, eseguire le operazioni riportate di seguito.
Configurare il server interno come descritto riportato nella Sezione 15.2.1, "Configurazione dell'autenticazione SSH con le chiavi client" e distribuire la chiave privata del server (client.id_dsa.key) in /usr/NX/share/ sul gateway.
Sul server gateway, eseguire le operazioni riportate di seguito.
Eseguire il login come root.
Impostare le variabili seguenti in /etc/nxserver/node.conf, sostituendo myinternalhost con l'indirizzo IP del server NX interno:
ENABLE_SERVER_FORWARD="1"
SERVER_FORWARD_HOST="myinternalhost"
SERVER_FORWARD_KEY="/usr/NX/share/client.id_dsa.key"Riavviare il server esterno per applicare le modifiche apportare alla configurazione mediante il comando nxserver --restart ed eseguire il log out.
Tutte le connessioni in ingresso verranno trasferite sul server interno.
È possibile installare ed eseguire FreeNX e il server commerciale NoMachine NX sullo stesso computer senza interferenze. L'implementazione in FreeNX viene eseguita inoltrando la connessione al server NoMachine installato sullo stesso computer.
Per abilitare questa funzione, eseguire le operazioni riportate di seguito.
Effettuare il login come utente root al computer server.
Aprire il file di configurazione del server relativo a FreeNX in /etc/nxserver/node.conf e impostare la variabile seguente:
ENABLE_NOMACHINE_FORWARD="1"
Salvare il file e riavviare il server FreeNX con il comando nserver --restart.
Eseguire il log out.
Per connettersi al server NoMachine, utilizzare le credenziali nome utente e password standard. Per connettersi al server FreeNX, aggiungere freenx. prima del nome utente, ad esempio freenx.mariorossi, e specificare la password abituale.