Linux Virtual Delivery Agent

一時ホームディレクトリでのログオン

Linux VDA上のマウントポイントが失敗した場合に備えて、一時ホームディレクトリを指定できます。一時ホームディレクトリが指定されている場合、マウントポイントが失敗するとセッションログオン中にプロンプトが表示されます。その後、ユーザーデータは一時ホームディレクトリに保存されます。

次の表は、ホームディレクトリ設定に役立つレジストリキーについて説明しています。

Registry key Description Command
LogNoHome ユーザーがホームディレクトリなしでセッションにログオンできるかどうかを制御します。デフォルト値は1で、「はい」を意味します。値が0に設定されている場合、ホームディレクトリなしでのセッションログオンは無効になります。 create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "LogNoHome" -d "0x00000001" --force
HomeMountPoint Linux VDA上にローカルマウントポイントを設定します。例えば、/mnt/home がマウントポイントの場合、ユーザーのホームディレクトリは /mnt/home/domain/<user_name> となります。環境内のユーザーホームディレクトリとマウントポイントが同じであることを確認してください。この設定は、CheckUserHomeMountPoint が0に設定されている場合にのみ有効になります。 create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_SZ" -v "HomeMountPoint" -d "<A directory where the NFS share is to be mounted>" --force
CheckUserHomeMountPoint Linux VDA上でユーザー固有のホームディレクトリをマウントポイントとして設定するかどうかを制御します。ユーザー固有のホームディレクトリをマウントポイントとして設定したい場合は、値を 1 に設定します。デフォルト値は 0 です。 ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "CheckUserHomeMountPoint" -d "0x00000001" --force
TempHomeDirectoryPath マウントポイントが失敗した場合に備えて、Linux VDA上に一時ホームディレクトリを設定します。デフォルト値は /tmp です。一時ホームディレクトリ設定は、HomeMountPoint および CheckUserHomeMountPoint によって決定されるマウントポイントが利用できない場合にのみ有効になります。ユーザーの一時ホームディレクトリは /tmp/CTXSmf_user_id です。 create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_SZ" -v "TempHomeDirectoryPath" -d "</tmp by default>" --force
CheckMountPointRetryTime マウントが成功したかどうかを1秒に1回の頻度でチェックする回数を設定します。デフォルト値は5です。 ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "CheckMountPointRetryTime" -d "0x000000010" --force
RemoveHomeOnLogoff ユーザーログオフ時に一時ホームディレクトリを削除するかどうかを制御します。1は「はい」、0は「いいえ」を意味します。 create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "RemoveHomeOnLogoff" -d "0x00000000" --force

例: Linux VDAでのホームディレクトリマウント失敗の処理

シナリオ

/mnt/home にあるNFS共有からユーザーホームディレクトリをマウントするように構成されたLinux VDAがあります。時折、ネットワークの問題によりマウントが失敗します。ユーザーが引き続きログオンでき、一時ホームディレクトリが自動的に作成されるようにしたいと考えています。

ステップバイステップ構成

1. マウントポイントの設定

ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_SZ" -v "HomeMountPoint" -d "/mnt/home" --force

これは、ユーザーホームディレクトリ用のNFS共有をマウントする場所をVDAに指示します。

2. 共通マウントポイントの使用 (ユーザー固有ではない)

ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_DWORD" -v "CheckUserHomeMountPoint" -d "0x00000000" --force

  • これにより、ユーザー固有のマウントポイントが無効になり、共有の /mnt/home/domain/ パスが使用されます。ユーザー固有のマウントポイントチェックが必要な場合は、値を1に設定します。

  • 3. 一時ホームディレクトリのフォールバック設定

ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_SZ" -v "TempHomeDirectoryPath" -d "/tmp" --force

マウントが失敗した場合、ユーザーは一時ホームとして /tmp/CTXSmf_ を取得します。

4. マウントチェックを10回再試行 (1秒に1回)

ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_DWORD" -v "CheckMountPointRetryTime" -d "0x0000000A" --force

これにより、システムはフォールバックする前にマウントを10秒間待機します。

5. ログオフ時の一時ホームディレクトリの削除

ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_DWORD" -v "RemoveHomeOnLogoff" -d "0x00000001" --force

セッション終了後に /tmp/CTXSmf_ をクリーンアップします。

動作

ユーザーがログオンし、/mnt/home がマウントされていない場合、システムは次のようになります。

  • マウントを最大10秒間待機します
  • セッションログオン中に、一時ホームフォルダーが使用されていることを示すプロンプトが表示されます
  • /tmp/CTXSmf_ のホームディレクトリが作成された状態でログオンを許可し、ユーザーデータは一時ホームディレクトリに保存されます
  • ログアウト後に一時ディレクトリをクリーンアップします
一時ホームディレクトリでのログオン