Linux+rdesktop: accesso Terminal Server ad una macchina virtuale Windows

rdesktop1_tn.pngGrazie all’innegabile innovazione portata da prodotti come VMWare, la virtualizzazione degli ambienti non è utile solo per “provare” programmi o distro, ma anche per poter usufruire del meglio offerto da ogni sistema operativo, indipendentemente dalla piattaforma sulla quale si e’ abituati a lavorare.

Da entusiasto sviluppare per palmari quale sono (quindi necessito di Visual Studio, quindi Windows), a passionale utente Linux, riesco a far coesistere i due mondi avendo installato tutto l’ambiente di sviluppo in una macchina virtuale, fatta girare da VMWare sotto la mia linuxbox.

Purtroppo pero’ o uso VMWare in modalita’ fullscreen, rinunciano quindi a tutte le commodity del mio desktop, oppure lo uso in modalita’ finestra, non sfruttando appieno le potenzialita’ del mio monitor (e che me lo sono comprato a fare allora?). Inoltre non c’e’ modo di passare il contenuto della Clipboard tra i due sistemi.

La soluzione: usare rdekstop e accedere via Terminal Server direttamente da Linux. Infatti con Terminal Server posso definire un’area di schermo grande quanto voglio per accedere al computer remoto, ci pensera’ poi lui a ridimensionare e gestire tutto correttamente. Quindi basta che l’area sia grande quanto lo spazio utile sul mio desktop (praticamente risoluzione totale meno la dimensione di alcune applet) e il gioco e’ fatto.

Iniziamo dal configurare Windows. Se infatti si sta’ usando Windows XP Pro, il Terminal Server non è abilitato di default. L’ho abilitato seguendo questo HowTo:

  • Se si usa sotto la macchina virtuale Windows un utente  senza password, occorre o assegnargli una password, oppure crearne uno nuovo e assegnargli una password
  • Abilitare il Remote Desktop: click destro su My Computer -> Properties -> Remote -> e controllare che il secondo checkbox, quello che abilita il Remote Desktop, sia spuntato
  • Controllare che l’utente da usare per il controllo remoto sia inserito o nel gruppo Administrators, oppure tra quelli abilitati all’accesso remoto, mediante il bottone “Select Remote User” presente nella finestra del punto precedente
  • creare un file chiamato ts_on.reg e copiarci dentro quanto segue:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server]
“TSEnabled”=dword:00000001
“TSUserEnabled”=dword:00000001
“fAllowToGetHelp”=dword:00000001
“fDenyTSConnections”=dword:00000000

  • Doppio click sul file ed importarlo all’interno del proprio registro di configurazione

Tra l’altro sotto Windows XP e’ gestito un solo accesso remoto per volta, ma non e’ un male per le mie esigenze. Occorre inoltre annotarsi l’indirizzo IP, basta aprire un prompt dei comandi (Start Menu’ -> Run) e scrivere ipconfig seguito dalla pressione del tasto Invio. Tra le varie informazioni riportate, c’e’ anche l’indirizzo IP. Mettiamo caso che esso sia 172.16.21.128

Sotto Ubuntu Linux ho invece fatto queste cose

  • sudo apt-get install rdesktop (il programma e’ gia’ presente nei repo ufficiali di Ubuntu)
  • ho creato un collegamento che lancia il seguente comando:
    rdesktop -g 1420×840 -u legolas -p legopassword -k it 172.16.21.128

Ed il gioco e’ fatto. Grazie ai parametri -u e -p imposto lo username e password di accesso alla macchina Windows, bypassando la schermata di logon. -g 1420×840 invece imposta, come dicevo prima, l’area desktop utile.

Un paio di screenshot che non fanno mai male!

rdesktop1_tn.png Il menu’ di KDE in alto copre la finestra contenente il l’ambiente di sviluppo Windows, che riempie perfettamente lo schermo, ma senza coprire tutta la parte sopra, ovvero cio’ che mi serve rimanga visibile anche mentre sviluppo.

rdesktop2_tn.png Compiz Fusion in azione, il terzo desktop e’ quello con l’ambiente di sviluppo. Nel primo invece c’e’ Konqueror e nel quarto Amarok.

Inoltre rdesktop a l’innegabile pregio di sincronizzare il contenuto degli appunti quando si passa da un sistema operativo all’ambiente in Terminal Server, quindi degli ottimi copia/incolla, se non altro di porzioni di testo e simili. Per altre cose carine da fare grazie al Terminal Server, vi invito a consultare questo link .

Da ricordarsi, in ultimo, che se impostate l’opzione -f nella chiamata a rdesktop, al posto di -g …, si ottiene il fullscreen della finestra, dalla quale si puo’ uscire premento Ctrl+Alt+Enter

Update: se usate Windows XP come sistema guest, questo ulteriore approfondimento puo’ tornare utile.

2 Comments

  1. Solo un piccolo appunto:
    puoi ottenere le feature di cui hai bisogno (o perlomeno, risoluzione aggiustata dinamicamente con il ridimensionamento e “travaso” della clipboard) anche senza rdesktop installando nel sistema ospitato i vmware tools

  2. Ma lo sai che hai proprio ragione? Non ci avevo mai fatto caso… :roll
    Vabbe’ ho usato rDesktop soprattutto per come mi permetteva di gestire la finestra e perche’ con un unica linea di comando lanci tutto, login compreso…

    Cmq grazie per la dritta ;)

Leave a Reply