Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Linux Remote desktop NX su Ubuntu da windows

Remote desktop NX su Ubuntu da windows

E-mail Stampa PDF

Come accedere ad un server Ubuntu da Windows

Per poter gestire un pc remoto gestito da una distribuzione linux Ubuntu da un pc comune con sistema operativo Windows possiamo agire in tanti modi, io ne elencherò solo alcuni tanto per fare una breve panoramica.

Il primo modo consiste nell'usare una semplice console testuale, come ad esempio Putty e per a gestione dei file magari WinSCP, questo è il metodo più diffuso dato che su un server solitamente non abbiamo necessità di un ambiente grafico, che al contrario appesantirebbe le sue funzioni.

Ma se invece volessimo accedervi graficamente dato che magari vi abbiamo installato un ambiente grafico a finestre come può essere KDE o Gnome, beh allora possiamo procedere in due modi a seconda delle nostre esigenze:

  • Con un Vnc client se vi abbiamo installato e avviato un  Vnc server
  • Con un l'esportazione grafica del Xserver in uso (XMCP)

Vediamo di chiarire un po le cose. Usando vnc si ha il vantaggio che client vnc per windows ce ne sono tanti e facilmente configurabili, come ad esempio Realvnc. Per abilitarlo su Ubuntu 8.01 basta abilitare quello che viene chiamato "remote desktop".

Come preferenze potremo impostare una password d'accesso o una approvazione per il client che si sta connettendo. Nel mio caso non ho impostato nessuna password e nessuna approvazione, ma solo una notifica.

Questa faccenda dell'approvazione ci permette di capire un grosso vincolo che si ha nell'usare vnc come desktop remoto, infatti quando ci si connette con vnc il sistema deve essere già in uso da un utente! Quest'utente è quello che nel caso dovrà darci la "approvazione" all'esportazione del desktop.

Di fatto vnc non è altro che un modo per condividere un ambiente grafico duplicandone l'output e gli input. Questo ha come conseguenza che se nessuno sta usando il pc server o meglio non ci si è ancora "loggato" allora non potremo connetterci!
Oltre a questa cosa che mi sembra abbastanza vincolante, quando ci saremo connessi al server remoto non potremo di certo lavorare contemporaneamente con l'utente che ci si era loggato in precedenza...perché, per esempio, il mouse o lo usiamo noi o lo usa lui, idem per il monitor etc.

Quindi questa soluzione molto semplice è però molto limitativa.

Un metodo migliore sarebbe quello di poter accedere al mio server eseguendo il login allo stesso modo di un utente che volesse usarlo in locale. In questo modo molti utenti potrebbero usare il server contemporaneamente e senza nessun vincolo. Ma come si fa?
Beh la soluzione sarebbe esportare il Xserver verso un pc remoto. Per fare questo sul mio server Ubuntu devo abilitarlo dalla finestra per le preferenze di login:

Una opzione che potete abilitare o meno, dipende dalle vostre esigenze, è la possibilità accedere al server usando più volte lo stesso account o meno. Forse per fare qualche esperimento iniziale potete anche permettere questa possibilità ;)

Dopo di che potete passare direttamente alla scheda "remoto" e impostare il tipo di schermata d'accesso. Nell'esempio mostrato ho impostato il login da remoto come quello che si ha in locale. Nel nostro caso è l'ambiente grafico gnome.

Potreste vole impostare altre opzioni, ma per i nostri fini questo è più che sufficiente! Esatto non dobbiamo fare altro.

Per verificarlo dato che stiamo lavorando sul server remoto possiamo installare Xnest usare il comando

sudo apt-get install xnest

dopo di che col comando

gdmflexiserver --xnest

visualizzerete una finestra dalla quale potrete loggarvi sullo stesso server remoto. In questo modo potete simulare cosa accadrebbe da remoto.

Ci sarebbe da approfondire un po su questo argomento soprattutto sul come gdm ovvero l'ambiente grafico gnome non digerisca bene Xnest che invece da KDE risulta molto più semplice infatti basta lanciare il comando:

