Citrix Virtual Apps and Desktops

Solución de problemas

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

Al publicar 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 se cierran con 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 provoca sesiones persistentes o colgadas y puede hacer que la sesión no se cierre y que el usuario no cierre la sesión.

En este caso, debes restablecer o salir de estas sesiones usando Citrix Director.

Para ayudar a identificar y solucionar problemas de sesiones que no se cierran correctamente, Citrix ha puesto a tu disposición tres entradas de registro. La identificación y solución de problemas de sesiones que no se cierran correctamente 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 específica 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.

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

Reemplaza el [ID] con el ID de sesión correcto para la sesión que quieres comprobar.

Paso 3: Agregar estos procesos a una entrada de registro específica para evitar que impidan el cierre de sesión

Puedes agregar 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, consulta 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. Inicia el servicio de registro remoto en el VDA que estás probando:

    1. En el “Panel de control”, selecciona Herramientas administrativas > Servicios.

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

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

    Published app registry

  2. Desactiva el Firewall de Windows en el VDA que estás probando o crea una regla de firewall de entrada para habilitar el puerto 455:

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

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

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

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

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

      1. Selecciona los perfiles de firewall a los que quieres aplicar la nueva regla de entrada.
    1. Asigna un nombre a la regla de firewall y selecciona Finalizar para salir del Asistente para nueva regla de entrada.

      Published app firewall port

  3. Desde otra máquina virtual en el mismo dominio (puede ser un DC, DDC u otro VDA), ejecuta Regedit y conéctate a un registro remoto.

    Published app registry editor

  4. Introduce la dirección IP del VDA que estás probando y haz clic en Aceptar. El árbol de regedit debe mostrar las ramas del VDA que estás probando.

    Published app regedit

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

    Published app manage

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

    Published app cmd prompt

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

    Published app connection

  7. Desde el VDA donde se ejecuta regedit, ve a la siguiente ubicación remota de IP: 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 cambies 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 modificarse manualmente. La edición manual de estos valores del registro podría provocar sesiones inestables.

    Aplicación publicada 2

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

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

    Cierre de sesión correcto

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

  12. Vuelve 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. Anota la ruta a este ejecutable y en qué clave apareció, e introdúcela 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, agrega una coma al final y coloca la nueva entrada después de la coma.

    Regedit-final

  14. Cierra la sesión desde el centro de conexión en el cliente y vuelve a abrir la aplicación remota.

  15. Repite los pasos 9-16 hasta que la sesión se cierre automáticamente en los 30 segundos siguientes al cierre de la aplicación remota.

    Nota:

    Después de solucionar los problemas, revierte 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 ningún recorte.

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

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

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

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

  4. Establece 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 desactiva.

Nota:

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

Por defecto, 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.

Desactivar una barra de título

Puedes desactivar la barra de título en la ventana de LogonUI con la siguiente clave del registro:

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

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

  3. Crea nuevas claves DWORD: LogonUICaption y establece el valor de la clave en 0.

    Ventana de LogonUI con barra de título

La aplicación publicada no aparece

Consulta los artículos de asistencia 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

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 ajustes adicionales para las aplicaciones publicadas.

En algunos casos, se requiere una configuración adicional, que incluye 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.

Estos ajustes se describen en el artículo de la base de conocimientos sobre la configuración de Seamless.

Solución de problemas