Citrix Virtual Apps and Desktops

Risoluzione dei problemi

Risoluzione dei problemi di disconnessione della sessione con le applicazioni pubblicate

Quando si pubblicano applicazioni, viene specificato solo il file eseguibile principale per l’applicazione pubblicata. Tuttavia, alcune applicazioni potrebbero generare processi aggiuntivi (figli) che vengono eseguiti in background e non vengono chiusi dal file eseguibile principale corrispondente quando l’applicazione pubblicata principale viene chiusa. Possono essere creati anche processi aggiuntivi, da script eseguiti o da chiavi di registro specifiche, come Run e RunOnceKey. Queste applicazioni possono impedire una disconnessione corretta, causando sessioni persistenti o bloccate e potrebbero impedire la chiusura della sessione e la disconnessione dell’utente.

In questo caso, è necessario reimpostare o chiudere queste sessioni utilizzando Citrix Director.

Per aiutare a identificare e risolvere i problemi delle sessioni che non vengono disconnesse correttamente, Citrix ha reso disponibili tre voci di registro. L’identificazione e la risoluzione dei problemi delle sessioni che non vengono disconnesse correttamente a causa di questi problemi è un processo in tre fasi:

  1. Identificare quali sessioni con applicazioni pubblicate impediscono una disconnessione corretta

  2. Identificare per quelle applicazioni pubblicate se producono processi aggiuntivi (figli)

  3. Aggiungere questi processi a una voce di registro specificata per impedire che blocchino la disconnessione

Fase 2: Identificare per quelle applicazioni pubblicate se producono processi aggiuntivi (figli)

Una volta identificata un’applicazione pubblicata che impedisce una disconnessione corretta, il passo successivo è determinare se questa applicazione produce processi aggiuntivi durante l’esecuzione.

È possibile leggere HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcess per determinare se eventuali processi stanno bloccando una disconnessione corretta quando un’applicazione pubblicata viene chiusa.

Nell’esempio seguente, la chiave LogoffCheckerBlockingProcess contiene le seguenti voci:

PhoneExperienceHost.exe
SkypeApp.exe
SkypeBackgroundHost.exe
<!--NeedCopy-->

Questi processi hanno bloccato la disconnessione corretta.

Nota:

Sostituire [ID] con l’ID di sessione corretto per la sessione che si desidera controllare.

Passaggio 3: Aggiungere questi processi a una voce di registro specificata per impedire che blocchino la disconnessione

È possibile aggiungere questi processi alle seguenti chiavi di registro per impedire che blocchino la disconnessione nelle sessioni future:

Add the process file name to the following registry key:
Caution! Refer to the Disclaimer at the end of this article before using the Registry Editor.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI
Value Name:LogoffCheckSysModules
Type:REG_SZ
String:MyAppName.exe
<!--NeedCopy-->

Per maggiori informazioni su LogoffCheckSysModules, vedere Disconnessione controllata da un’applicazione pubblicata che mantiene la sessione in stato attivo.