Xnest -query localhost 1: 

senza dover ricorrere ad altro... cqm questo è un altro discorso.

A questo punto se come client  avessi un pc con linux tutto sarebbe molto facile dato che basterebbe al momento del login sul pc oppure usando Xnest indicando l'indirizzo del pc remoto nell'opzione query, potrei accedere al server remoto come se fossi li davanti.

Tutto molto bello, ma io ho windows.... :-(

Dovremo quindi cercare un X-client che giri sotto windows e che mi permetta di accedere al mio server remoto.
Ora tra incompatibilità varie, installazioni su windows improbabili devo dire che non è la cosa più facile de mondo.

La soluzione che invece vi voglio proporre si chiama NXclient ed NXserver, che sono rispettivamente il software da usare nel pc locale e quello da installare nel server remoto. Questi li potrete scaricare dal sito  e la potrete trovare nel sito http://www.nomachine.com.

Quindi scaricare ed installare l' NXclient.exe sul pc locale con windows.

Al momento dell'avvio del client dovremo dare un nome alla connessione e poi configurarlo:

Come host bisogna mettere l'ip del server remoto e selezionare che tipo di desktop, nel mio caso GNOME.

Ora pensiamo al pc remoto

Se non lo avete già fatto in precedenza, installare il server ssh nel pc remoto

sudo apt-get install openssh-server

dopo scaricare ed installare la suit NX sul server remoto (client, node, server), nel mio esempio ho messo i nomi della versione 3.3, ma vi consiglio sempre di scaricare la versione più aggiornata, e poi ho scelto la versione x64 perche nel mio server mi serviva quella versione, voi potrete scarica quella di cui necessitate.

wget http://64.34.161.181/download/3.3.0/Linux/nxclient_3.3.0-3_x86_64.deb
wget http://64.34.161.181/download/3.3.0/Linux/nxnode_3.3.0-3_x86_64.deb
wget http://64.34.161.181/download/3.3.0/Linux/FE/nxserver_3.3.0-8_x86_64.deb

se mai vi servisse scaricare questa versione potete trovarli anche qui:

linux_server_x64_3.3.deb linux_server_x32_3.3.deb
linux_node_x64_3.3.deb linux_node_x32_3.3.deb
linux_client_x64_3.3.deb linux_client_x32_3.3.deb

dopo di che procedere con l'installazione, naturalmente usando il file della versione scaricata:

sudo dpkg -i nxclient_3.3.0-3_x86_64.deb               
sudo dpkg -i nxnode_3.3.0-3_x86_64.deb
sudo dpkg -i nxserver_3.3.0-8_x86_64.deb

a questo punto il server è pronto, infatti non sono necessarie particolari configurazioni per farlo funzionare, ma se ne aveste bisogno leggete la Guida per amministrazione server NX o direttamente dal sito.

Provate a collegarvi dal client inserendo il nome utente e password che usereste per connettervi in locale al server remoto e il gioco è fatto! :)

Vediamo alcune comandi per il server NX che potrebbero tornarci utili.
Per disabilitare le nuove connessioni lasciando attive quelle già in atto usare il comando:

sudo /usr/NX/bin/nxserver --stop

in questo modo non si impedisce il login al sistema (telnet,ssh..etc) ma solo il login tramite NX.
Per mandare un messaggio a tutti gli utenti connessi al server

sudo /usr/NX/bin/nxserver --broadcast "Il testo del messaggio qui"

Per troncare tutte le connessioni esistenti e spegnere il server NX:

sudo /usr/NX/bin/nxserver --shutdown

Se voleste ripulire il server dai software appena installati usate il comando

sudo dpkg -r nxserver
sudo dpkg -r nxclient
sudo dpkg -r nxnode
Ultimo aggiornamento ( Venerdì 18 Giugno 2010 20:00 )  
Loading

Login