
こんにちは。Citrix製品のサポートを担当している川東(かわひがし)です。
XenAppとCitrix Virtual Appsで公開アプリケーションの起動に失敗した際に、Citrix Studio を見るとユーザーセッションが表示されており、こちらをログオフすると起動できるようになったことはございませんでしょうか。
このようなケースでは、不正なユーザーセッションが残っていることが原因の場合があります。
今回のブログは、不正なユーザーセッションが残っている場合に試して頂きたいポイントを2部構成でご紹介します。
前半(本記事)で公開アプリケーションのセッションとプロセスの関係について説明した後、セッションが残る原因をご紹介します。そして、不正なセッションが残っている場合に試して頂きたいポイントを後半(次回の記事) で紹介します。
次回の記事の目次
(6) (5)で紹介している対応方法
(7) まとめ
(1)本記事で使用するアプリケーション「App」の動作に関する説明
本記事の説明のために「App」という名前のアプリケーションを使用します。
こちらのアプリケーションについて簡単にご説明します。
【1】本記事の説明用に用意した「App」について
こちらの「App」はテキストボックスとボタンだけの簡単なサンプルアプリケーションです。「App.exe」がメインのプロセスで、App.exe起動時にバックグラウンドで「AppBG.exe」も起動します。

画面右上の閉じる(✕)ボタンをクリックすると、「App.exe」は終了しますが「AppBG.exe」は終了されずに残ります。
※「✕」ボタンで画面を閉じた後にAppBG.exeが残るイメージ図

皆様が使用されているアプリケーションは、「✕」ボタンで画面を閉じるとアプリケーションに関連するプロセスがすべて終了すると思いますが、本記事では、公開アプリケーションのセッションとプロセスの説明の都合で、上記の動作をするサンプルアプリケーションを用意しました。
【2】Citrix Studio にAppを登録
本記事では、Citrix Studioで公開アプリケーションのAppを登録した際に、「App.exe」を登録しています。

(2)公開アプリケーション起動時のユーザーセッションに紐づくプロセスを確認する方法
(1)にて「App」起動時に生成されるプロセスはApp.exeとAppBG.exeになること、Citrix Studioの公開アプリケーションの登録は、App.exeのパスを登録していることをご説明しました。
本項目では、不正なセッションが残る問題の対応時に必要になる、公開アプリケーションのセッション上で生成されるプロセスの確認方法をご紹介します。
こちらも一読して頂くと、「(3)セッション上で、アプリケーションを「✕」ボタンで閉じる操作とログオフの処理の違い」と「(4)不正に残るセッションの4つのパターンと考えられる原因」も理解しやすくなると思います。
以下は、「App」を公開アプリケーションで起動した場合の確認方法になります。
【確認方法】
1.クライアント端末からStoreFrontのストアにログインして「App」のアイコンをクリックします。

2.「App」の画面が表示されます。

3.Citrix Studio にて「App」が実行されているマシンを確認します。以下の手順になります。
「検索」ノードをクリックします。
画面右上の検索ボックスに「App」を起動したユーザー名を入力します。
「セッション」タブを開き、表示されるセッションをクリックします。
画面下側にセッション情報が表示されます。「マシン」の項目で「App」が起動したVDAサーバを確認できます。

4.「3」で確認できたVDAサーバに管理者アカウントでログイン後、Windowsタスクマネージャを開きます。適当な列名の項目上で右クリックして「列の選択」をクリックします。

5.「セッションID」にチェックをつけて「OK」をクリックします。

6.公開アプリケーションを起動したユーザーが「User01」の場合、セッションIDでソートしユーザー名が「user01」となっているものを探します。以下の画面は「セッションID:2」に紐づくプロセスを表示しています。表示を反転させている行にてApp.exeとAppBG.exeが起動されていることが確認できます。

大まかな図にしますと、セッション上にWindowsのプロセス、Citrixのプロセス、App.exeとAppBG.exeがあります。

(3)セッション上で、アプリケーションを「✕」ボタンで閉じる操作とログオフの処理の違い
公開アプリケーションのウィンドウを「✕」で閉じる場合と、公開アプリケーションのセッションをログオフする場合の動作の違いを知ることも、不正に残るセッションに対する対策を検討するうえで参考になる場合がありますのでご紹介させて頂きます。
公開アプリケーションのセッション上で「App」を「✕」ボタンで終了する場合
公開アプリケーションの「App」をUser01で起動後に「✕」ボタンで終了した場合、以下の動作になります。
1.クライアント端末から、User01で公開アプリケーションの「App」を起動します。

2.「App」の閉じるボタン(「✕」ボタンを)をクリックします。App.exeは終了しますが、AppBG.exeは残ります。

3.XenApp / Citrix Virtual Apps は、公開アプリケーションで登録されている App.exe が終了したことを検知します。

4.しかし、ユーザーセッション上に残っているAppBG.exeは一緒に終了されないため、セッションはアクティブ状態で残ります。

公開アプリケーションのセッションを手動でログオフした場合
公開アプリケーションが起動後、Citrix Receiver / Citrix Workspace app のアイコン上で右クリックすると表示されるコネクションセンターからログオフをする操作を想定して説明します。
※コネクションセンターは、以下のconcentr.exeから直接開くこともできます。
64bit OS:C:\Program Files (x86)\Citrix\ICA Client\concentr.exe
32bit OS:C:\Program Files\Citrix\ICA Client\concentr.exe

明示的にログオフする場合は、User01のセッション上のすべてのプロセスが終了してセッションもログオフされます。
「App」を「✕」ボタンで終了した場合の処理のように、AppBG.exeは残りません。

