Citrix Virtual Apps and Desktops

Solução de problemas

Solução de problemas de encerramento de sessão com aplicativos publicados

Ao publicar aplicativos, apenas o arquivo executável principal do aplicativo publicado é especificado. No entanto, alguns aplicativos podem produzir processos adicionais (filhos) que são executados em segundo plano e não são fechados pelo arquivo executável principal correspondente quando o aplicativo publicado principal é fechado. Processos adicionais também podem ser criados a partir de scripts executados ou de chaves de registro específicas, como Run e RunOnceKey. Esses aplicativos podem impedir um encerramento de sessão adequado, resultando em sessões persistentes ou travadas e podem fazer com que a sessão não seja fechada e o usuário não seja desconectado.

Nesse caso, você precisa redefinir ou sair dessas sessões usando o Citrix Director.

Para ajudar a identificar e solucionar problemas de sessões que não estão sendo encerradas corretamente, a Citrix disponibilizou três entradas de registro. A identificação e a solução de problemas de sessões que não estão sendo desconectadas corretamente devido a esses problemas é um processo de três etapas:

  1. Identificar quais sessões com aplicativos publicados estão impedindo um encerramento de sessão adequado

  2. Identificar para esses aplicativos publicados se eles produzem quaisquer processos adicionais (filhos)

  3. Adicionar esses processos a uma entrada de registro especificada para evitar que eles impeçam o encerramento da sessão

Etapa 2: Identificar para esses aplicativos publicados se eles produzem quaisquer processos adicionais (filhos)

Uma vez que um aplicativo publicado é identificado como impedindo um encerramento de sessão adequado, o próximo passo é determinar se este aplicativo produz processos adicionais durante a execução.

Você pode ler HKCU\Software\CitrixVolatile\Seamless\Sessions\[ID]\LogoffCheckerBlockingProcess para determinar se algum processo está bloqueando um encerramento de sessão adequado quando um aplicativo publicado é fechado.

No exemplo a seguir, a chave LogoffCheckerBlockingProcess contém as seguintes entradas:

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

Esses processos impediram o encerramento de sessão adequado.

Nota:

Substitua [ID] pelo ID de sessão correto para a sessão que você deseja verificar.

Etapa 3: Adicione esses processos a uma entrada de registro especificada para evitar que atrasem o logoff

Você pode adicionar esses processos às seguintes chaves de registro para evitar que atrasem o logoff em sessões futuras:

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

Mais informações sobre LogoffCheckSysModules, consulte Logoff elegante de um aplicativo publicado deixa a sessão em estado ativo.

