MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20100603213005_478278591_20100603212846_1927842328_remoteapp.png

Usare le applicazioni remote sul PC locale: guida a RemoteApp su Windows XP/Vista/7

a cura di Zane
07/02/2011 - articolo
Tecniche Avanzate - Se il tuo programma preferito funziona alla perfezione sul PC fisso ma arranca sul notebook, non temere: installare le stesse applicazioni su tutti i computer non è più l'unico modo per disporre dei propri strumenti in ogni circostanza. Grazie ad una particolare "modalità" di Desktop Remoto, possiamo finalmente eseguire i software direttamente sul PC remoto, tramite Internet oppure sfruttando la rete locale.

Permettetemi di iniziare questo articolo con una breve digressione, utile ad inquadrare gli interessantissimi vantaggi che la tecnica proposta di seguito consente di ottenere.

Il mio PC fisso è la postazione prinipale dalla quale svolgo le varie attività. È una macchina di fascia medio-alta, con un processore veloce, una buona dotazione di RAM e, soprattutto, 142 programmi già installati e pronti all'uso. Fra questi, ve ne sono alcuni abbastanza esigenti in termini di risorse computazionali (VirtualBox, DVD Flick ed HandBrake, tanto per citarne alcuni) ed altri che non sono esattamente "immediati" da installare e configurare al meglio (Apache con MySQL e PHP, Visual Studio ed Eclipse).

Il mio portatile, all'estremo opposto, è governato da un vetusto Pentium M (fine 2003, circa): sebbene l'aggiornamento non-ufficiale a Windows 7 gli abbia profuso nuova vita, molti dei software citati in precedenza non funzionano al meglio (oppure non funzionano del tutto) a causa delle insufficienti risorse hardware disponibili.

Inoltre, replicare l'esatta configurazione (e mantenerla corrente!) su due PC risulta piuttosto gravoso in termini di tempo, per non parlare dell'installazione degli update e dell'aggiornamento alle nuove release!

Mi sono quindi chiesto: non è possibile lanciare questi programmi sul PC fisso ma utilizzarli poi dal portatile? La risposta è "sì"!

MLINewShot_0001.jpg

La tecnologia necessaria prende il nome di RemoteApp ed è integrata in molte edizioni del sistema operativo Microsoft. In particolare, sul PC locale può essere installato qualsiasi iterazione del prodotto, da Windows XP (compreso) in poi.

Sul computer remoto invece, ovvero quello che andrà ad erogare l'applicazione, deve essere presente uno fra i seguenti:

Perlomeno per Windows Vista e Windows 7, sono supportate sia le declinazioni a 32 bit, sia quelle a 64 bit.

Gli utenti delle varie edizioni "Home", di Windows Vista Business e di Windows 7 Professional sono invece esclusi a priori. Potranno sì utilizzare applicazioni remote, ma non erogarle.

"Desktop Remoto", prima di tutto

RemoteApp è una "specializzazione" di Desktop Remoto. Questo significa che la primissima cosa da fare per iniziare ad usare RemoteApp è la configurazione di Desktop Remoto sul PC che andrà poi ad erogare i programmi.

Per i requisti, i dettagli e la procedura passo passo vi rimando alla nostra guida "Accedere al proprio PC ovunque: guida a Desktop Remoto".

Nel prosieguo, darò per scontato che abbiate predisposto l'accesso e siate riusciti ad utilizzarlo senza problemi tramite il "classico" Desktop Remoto.

Patch e aggiornamenti vari (solo XP/Vista)

Se il PC remoto che eroga le applicazioni esegue una delle generazioni precedenti di Windows, dovete installare un aggiornamento:

Vivamente consigliato anche l'update della componente di connessione sul client (in caso il sistema operativo in uso fosse precedente a Windows 7). I pacchetti di installazione sono scaricabili dalla nostra scheda "Connessione desktop remoto".

Abilitare RemoteApp

Per usare RemoteApp, è indispensabile abilitare la caratteristica sul PC "remoto", ovvero quello sul quale risiede l'applicazione che desiderate eseguire.

