Linux Virtual Delivery Agent

Non-domain-joined VDAs

Setup overview

Non-domain joined VDAs are supported for the Citrix Virtual Apps and Desktops service only. To create non-domain joined VDAs in the Citrix Virtual Apps and Desktops service, you must use Machine Creation Services (MCS). The brief steps are:

  1. Create a master image on a template VM where you also install the VDA package. You can use a single image for creating both domain-joined and non-domain-joined VDAs.
  2. Use the master image to create a machine catalog. Select MCS as the machine deployment method and select Non-domain-joined as the identity for machines to be created in the catalog.

For more information, see Use Machine Creation Services (MCS) to create Linux VMs and Machine identities.

Features available for non-domain-joined VDAs

Create local users with specified attributes on non-domain-joined VDAs

When you open a session hosted on a non-domain-joined VDA, the VDA automatically creates a local user with default attributes. The VDA creates the local user based on the user name that you used to log on to Citrix Workspace app. You can also specify user attributes including the user’s User Identifier (UID), Group ID (GID), home directory, and login shell. To use this feature, complete the following steps:

  1. Run the following command to enable the feature:

    /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\LocalMappedAccount" -t "REG_DWORD" -v "CreateWithUidGid" -d "0x00000001" --force
    <!--NeedCopy-->
    
  2. Specify the following attributes in the /var/xdl/getuidgid.sh script under the installation path of the VDA:

    Attribute Required or optional Description
    uid Required A User Identifier (UID) is a number assigned by Linux to each user on the system. It determines which system resources the user can access.
    gid Required A Group Identifier (GID) is a number used to represent a specific group.
    homedir Optional The Linux home directory is a directory for a particular user.
    shell Optional A login shell is a shell given to a user upon login to their user account.

    The following is an example of the getuidgid.sh script:

    Note:

    Make sure that the attributes specified in the script are valid.

    #!/bin/bash
    
    ###############################################################################
    #
    # Citrix Virtual Apps & Desktops For Linux Script: Get uid and gid for the user
    #
    # Copyright (c) Citrix Systems, Inc. All Rights Reserved.
    #
    
    export LC_ALL="en_US.UTF-8"
    
    function get_uid_gid_for_user()
    {
    echo "uid:12345"
    echo "gid:1003"
    echo "homedir:/home/$1"
    echo "shell:/bin/sh"
    }
    
    get_uid_gid_for_user $1<!--NeedCopy-->
    
Non-domain-joined VDAs