(4)不正に残るセッションの4つのパターンと考えられる原因
(2)と(3)で、公開アプリケーションを起動した場合にセッションに紐づくプロセスと、公開アプリケーションを「✕」で閉じる場合とログオフする場合の動作の違いを説明しました。
こちらの内容をふまえて、セッションが不正に残るパターンと原因を説明します。
まず、User01で公開アプリケーションの「App」を起動後の以下の状態をベースに説明します。
クライアント端末 | User01で起動した公開アプリケーション「App」の画面が表示されている |
デリバリーコントローラ | Citrix StudioにUser01のセッションがアクティブとして表示されている |
VDAサーバ | User01のセッションが起動されており、Windows、Citrix、Appのプロセスが起動している状態 |

こちらの「App」を「✕」ボタンで閉じた後、セッションが不正に残る場合、以下の4つのパターンが考えられます。
Citrix Studio | VDAサーバ上のUser01の各プロセス残留の有無 | ||||
|
|
| App.exe | AppBG.exe | |
パターン1 | 有 | 有 | 有 | 有 | 有 |
パターン2 | 有 | 有 | 有 | 無 | 有 |
パターン3 | 有 | 有 | 有 | 無 | 無 |
パターン4 | 有 | 無 | 無 | 無 | 無 |
以下にそれぞれのパターンと原因について説明をします。
パターン1の状態と考えられる原因
「App」を「✕」ボタンで閉じた後、本来はApp.exeは終了するはずですが、こちらのプロセスが終了できず、すべてのプロセスが残る状態です。
Citrix Studio | VDAサーバ上のUser01の各プロセス残留の有無 | ||||
| Windows | Citrix | App.exe | AppBG.exe | |
パターン1 | 有 | 有 | 有 | 有 | 有 |

原因は、 「App」のメインプロセス(App.exe)の終了処理中に何かしらの問題が発生して正しく終了できないことが影響している 可能性があります。
対処方法は、次回記事のこちらの内容 をご参照ください。
パターン2の状態と考えられる原因
「App」を「✕」ボタンで閉じた後、App.exeは終了できますが、AppBG.exeが残りセッションがログオフされずに残る状態です。
Citrix Studio | VDAサーバ上のUser01の各プロセス残留の有無 | ||||
| Windows | Citrix | App.exe | AppBG.exe | |
パターン2 | 有 | 有 | 有 | 無 | 有 |

原因は、 バックグラウンドプロセスのAppBG.exeを終了できなかったことが影響している 可能性があります。
対処方法は、次回記事のこちらの内容 をご参照ください。
皆様が使用されているアプリケーションは、「✕」ボタンで画面を閉じるとアプリケーションに関連するプロセスがすべて終了すると思いますが、本記事では、公開アプリケーションのセッションとプロセスの説明の都合で、上記の動作をするサンプルアプリケーションを用意しました。
パターン3の状態と考えられる原因
パターン2の対策でAppBG.exeも終了されるようにしましたが、セッション上のWindowsとCitrixのプロセスが終了できずにセッションが残る状態です。
Citrix Studio | VDAサーバ上のUser01の各プロセス残留の有無 | ||||
| Windows | Citrix | App.exe | AppBG.exe | |
パターン3 | 有 | 有 | 有 | 無 | 無 |

原因は、 CitrixとWindowsのプロセスを終了できなかったことが影響している 可能性ががあります。
対処方法は、次回記事のこちらの内容 をご参照ください。
パターン4の状態と考えられる原因
VDAサーバ上はセッションが残っていませんが、Citrix Studio 上でセッションが表示されたままの状態です。
Citrix Studio | VDAサーバ上のUser01の各プロセス残留の有無 | ||||
| Windows | Citrix | App.exe | AppBG.exe | |
パターン4 | 有 | 無 | 無 | 無 | 無 |

原因は、デリバリーコントローラのユーザーセッションの管理処理が影響してCitrix Studio上にセッション情報が表示されている可能性があります。
対処方法は、次回記事のこちらの内容 をご参照ください。
(5)まとめ
いかがでしたでしょうか。本記事では、App.exeとAppBG.exe で構成される「App」を公開アプリケーションとして起動した場合を例にして以下を説明させて頂きました。
公開アプリケーションとして起動した場合にセッション上に生成されるプロセスは大きく分けて、Windows、Citrix、Appのプロセスになること
セッション上で「App」を「✕」ボタンで閉じて終了する場合とログオフで終了する場合の処理の違い
また、不正セッションが発生する原因について4つのパターンに分けて説明をさせて頂きました。
次回 は、それぞれのパターン別の試して頂きたい対応策をご紹介します。
Citrix製品紹介セミナーも定期開催しています
クライアント仮想化の基礎知識から、仮想化製品「Citrix Virtual Apps and Desktops(XenAppおよびXenDesktop)」の製品概要、導入検討時に注意すべき点などをご紹介します。
今お持ちのお悩みを解決し、Citrix製品をより有効に活用する方法を具体的に学ぶことができる内容になっております。
Citrixの設定・トラブル対処方法の良くあるFAQ10選プレゼント中
アシストのCitrixサポートセンターに良くある設定・トラブル対処方法のFAQ10選の資料を無料プレゼント中です。また、Citrix XenApp/XenDesktopの問題発生時に原因を切り分ける方法も掲載しております。以下のバナーからお気軽にダウンロードください。
著者情報
ビジネスインフラ技術本部 アクセスインフラ技術統括部
川東 健吾
ビジネスインフラ技術本部 アクセスインフラ技術統括部
川東 健吾
関連記事
この記事のハッシュタグ #Session から関連する記事を表示しています。

