Citrix Virtual Apps and Desktops

Solución de problemas

Solución de problemas de cierre de sesión con aplicaciones publicadas

Cuando se publican aplicaciones, solo se especifica el archivo ejecutable principal de la aplicación publicada. Sin embargo, algunas aplicaciones pueden generar procesos adicionales (secundarios) que se ejecutan en segundo plano y que no son cerrados por el archivo ejecutable principal correspondiente cuando se cierra la aplicación publicada principal. También se pueden crear procesos adicionales a partir de scripts que se ejecutan o de claves de registro específicas, como Run y RunOnceKey. Estas aplicaciones pueden impedir un cierre de sesión correcto, lo que da lugar a sesiones persistentes o bloqueadas y puede provocar que la sesión no se cierre y que el usuario no cierre la sesión.

En este caso, debe restablecer o cerrar estas sesiones mediante Citrix Director.

Para ayudar a identificar y solucionar los problemas de cierre de sesión incorrecto, Citrix ha puesto a disposición tres entradas de registro. La identificación y solución de problemas de cierre de sesión incorrecto debido a estos problemas es un proceso de tres pasos:

  1. Identificar qué sesiones con aplicaciones publicadas están impidiendo un cierre de sesión correcto

  2. Identificar si esas aplicaciones publicadas generan procesos adicionales (secundarios)

  3. Agregar estos procesos a una entrada de registro especificada para evitar que impidan el cierre de sesión

Paso 2: Identificar si esas aplicaciones publicadas generan procesos adicionales (secundarios)

Una vez que se identifica una aplicación publicada que impide un cierre de sesión correcto, el siguiente paso es determinar si esta aplicación genera procesos adicionales cuando se ejecuta.

Puede leer HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcess para determinar si algún proceso está bloqueando un cierre de sesión correcto cuando se cierra una aplicación publicada.

En el siguiente ejemplo, la clave LogoffCheckerBlockingProcess contiene las siguientes entradas:

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

Estos procesos han impedido el cierre de sesión correcto.

Nota:

Reemplace [ID] por el ID de sesión correcto de la sesión que desea comprobar.

Paso 3: Añada estos procesos a una entrada de registro especificada para evitar que impidan el cierre de sesión

Puede añadir estos procesos a las siguientes claves de registro para evitar que impidan el cierre de sesión en futuras sesiones:

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-->

Para obtener más información sobre LogoffCheckSysModules, consulte El cierre de sesión correcto de una aplicación publicada deja la sesión en estado activo.