Guia de solução de problemas passo a passo

  1. Inicie o Serviço de Registro Remoto no VDA em teste:

    1. No Painel de Controle, selecione Ferramentas Administrativas > Serviços.

    2. Clique com o botão direito em Serviço de Registro Remoto e selecione Propriedades.

    3. Em Tipo de Inicialização, selecione Automático no menu suspenso.

    Registro de aplicativo publicado

  2. Desative o Firewall do Windows no VDA em teste ou crie uma regra de firewall de entrada para habilitar a porta 455:

    1. No Painel de Controle, selecione Firewall do Windows Defender > Configurações Avançadas.

    2. Clique com o botão direito em Regras de Entrada e selecione Nova Regra.

    3. No Assistente para Nova Regra de Entrada, selecione Porta.

    4. Na página Protocolos e Portas, selecione TCP e Portas Locais Específicas. Insira 445 como a porta local.

    5. Selecione Permitir Conexão na página Ação.

    6. Selecione os perfis de firewall aos quais você deseja aplicar a nova regra de entrada.

    7. Nomeie a regra de firewall e selecione Concluir para sair do assistente de Nova Regra de Entrada.

      Porta de firewall do aplicativo publicado

  3. De outra VM no mesmo domínio (pode ser DC, DDC ou outro VDA), execute Regedit e conecte-se a um registro remoto.

    Editor de registro do aplicativo publicado

  4. Insira o endereço IP do VDA em teste e clique em OK. A árvore regedit deve exibir ramificações para o VDA em teste.

    Regedit do aplicativo publicado

  5. Abra o aplicativo publicado Prompt de Comando.

    Gerenciar aplicativo publicado

    O aplicativo Prompt de Comando é exibido no Citrix Workspace.

    Prompt de comando do aplicativo publicado

  6. Abra o Centro de Conexão no cliente. Isso é usado para monitorar quando uma sessão é encerrada, após fechar um aplicativo contínuo aberto. Podemos ver na imagem a seguir que o processo do Prompt de Comando c:\Windows\system32\cmd.exe está ativo no VDI remoto.

    Conexão do aplicativo publicado

  7. No VDA onde o regedit está sendo executado, vá para o seguinte local de IP remoto: HKEY_USERS\S-1-X-XX-XXXXXXXX-XXXXXXXXXXX-XXXXXXXXXX-XXXX\SOFTWARE\CitrixVolatile\Seamless\Sessions\X\

    Nota:

    Este caminho muda toda vez que você abre uma nova sessão.

  8. Existem duas chaves para ler aqui (não as altere aqui): LogoffCheckBlockingProcess e LogoffCheckerBlockingVisibleProcess. Essas chaves exibem quaisquer programas que estejam bloqueando o logoff. A primeira deve exibir C:\Windows\System32\cmd.exe já que estava aberta e ainda não foi fechada.

    Nota:

    LogoffCheckBlockingProcess e LogoffCheckerBlockingVisibleProcess não devem ser editadas manualmente. A edição manual desses valores de registro pode levar a sessões instáveis.

    Aplicativo publicado 2

  9. Clique em X no canto superior direito para sair do Seamless CMD.

  10. Verifique o centro de conexão para ver se a sessão é encerrada. Pode levar até 30 segundos para fechar. Se fechar, não houve aplicativos ou processos que impediram um logoff suave.

    Logoff suave

  11. Se a sessão não foi encerrada, atualize a saída do regedit com F5.

  12. Verifique novamente o conteúdo de LogoffCheckBlockingProcess e LogoffCheckerBlockingVisibleProcess. O CMD não deve mais estar presente, mas deve haver outro processo listado. Qualquer processo que esteja atualmente bloqueando o logoff da sessão deve ser exibido aqui.

    Neste caso, Notepad.exe está aberto a partir do prompt de comando publicado antes que o prompt de comando fosse fechado e este processo remoto do notepad está impedindo um logoff suave.

    Regedit

  13. Anote o caminho para este executável, e em qual chave ele apareceu, e insira-o na seguinte chave de registro, sob a árvore remota:

    • Se aparecer em LogoffCheckBlockingProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckSysModulesInternal
    • Se aparecer em LogoffCheckerBlockingVisibleProcess: HKLM\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWILogoffCheckVisibleSysModules

    Nota:

    Se já houver uma ou mais entradas na chave, adicione uma vírgula no final e coloque a nova entrada após a vírgula.

    Regedit-final

  14. Saia da sessão a partir do centro de conexão no cliente e reabra o Aplicativo Remoto.

  15. Repita os passos 9-16 até que a sessão seja encerrada automaticamente em 30 segundos após fechar o Aplicativo Remoto.

    Nota:

    Após a solução de problemas, reverta as alterações temporárias do Firewall para permitir o acesso remoto ao registro, se necessário.

Como modificar o LogonUI para visualizar a mensagem de isenção de responsabilidade do Windows em tamanho completo ao abrir aplicativos publicados

A escala da janela LogonUI é aprimorada para cenários onde a passagem de autenticação não ocorre. A janela LogonUI é dimensionada com base na resolução do monitor e nas configurações de DPI usadas, o que garante que a janela LogonUI completa esteja visível sem nenhum corte.

O tamanho da janela em pixels também pode ser definido manualmente no registro.

  1. Abra o Editor do Registro usando regedit no comando Executar.

  2. Vá para HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\.

  3. Crie duas novas chaves DWORD: LogonUIWidth e LogonUIHeight.

  4. Defina o valor das chaves para a largura e altura necessárias em pixels para a janela LogonUI.

    Ao definir manualmente o tamanho da janela LogonUI, o dimensionamento automático é desativado.

Nota:

Esses caminhos de registro foram alterados a partir da versão 2407 e posteriores. Os valores de registro antigos são ignorados e preteridos.

Por padrão, a janela LogonUI inclui uma barra de título com um botão de fechar que permite ao usuário final desconectar-se da sessão, se necessário.

Desabilitar uma barra de título

Você pode desabilitar a barra de título na janela LogonUI com a seguinte chave de registro:

  1. Abra o Editor do Registro usando regedit no comando Executar.

  2. Vá para HKEY_LOCAL_MACHINE\Software\Citrix\CtxHook\AppInit_DLLS\Seamless Hook\.

  3. Crie novas chaves DWORD: LogonUICaption e defina o valor da chave para 0.

    Janela LogonUI com barra de título

Aplicativo publicado não aparece

Consulte os artigos de suporte para solucionar casos em que o aplicativo publicado não inicia ou desaparece durante o lançamento ou quando ele falha em aparecer.

Para solucionar casos

Configurações adicionais de configuração Seamless

Na maioria das circunstâncias, as configurações padrão do servidor são suficientes para a maioria dos aplicativos, e nenhuma configuração adicional é necessária para aplicativos publicados.

Em alguns casos, é necessária uma configuração adicional, incluindo o controle da interação e exibição de janelas de aplicativos especificadas, bem como configurações dentro do próprio ambiente do aplicativo publicado.

Observação:

A Citrix não recomenda alterar essas configurações, a menos que explicitamente instruído pelo suporte da Citrix

Essas configurações são descritas no artigo da KB sobre configurações do Seamless.