Il modo più semplice di farlo è tramite il file Abilita RemoteApp.reg scaricabile da qui. Semplicemente, scompattate l'archivio, fate doppio click e confermate per essere operativi.

Se invece desiderate procedere manualmente, aprite innanzitutto l'Editor del Registro di sistema: selezionate selezionate Start -> Esegui (si veda "Ripristinare il comando "Esegui" in Windows Vista e Windows 7" in caso tale voce non fosse visualizzata) e quindi impartite regedit.exe.

Raggiungete ora la seguente chiave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList

[Nota: questa voce non è presente sui PC dotati di Windows XP oppure Windows Vista sprovvisti dell'apposito aggiornamento indicato in precedenza]

Sulla destra, dovreste vedere un valore di nome fDisabledAllowList. Fatevi doppio click e modificatelo ad 1

MLINewShot_0104.jpg

Chiudete l'Editor.

Preparare il client

Spostatevi ora sul client e lanciate il software di connessione per Desktop Remoto. Impostate tutti i parametri relativi al vostro PC remoto come di consueto, quindi cliccate Salva con nome... per generare un file .rdp. Per non fare confusione, vi suggerisco di usare come nome del file lo stesso del programma remoto che desiderate lanciare.

Aprite il file .rdp appena creato con un editor di testo semplice, come Blocco note o Notepad++

MLINewShot_0200.jpg

Cercate quindi la stringa remoteapplicationmode:i:0 (è circa a 3/4 del documento) e sostituite lo zero finale con un uno (si leggerà quindi remoteapplicationmode:i:1).

Incollate poi su una nuova riga (la posizione non è importante: va benissimo anche subito sotto la precedente) il seguente testo:

remoteapplicationprogram:s:C:\Programmi\MioProgramma\MioProgramma.exe

Sostituendo, naturalmente, il percorso completo, riferito al PC remoto, dell'eseguibile che desiderate lanciare

MLINewShot_0202.jpg

Se avete la necessità di accodare parametri, inseriteli su una nuova riga in questo modo: RemoteApplicationCmdLine:s:-Parametro1 -Parametro2.

Se il PC locale dispone di due monitor, sostituite la dicitura use multimon:i:0 presente ad inizio file con use multimon:i:1. In caso contrario, non potrete poi spostare la finestra dell'applicazione sul display secondario.

Se il computer remoto utilizza una generazione di Windows precedente a Windows 7:

Salvate il file e chiudete l'editor di testo.

Lanciare il programma

Arrivati a questo punto, dovrebbe essere tutto pronto. Fate doppio click sul file .rdp appena creato, confermate tutte le schermate relative agli avvisi di sicurezza (vi consiglio di spuntare le varie caselle Ricorda e non chiedere più, quando presenti) e digitate la password (se non l'avete già salvata in precedenza)

MLINewShot_0220.jpg

In caso vi fosse un utente già loggato sul PC remoto, sarete chiamati a confermare la volontà di disconnetterlo. Fatelo! (in caso tale limitazione fosse inaccettabile, potete scardinarla seguendo le indicazioni proposte in "Desktop Remoto e utente locale contemporaneamente: abilitare le sessioni multiple su Windows 7/Vista/XP").

Ancora pochi istanti di attesa e dovreste poter vedere il programma remoto in una finestra locale

MLINewShot_0225.jpg

Ricordate soltanto che le risorse mostrate dalle varie finestre di dialogo Apri, Salva, Stampa eccetera saranno sempre relative al sistema remoto.

Google Chrome? Non funziona!

Nel corso delle mie prove, ho avuto modo di usare con successo qualche decina di programmi da remoto senza problemi.

L'unico che mi ha dato qualche problema è stato Google Chrome. Una volta avviato da remoto infatti, il browser si blocca pressoché immediatamente. Il difetto è stato confermato da varie fonti, ma a dicembre 2010 nessuna delle soluzioni rintracciabili in rete parrebbe essere veramente efficace.

La sessione che rimane aperta

Un'imperfezione nella quale prima o poi vi imbatterete è causata dal fatto che la chiusura dell'applicazione sul sistema locale non chiude realmente l'intera sessione sul PC remoto, ma si limita a disconnetterla.

Questo fa sì che, dopo aver utilizzato un'applicazione remota, il PC vi segnali che vi sono altre sessioni aperte in fase di arresto

MLINewShot_0113.jpg

Ignorare tale messaggio e proseguire non causa, in linea di massima, alcun problema, ma l'avviso è comunque fastidioso: per evitare che questo accada, è sufficiente seguire le indicazioni proposte in "Come auto-arrestare le sessioni RemoteApp/Desktop Remoto disconnesse".

In ambito aziendale, gli amministratori di sistema potrebbero non essere disposti a concedere agli utenti la libertà di eseguire qualsiasi programma semplicemente inserendo il percorso all'interno del file .rdp (il rischio per la sicurezza sarebbe enorme!).

Fortunatamente, RemoteApp consente di utilizzare una seconda "modalità", tramite la quale gli utenti possono eseguire solamente alcuni specifici programmi indicati dall'amministratore.

Nota: per non impazzire a diagnosticare eventuali problemi, raccomando sempre di testare il corretto funzionamento dell'infrastruttura con la modalità "libera" esposta alle pagine precedenti, per poi passare a questa seconda configurazione più restrittiva solamente dopo essersi sincerati che tutto funzioni come previsto.

Di conseguenza, di seguito indicherò solamente le modifiche da apportare alla configurazione "libera" fin qui ottenuta.

Configurare l'App remota

Aprite innanzitutto l'Editor del Registro di sistema: selezionate selezionate Start -> Esegui (si veda "Ripristinare il comando "Esegui" in Windows Vista e Windows 7" in caso tale voce non fosse visualizzata) e quindi impartite regedit.exe.

Raggiungete ora la seguente chiave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList

E riportate il valore di fDisabledAllowList a 0.

Fate quindi click con il pulsante destro del mouse sulla chiave TSAppAllowList stessa e selezionate Nuovo -> Chiave, quindi assegnatele il nome Applications.

Fate click con il pulsante destro del mouse sulla chiave Applications appena creata e selezionate Nuovo -> Chiave, quindi assegnate un nome a piacere (per non fare confusione, vi suggerisco di usare il nome del programma che state predisponendo).

Spostatevi ora nella sezione di destra della chiave appena creata, quindi fate click con il pulsante destro del mouse in un punto vuoto e selezionate Nuovo -> Valore stringa. Assegnatele il nome Path, quindi fatevi doppio click ed inserite il percorso completo (senza virgolette!) nel quale si trova l'eseguibile del programma che desiderate abilitare all'esecuzione da remoto (i power user ricordino che, in questo caso, non è possibile utilizzare le variabili d'ambiente)

MLINewShot_0325.jpg

Facciamo un esempio. Supponiamo di voler eseguire da remoto HandBrake, il celebre software di rip dei DVD. La configurazione sarà quindi:

Create nuove chiavi all'interno di Applications per ogni ulteriore programma che desiderate abilitare, quindi chiudete l'editor del registro.

Preparare il client

Aprite nuovamente il file .rdp della connessione con un editor di testo semplice, come Blocco note o Notepad++.

Dovete ora sostituire al percorso dell'eseguibile utilizzato in precedenza (nell'esempio di prima era remoteapplicationprogram:s:C:\Programmi\MioProgramma\MioProgramma.exe) il nome della chiave creata sul PC remoto, anteponendo due barre verticali: proseguendo con l'esempio relativo ad HandBrake, si leggerà remoteapplicationprogram:s:||handbrake, ma, più in generale, sarà remoteapplicationprogram:s:||mioprogramma

MLINewShot_0329.jpg

Il resto della configurazione rimane identico a quanto visto durante la trattazione relativa alla "modalità libera".

Lanciare il programma

Arrivati a questo punto, dovrebbe essere tutto pronto. Salvate la configurazione e fate doppio click sul file .rdp per avviare il programma remoto sul PC locale, esattamente come visto alle pagine precedenti.

L'unica differenza consiste nel fatto che, tentando di lanciare dal PC locale qualsiasi programma che non fosse stato esplicitamente abilitato tramite il registro sul sistema remoto, si otterrà soltanto un messaggio di errore

MLINewShot_0344.jpg

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati