XenApp公開アプリケーションか起動しかけてるのに起動しない

Citrix関連技術

何だか良く解らないタイトルですが、XenAppで公開しているアプリケーションを起動しようとするとXenAppサーバーへのログオンプロセスの途中で終了してしまう現象に見舞われました。Citrixのナレッジに回避策があったので覚書しておきます

現象

XenAppで配信しているアプリケーションが起動しません。クライアントのCitrix Receiverは起動処理を始めているにもかかわらず、プログレスバーが進捗している途中で処理が終了してしまう様です。
公開アプリケーションを配信しているXenAppサーバーのイベントログを確認すると、本事象とは無関係かも知れませんがID:6001やID:6004が記録されています。また「デスクトップウインドマネージャはコード(0x40010004)で終了しました」も見られました。

これらの事象をちょっとググったら出てきました。まさにこの現象が起こっています。
ログオン処理に1分以上かかると公開アプリケーションの起動に失敗する

原因

原因はXenAppのログオフチェッカーによるもので、ログオン処理に1分以上かかるとタイムアウトされてしまいます。
ログオフチェッカーは公開アプリケーションが終了した後に、セカンダリプロセスが残っていてもサーバーからログオフさせるもので、無駄なセッションを残さないようにする優秀なツールなのですが、ログオン時にはこれが邪魔をしている様です。
詳細は前述のリンクに記載されていますが、簡潔に言えばログオン完了前にログオフされることが原因です。何ともアホらしい動きです。

Citrix XenDesktop デスクトップ&アプリケーション仮想化 実践ガイド
Amazonでシトリックス・システムズ・ジャパン株式会社のCitrix XenDesktop デスクトップ&アプリケーション仮想化 実践ガイド。アマゾンならポイント還元本が多数。シトリックス・システムズ・ジャパン株式会社作品ほか、お急ぎ便対象商品は当日お届けも可能。またCitrix XenDesktop デスクトップ&...

解決方法

ログオフチェッカーの起動待ち時間をレジストリで設定して、ログオフチェッカーの起動を遅らせる事で対処します。
根本解決はログオフを高速化させる事だと思うのですが、移動ユーザープロファイルを利用しているとファイルサーバーのパフォーマンスやネットワークのチューニング、さらにグループポリシー等も絡むハナシになるとなかなか対策が難しいので、XenAppで対処する方が小回りが利きます。

もっと根本的な解決策はログオン処理時にはログオフチェッカーを無効化する事なのですが、ログオフチェッカーが無いとアプリケーションが終了した後にXenAppサーバーからログオフされない問題が起こってしまいます。さて、設定するレジストリは。。。

HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥Citrix¥Wfshell¥TWI
値の名前:LogoffCheckerStartupDelayInSeconds
種類:REG_DWORD
値のデータ:0~600(秒)

ログオフチェッカーの起動が60秒遅延するため合計2分間の余裕が生まれます。2分以内にログオン処理が終わればOKです。もしこれでも事象が改善しない場合値を増やしていけばOKです。
私が管理している環境では取りあえず60秒に設定しました。ユーザープロファイルが肥大化しているユーザーは60秒では足りないかも知れませんし、基盤構成によっても最適値が変わるので環境によって調整しましょう。

シトリックス Citrix X1 Mouse [並行輸入品]
シトリックス Citrix X1 Mouse がマウスストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

コメント

タイトルとURLをコピーしました