Guía de solución de problemas paso a paso

  1. Inicie el servicio de registro remoto en el VDA bajo prueba:

    1. En el Panel de control, seleccione Herramientas administrativas > Servicios.

    2. Haga clic con el botón derecho en Servicio de registro remoto y seleccione Propiedades.

    3. En Tipo de inicio, seleccione Automático en el menú desplegable.

    Registro de aplicaciones publicadas

  2. Desactive el Firewall de Windows en el VDA bajo prueba o cree una regla de firewall de entrada para habilitar el puerto 455:

    1. En el Panel de control, seleccione Firewall de Windows Defender > Configuración avanzada.

    2. Haga clic con el botón derecho en Reglas de entrada y seleccione Nueva regla.

    3. En el Asistente para nueva regla de entrada, seleccione Puerto.

    4. En la página Protocolos y puertos, seleccione TCP y Puertos locales específicos. Introduzca 445 como puerto local.

    5. Seleccione Permitir la conexión en la página Acción.

    6. Seleccione los perfiles de firewall a los que desea aplicar la nueva regla de entrada.

    7. Asigne un nombre a la regla de firewall y seleccione Finalizar para salir del Asistente para nueva regla de entrada.

      Puerto de firewall de aplicación publicada

  3. Desde otra VM en el mismo dominio (podría ser DC, DDC u otra VDA), ejecute Regedit y conéctese a un registro remoto.

    Editor del registro de aplicación publicada

  4. Introduzca la dirección IP de la VDA que se está probando y haga clic en Aceptar. El árbol regedit debe mostrar las ramas de la VDA que se está probando.

    Regedit de aplicación publicada

  5. Abra la aplicación publicada Símbolo del sistema.

    Administrar aplicación publicada

    La aplicación Símbolo del sistema se muestra en Citrix Workspace.

    Símbolo del sistema de aplicación publicada

  6. Abra el Centro de conexiones en el cliente. Esto se utiliza para supervisar cuándo se cierra una sesión, después de cerrar una aplicación perfecta abierta. Podemos ver en la siguiente imagen que el proceso del Símbolo del sistema c:\Windows\system32\cmd.exe está activo en la VDI remota.

    Conexión de aplicación publicada

  7. Desde la VDA donde se ejecuta regedit, vaya a la siguiente ubicación IP remota: HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\

    Nota:

    Esta ruta cambia cada vez que abres una nueva sesión.

  8. Aquí hay dos claves para leer (no las cambie aquí): LogoffCheckBlockingProcess y LogoffCheckerBlockingVisibleProcess. Estas claves muestran cualquier programa que esté bloqueando el cierre de sesión. La primera debe mostrar C:\Windows\System32\cmd.exe ya que estaba abierta y aún no se ha cerrado.

    Nota:

    LogoffCheckBlockingProcess y LogoffCheckerBlockingVisibleProcess no deben editarse manualmente. La edición manual de estos valores del registro podría provocar sesiones inestables.

    Aplicación publicada 2

  9. Haga clic en la X en la esquina superior derecha para salir de Seamless CMD.

  10. Compruebe el centro de conexiones para ver si la sesión se cierra. Puede tardar hasta 30 segundos en cerrarse. Si se cierra, no ha habido aplicaciones o procesos que hayan impedido un cierre de sesión correcto.

    Cierre de sesión correcto

  11. Si la sesión no se cerró, actualice la salida de regedit con F5.

  12. Vuelva a comprobar el contenido de LogoffCheckBlockingProcess y LogoffCheckerBlockingVisibleProcess. CMD ya no debe estar presente, pero debería haber otro proceso listado. Cualquier proceso que esté bloqueando actualmente el cierre de sesión debe mostrarse aquí.

    En este caso, Notepad.exe está abierto desde el símbolo del sistema publicado antes de que se cerrara el símbolo del sistema y este proceso remoto de Bloc de notas está impidiendo un cierre de sesión correcto.

    Regedit

  13. Anote la ruta a este ejecutable y en qué clave apareció, e introdúzcala en la siguiente clave del registro, bajo el árbol remoto:

    • Si aparece en LogoffCheckBlockingProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal
    • Si aparece en LogoffCheckerBlockingVisibleProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules

    Nota:

    Si ya hay una o más entradas en la clave, añada una coma al final y coloque la nueva entrada después de la coma.

    Regedit-final

  14. Cierre la sesión desde el centro de conexiones en el cliente y vuelva a abrir la aplicación remota.

  15. Repita los pasos 9-16 hasta que la sesión se cierre automáticamente en un plazo de 30 segundos tras cerrar la aplicación remota.

    Nota:

    Después de solucionar el problema, revierta los cambios temporales del firewall para permitir el acceso remoto al registro si es necesario.

Cómo modificar LogonUI para ver el mensaje de exención de responsabilidad de Windows a tamaño completo al abrir aplicaciones publicadas

La escala de la ventana de LogonUI se ha mejorado para escenarios en los que no se produce el paso de autenticación. La ventana de LogonUI se escala en función de la resolución del monitor y la configuración de DPI utilizadas, lo que garantiza que la ventana completa de LogonUI sea visible sin recortes.

El tamaño de la ventana en píxeles también se puede establecer manualmente en el registro.

  1. Abra el Editor del Registro usando regedit en el comando Ejecutar.

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

  3. Cree dos nuevas claves DWORD: LogonUIWidth y LogonUIHeight.

  4. Establezca el valor de las claves a la anchura y altura requeridas en píxeles para la ventana de LogonUI.

    Al establecer manualmente el tamaño de las ventanas de LogonUI, la escala automática se deshabilita.

Nota:

Estas rutas de registro han cambiado a partir de la versión 2407 y posteriores. Los valores de registro antiguos se ignoran y están obsoletos.

De forma predeterminada, la ventana de LogonUI incluye una barra de título con un botón de cierre que permite al usuario final desconectarse de la sesión si es necesario.

Deshabilitar una barra de título

Puede deshabilitar la barra de título en la ventana de LogonUI con la siguiente clave de registro:

  1. Abra el Editor del Registro usando regedit en el comando Ejecutar.

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

  3. Cree nuevas claves DWORD: LogonUICaption y establezca el valor de la clave en 0.

    Ventana de LogonUI con barra de título

La aplicación publicada no aparece

Consulte los artículos de soporte para solucionar problemas en los casos en que la aplicación publicada no se inicia o desaparece durante el inicio o cuando no aparece.

Para solucionar problemas en los casos

Configuración adicional de Seamless

En la mayoría de las circunstancias, la configuración predeterminada del servidor es suficiente para la mayoría de las aplicaciones, y no se requieren configuraciones adicionales para las aplicaciones publicadas.

En algunos casos, se requiere una configuración adicional, incluido el control de la interacción y la visualización de las ventanas de aplicaciones especificadas, así como la configuración dentro del propio entorno de la aplicación publicada.

Nota:

Citrix no recomienda cambiar esta configuración a menos que el soporte de Citrix lo indique explícitamente

Esta configuración se describe en el artículo de KB sobre la configuración de Seamless.

Solución de problemas