Logon with a temp home directory
You can specify a temp home directory for cases where the mount point on the Linux VDA fails. With a temp home directory specified, a prompt shows during a session logon when the mount point fails. User data is then stored under the temp home directory.
The following table describes registry keys that help with your home directory settings.
| Registry key | Description | Command |
|---|---|---|
LogNoHome |
Controls whether users can log on to sessions without a home directory. The default value is 1 and it means yes. If the value is set to 0, session logons without a home directory are disabled. | create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "LogNoHome" -d "0x00000001" --force |
HomeMountPoint |
Sets a local mount point on the Linux VDA. For example, if /mnt/home is the mount point, a user’s home directory is /mnt/home/domain/<user_name>. Make sure that the mount point is the same as the user home directory in your environment. This setting takes effect only when CheckUserHomeMountPoint is set to 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 |
Controls whether to set user-specific home directories as the mount point on the Linux VDA. If you want to set user-specific home directories as the mount point, set the value to 1. The default value is 0. | ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "CheckUserHomeMountPoint" -d "0x00000001" --force |
TempHomeDirectoryPath |
Sets a temp home directory on the Linux VDA in case the mount point fails. The default value is /tmp. The temp home directory setting takes effect only when the mount point determined by HomeMountPoint and CheckUserHomeMountPoint is unavailable. A temp home directory for a user is /tmp/CTXSmf_user_id. |
create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_SZ" -v "TempHomeDirectoryPath" -d "</tmp by default>" --force |
CheckMountPointRetryTime |
Sets the number of checks, at a frequency of once per second, on whether mounting is successful. The default value is 5. | ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "CheckMountPointRetryTime" -d "0x000000010" --force |
RemoveHomeOnLogoff |
Controls whether to remove temp home directories on user logoffs. 1 means yes. 0 means no. | create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "RemoveHomeOnLogoff" -d "0x00000000" --force |
Example: Handling Home Directory Mount Failure on Linux VDA
Scenario
You have a Linux VDA configured to mount user home directories from an NFS share at /mnt/home. Occasionally, the mount fails due to network issues. You want to ensure users can still log in and have a temporary home directory created automatically.
Step-by-Step Configuration
1. Set the mount point
ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_SZ" -v "HomeMountPoint" -d "/mnt/home" --force
This tells the VDA where to mount the NFS share for user home directories.
2. Use common mount point (not user-specific)
ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_DWORD" -v "CheckUserHomeMountPoint" -d "0x00000000" --force
This disables user-specific mount points and uses the shared /mnt/home/domain/ path. If user-specific mount point checking is required, set the value to 1.
3. Set a temporary home directory fallback
ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_SZ" -v "TempHomeDirectoryPath" -d "/tmp" --force
If the mount fails, the user gets /tmp/CTXSmf_ as their temporary home.
4. Retry mount check 10 times (once per second)
ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_DWORD" -v "CheckMountPointRetryTime" -d "0x0000000A" --force
This gives the system 10 seconds to wait for the mount before falling back.
5. Remove temp home directory on logoff
ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix" \ -t "REG_DWORD" -v "RemoveHomeOnLogoff" -d "0x00000001" --force
Cleans up /tmp/CTXSmf_ after the session ends.
Behaviour
When a user logs in and /mnt/home is not mounted, the system:
- Waits up to 10 seconds for the mount
- A prompt shows during a session logon shows temporary home folder is used
- Allows login with home directory
/tmp/CTXSmf_created, user data is then stored under the temp home directory - Cleans up temp directory after logout