Windows Seamless in VMWare

Anche con VMWare esiste un modo di utilizzare una macchina Windows virtuale in modo “seamless”.
Non è un sistema immediato come con VirtualBox, ma bisogna utilizzare un trucco che consiste nel connettersi alla macchina virtuale tramite rdesktop.
Ma vediamo nei dettagli…

Innanzitutto bisogna installare VMWare Server (o Workstation) e creare una macchina virtuale Windows. Nell’impostazione della rete io ho usato il sistema Bridged, ma ho provato anche settando la rete come “Host-Only” e “NAT” e il tutto ha funzionato ugualmente.

Una volta completata l’installazione di Windows (e di tutto quanto altro ci possa servire in questo sistema operativo), connettiamoci con l’utente Administrator, lanciamo un web browser nella macchina virtuale e scarichiamo SeamlessRDP. Sebbene le istruzioni del sito dicano di decomprimere il pacchetto in C:\seamlessrdp io consiglio di dezippare direttamente in C:\Windows.
Questo permette una scorciatoia, ossia non dovremo scrivere “c:\seamlessrdp\seamlessrdpshell.exe” per lanciare il programma, ma basterà “seamlessrdpshell”, essendo tutto installato nella directory Windows che è nel path. Ma i dettagli li vedremo in seguito.

Ora creiamo un nuovo utente di Windows. Andiamo nel pannello di controllo, sezione “Account Utenti” e creiamone uno nuovo. Assicuratevi di creare una password, altrimenti il tutto non funzionerà.

Dopo aver creato il nuovo utente, torniamo al desktop. Clicchiamo col tasto destro su “Risorse del computer” e selezioniamo “Proprietà”. Ora scegliamo il tab “connessione remota” e selezioniamo “Consenti agli utenti di connettersi in remoto al computer”. Clicchiamo su “Seleziona Utenti Remoti” e aggiungiamo l’utente appena creato.

Ora clicchiamo col destro su “Risorse di Rete” e scegliamo “Proprietà”. Clicchiamo (sempre col destro) sulla connessione LAN e scegliamo “Stato”. Nel tab “Supporto” copiamo su un foglietto l’indirizzo IP della macchina virtuale.

Disconnettiamo l’utente Administrator da Windows e “logghiamoci” con il nuovo utente creato.
Ora dobbiamo eliminare il desktop, in modo che non si vedrà quando ci collegheremo via rdesktop al nostro Windows virtuale. Per farlo, clicchiamo su Start -> Esegui e scriviamo “regedit”.
Selezioniamo la chiave:

KEY_CURRENT_USER/Software/Microsoft/Windows/ CurrentVersion/Policies/Explorer.

Qui creiamo un nuovo valore DWORD, a cui assegneremo nome “NoDesktop” e valore decimale 1.

Disconnettiamo a questo punto l’utente (ci ritroveremo nella schermata iniziale di Windows) e passiamo per qualche secondo al nostro Ubuntu, perché (se non ce l’abbiamo già) dobbiamo installare rdesktop. Questo programma è presente nelle repositories di default, quindi basterà il comando:

sudo apt-get install rdesktop

Ora basterà aprire un terminale e scrivere il comando:

rdesktop -A -s “seamlessrdpshell explorer” <ipdellavostraVM>:3389 -u utente -p password

(dove “utente” sta per il nome utente creato appositamente, e “password”, ovviamente, per la relativa password)
Nota: se avete installato SeamlessRDP nella directory c:\seamlessrdp (contrariamente al mio consiglio) il comando sarà:

rdesktop -A -s “c:\seamlessrdp\seamlessrdpshell.exe explorer” <ipdellavostraVM>:3389 -u utente -p password

Se avete fatto tutto correttamente, dopo un breve passaggio dalla pagina di login di Windows, dovrebbe comparirvi la barra “Start” in basso, “sovraimpressa” sul desktop di Ubuntu.

Seamless XP

Da qui, chiaramente, sapete come proseguire… 😉

Piccola nota: con questo sistema è possibile lanciare direttamente dei programmi Windows dal desktop di Ubuntu (con l’unica limitazione di poter lanciare un solo programma per volta). Basterà creare una scorciatoia, con il comando relativo (esempio: rdesktop -A -s “c:\seamlessrdp\seamlessrdpshell C:\Programmi\Internet Explorer\iexplore.exe” <ipdellavostraVM>:3389 -u utente -p password).
E’ molto comodo, ma ha un piccolo problema: quando si chiude la finestra del programma lanciato rdestop rimane attivo, e quindi va chiuso dal Monitor di Sistema. Non sono ancora riuscito a trovare un modo perché si chiuda anche rdesktop automaticamente. Se qualcuno ha qualche suggerimento sarò ben lieto di ascoltarlo!

Nota#2: purtroppo per una limitazione di rdesktop, la profondità di colore visualizzabile con questo sistema è di soli 16bit, e non dei 24bit canonici. Per cui scordatevi Photoshop/Lightroom o altri programmi di grafica in seamless mode… 🙁