Citrix 환경에서 Slack 문제 해결

Citrix와 함께 Slack을 사용하는 중에 데스크톱 앱을 실행하는 데 문제가 있는 경우 이 문제와 문제 해결 방법에 대해 자세히 알아보세요. 

 

Slack 실행 문제

이 문제를 유발하는 원인

XenApp 및 XenDesktop과 같은 Citrix 환경은 동적 연결 라이브러리(DLL) 리디렉션을 사용하여 추가 작업을 수행하는 API 호출을 라우팅한 후 Windows 운영 체제 API를 호출합니다. 

Slack 데스크톱 앱과 Citrix의 타사 DLL이 호환되지 않기 때문에 Citrix 환경에서 Slack이 로드되지 않을 수 있습니다. 

 

Slack 실행 시 발생하는 상황

Slack 앱이 실행을 시도한 후에도 시작되지 않는 것처럼 보입니다. 하지만 작업 관리자를 열면 slack.exe 프로세스가 실행 중이라고 표시됩니다. 작업 표시줄에도 Slack이 표시될 수 있지만 사용자는 앱과 상호작용할 수 없을 것입니다. 

일반적으로 앱은 약 15분 후에 실행을 마치고 정상적으로 작동하지만 그때부터 slack.exe 프로세스가 충돌한다는 보고가 여러 개 표시됩니다. 

 

DLL 후킹에서 slack.exe 제외

Slack 앱 실행 문제를 해결하기 위해 Citrix 환경의 DLL 후킹 메커니즘에서 특정 프로세스를 제외할 수 있습니다. 수동으로 레지스트리 값을 추가하거나 PowerShell 스크립트를 실행하여 레지스트리 값을 자동으로 생성할 수 있습니다. 

수동으로 slack.exe 레지스트리 값 추가

  1. 컴퓨터에서 WinR 키를 누른 다음 regedit.exe를 입력합니다. 
  2. 다음 키가 있는지 확인하고 없는 키는 모두 추가합니다.
    HKEY_LOCAL_MACHINE/SOFTWARE/Citrix/CtxHook
    HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Citrix/CtxHook
    HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Citrix/CtxHook64
  3. 이미 존재하지 않는 경우 위에 나열된 각 키에 레지스트리 값을 추가해야 합니다.

    이름: ExcludedImageNames
    유형: REG_SZ
    값: slack.exe

  4. ExcludedImageNames가 이미 존재하는 경우 slack.exe가 실행 파일의 이름에 추가되어 있어야 하고 다음과 같이 세미콜론으로 구분되어 있어야 합니다.
    App1.exe,App2.exe,slack.exe
  5. 다음 키를 확인하고, 없는 경우 추가하세요.
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/CtxUvi
  6. 5단계에서 키를 추가한 경우 다음 레지스트리 값도 추가해야 합니다.

    이름: UviProcessExcludes
    유형: REG_SZ
    값: slack.exe

  7. UviProcessExcludes가 이미 존재하는 경우 slack.exe를 실행 파일의 이름에 추가하고 다음과 같이 세미콜론으로 구분해야 합니다.
    App1.exe;App2.exe;slack.exe
자세히 알아보려면 공식 Citrix 설명서를 참조하세요.

 

PowerShell 스크립트를 실행하여 레지스트리 값 생성 

  1. 이 PowerShell 스크립트를 다운로드합니다.
  2. 다운로드가 완료되면 스크립트 파일을 마우스 오른쪽 버튼으로 클릭하고 PowerShell에서 실행을 선택합니다. 
  3. 시스템을 재부팅한 다음 Slack 데스크톱 앱을 다시 실행합니다. 

팁: 실행 정책 위반으로 인해 PowerShell 스크립트를 실행할 수 없는 경우, Microsoft의 문서에 따라 컴퓨터의 정책을 업데이트하세요.