Guida alla risoluzione dei problemi passo dopo passo

  1. Avviare il servizio di registro remoto nel VDA in fase di test:

    1. Nel Pannello di controllo, selezionare Strumenti di amministrazione > Servizi.

    2. Fare clic con il pulsante destro del mouse su Servizio Registro di sistema remoto e selezionare Proprietà.

    3. In Tipo di avvio, selezionare Automatico dal menu a discesa.

    Registro dell'app pubblicata

  2. Disattivare il Firewall di Windows sul VDA in fase di test o creare una regola firewall in entrata per abilitare la porta 455:

    1. Nel Pannello di controllo, selezionare Windows Defender Firewall > Impostazioni avanzate.

    2. Fare clic con il pulsante destro del mouse su Regole in entrata e selezionare Nuova regola.

    3. Nella Creazione guidata nuova regola in entrata, selezionare Porta.

    4. Nella pagina Protocolli e porte, selezionare TCP e Porte locali specifiche. Immettere 445 come porta locale.

    5. Selezionare Consenti connessione nella pagina Azione.

    6. Selezionare i profili firewall a cui si desidera applicare la nuova regola in entrata.

    7. Assegnare un nome alla regola firewall e selezionare Fine per uscire dalla Creazione guidata nuova regola in entrata.

      Porta firewall dell'app pubblicata

  3. Da un’altra VM sullo stesso dominio (potrebbe essere DC, DDC o un altro VDA), eseguire Regedit e connettersi a un registro remoto.

    Editor del Registro di sistema dell'app pubblicata

  4. Immettere l’indirizzo IP del VDA in fase di test e fare clic su OK. L’albero regedit deve visualizzare i rami per il VDA in fase di test.

    Regedit dell'app pubblicata

  5. Aprire l’applicazione pubblicata Prompt dei comandi.

    Gestione app pubblicata

    L’app Prompt dei comandi viene visualizzata in Citrix Workspace.

    Prompt dei comandi dell'app pubblicata

  6. Aprire Centro connessioni sul client. Questo viene utilizzato per monitorare quando una sessione viene disconnessa, dopo aver chiuso un’app seamless aperta. Nell’immagine seguente possiamo vedere che il processo del Prompt dei comandi c:\Windows\system32\cmd.exe è attivo sul VDI remoto.

    Connessione app pubblicata

  7. Dal VDA in cui è in esecuzione regedit, accedere alla seguente posizione IP remota: HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\

    Nota:

    Questo percorso cambia ogni volta che si apre una nuova sessione.

  8. Ci sono due chiavi da leggere qui (non modificarle): LogoffCheckBlockingProcess e LogoffCheckerBlockingVisibleProcess. Queste chiavi mostrano tutti i programmi che bloccano la disconnessione. La prima deve mostrare C:\Windows\System32\cmd.exe poiché era aperta e non è stata ancora chiusa.

    Nota:

    LogoffCheckBlockingProcess e LogoffCheckerBlockingVisibleProcess non devono essere modificati manualmente. La modifica manuale di questi valori del registro potrebbe portare a sessioni instabili.

    App pubblicata 2

  9. Fare clic su X nell’angolo in alto a destra per uscire da Seamless CMD.

  10. Controllare il centro connessioni per vedere se la sessione si chiude. Potrebbero essere necessari fino a 30 secondi per la chiusura. Se si chiude, non ci sono state applicazioni o processi che hanno impedito una disconnessione pulita.

    Disconnessione pulita

  11. Se la sessione non si è chiusa, aggiornare l’output di regedit con F5.

  12. Controllare di nuovo il contenuto di LogoffCheckBlockingProcess e LogoffCheckerBlockingVisibleProcess. CMD non deve più essere presente, ma dovrebbe esserci un altro processo elencato. Qualsiasi processo che sta attualmente bloccando la disconnessione della sessione deve essere visualizzato qui.

    In questo caso, Notepad.exe è aperto dal prompt dei comandi pubblicato prima che il prompt dei comandi fosse chiuso e questo processo remoto di Blocco note sta impedendo una disconnessione pulita.

    Regedit

  13. Prendere nota del percorso di questo eseguibile, e della chiave in cui è apparso, e inserirlo nella seguente chiave di registro, sotto l’albero remoto:

    • Se appare in LogoffCheckBlockingProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal
    • Se appare in LogoffCheckerBlockingVisibleProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules

    Nota:

    Se nella chiave è già presente una o più voci, aggiungere una virgola alla fine e inserire la nuova voce dopo la virgola.

    Regedit-finale

  14. Disconnettersi dalla sessione dal centro connessioni sul client e riaprire l’applicazione remota.

  15. Ripetere i passaggi 9-16 finché la sessione non viene disconnessa automaticamente entro 30 secondi dalla chiusura dell’applicazione remota.

    Nota:

    Dopo la risoluzione dei problemi, ripristinare le modifiche temporanee del firewall per consentire l’accesso remoto al registro, se necessario.

Come modificare LogonUI per visualizzare il messaggio di disclaimer di Windows a schermo intero all’apertura delle applicazioni pubblicate

La scalabilità della finestra LogonUI è stata migliorata per gli scenari in cui non si verifica il pass-through dell’autenticazione. La finestra LogonUI viene scalata in base alla risoluzione del monitor e alle impostazioni DPI utilizzate, garantendo che l’intera finestra LogonUI sia visibile senza alcun ritaglio.

La dimensione della finestra in pixel può anche essere impostata manualmente nel registro.

  1. Aprire l’Editor del Registro di sistema usando regedit nel comando Esegui.

  2. Andare a HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\.

  3. Creare due nuove chiavi DWORD: LogonUIWidth e LogonUIHeight.

  4. Impostare il valore delle chiavi sulla larghezza e altezza richieste in pixel per la finestra LogonUI.

    Quando si imposta manualmente la dimensione della finestra LogonUI, la scalabilità automatica viene disabilitata.

Nota:

Questi percorsi del registro sono cambiati a partire dalla versione 2407 e successive. I vecchi valori del registro vengono ignorati e sono deprecati.

Per impostazione predefinita, la finestra LogonUI include una barra del titolo con un pulsante di chiusura che consente all’utente finale di disconnettersi dalla sessione, se necessario.

Disabilitare una barra del titolo

È possibile disabilitare la barra del titolo nella finestra LogonUI con la seguente chiave di registro:

  1. Aprire l’Editor del Registro di sistema utilizzando regedit sul comando Esegui.

  2. Andare a HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\.

  3. Creare nuove chiavi DWORD: LogonUICaption e impostare il valore della chiave su 0.

    Finestra LogonUI con barra del titolo

L’applicazione pubblicata non viene visualizzata

Fare riferimento agli articoli di supporto per risolvere i problemi relativi ai casi in cui l’applicazione pubblicata non si avvia o scompare durante l’avvio o quando non viene visualizzata.

Per risolvere i problemi relativi ai casi

Impostazioni di configurazione aggiuntive di Seamless

Nella maggior parte dei casi, le impostazioni predefinite del server sono sufficienti per la maggior parte delle applicazioni e non sono richieste impostazioni aggiuntive per le applicazioni pubblicate.

In alcuni casi, è necessaria una configurazione aggiuntiva, incluso il controllo dell’interazione e della visualizzazione delle finestre dell’applicazione specificate, nonché le impostazioni all’interno dell’ambiente dell’applicazione pubblicata stessa.

Nota:

Citrix sconsiglia di modificare queste impostazioni di configurazione a meno che non sia esplicitamente indicato dal supporto Citrix.

Queste impostazioni sono descritte nell’articolo della Knowledge Base sulle impostazioni di configurazione Seamless.