一時ホームディレクトリでのログオン
Linux VDA上のマウントポイントが失敗する場合に備えて、一時ホームディレクトリを指定できます。一時ホームディレクトリが指定されている場合、マウントポイントが失敗すると、セッションログオン中にプロンプトが表示されます。ユーザーデータは一時ホームディレクトリに保存されます。
次の表は、ホームディレクトリの設定に役立つレジストリキーについて説明しています。
| レジストリキー | 説明 | コマンド |
|---|---|---|
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でのホームディレクトリマウント失敗の処理
シナリオ
Linux VDAが、/mnt/homeにあるNFS共有からユーザーホームディレクトリをマウントするように構成されています。ネットワークの問題により、マウントが時々失敗します。ユーザーが引き続きログインでき、一時ホームディレクトリが自動的に作成されるようにしたいと考えています。
ステップバイステップ構成
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_が作成された状態でログインを許可し、ユーザーデータは一時ホームディレクトリに保存されます - ログアウト後、一時ディレクトリをクリーンアップします