Product Documentation

安装 SUSE Linux VDA

Apr 25, 2016

您可以基于 SUSE 发行版创建 Linux 虚拟桌面。 准备您的 Linux 虚拟机,在其上安装新的 Linux VDA 软件,配置 Delivery Controller,然后使用 Studio 向用户提供这些桌面。 

有关详细信息,请参阅以下文档。

pdf

安装 SUSE Linux VDA

含有 SUSE Linux VDA 1.2 版安装和设置说明的 PDF 文件。

注意

本文中使用的 Linux shell 命令经确认可在 GNU Bash shell 上使用。

系统要求

Linux 发行版

Linux 虚拟桌面产品支持以下 Linux 发行版:

  • SUSE Linux Enterprise:
    • Desktop 11 Service Pack 4
    • Desktop 12 Service Pack 1
    • Server 11 Service Pack 4
    • Server 12 Service Pack 1
  • Red Hat Enterprise Linux
    • Workstation 6.7
    • Workstation 7.2
    • Server 6.7
    • Server 7.2

注意

在所有情况下,支持的处理器架构均为 x86-64。

XenDesktop

Linux VDA 支持以下版本的 XenDesktop:

  • XenDesktop 7.1
  • XenDesktop 7.5
  • XenDesktop 7.6
  • XenDesktop 7.7
  • XenDesktop 7.8

Linux VDA 与 Windows VDA 的配置过程稍有不同。 但是,所有 Delivery Controller 场都能为 Windows 和 Linux 桌面提供代理服务。

注意

Linux VDA 与 XenDesktop 7.0 或更低版本不兼容。

Citrix Receiver

支持使用以下版本的 Citrix Receiver:

  • Citrix Receiver for Windows 4.4 或更高版本(相当于 v14.4 版本的 wfica32.exe)
  • Citrix Receiver for Linux 13.3 或更高版本
  • Citrix Receiver for Mac OSX 12.1 或更高版本
  • Citrix Receiver for Android 3.8 或更高版本
  • Citrix Receiver for iOS 6.1.4 或更高版本
  • Citrix Receiver for Chrome/HTML5 1.9 版本(只能通过 Access Gateway 使用)

虚拟机管理程序

支持使用以下虚拟机管理程序托管 Linux VDA 客户机虚拟机:

  • XenServer
  • VMware ESX 和 ESXi
  • Microsoft Hyper-V

也支持裸机托管。

提示

有关支持的平台的列表,请参阅虚拟机管理程序提供商的文档。

Active Directory 集成软件包

Linux VDA 支持以下 Active Directory 集成软件包或产品:

  • Samba Winbind
  • Quest Authentication Services v4.1 或更高版本
  • Centrify DirectControl

提示

有关支持的平台的列表,请参阅 Active Directory 集成软件包提供商的文档。

配置 Delivery Controller

XenDesktop 7.7 或更高版本包括为支持 Linux 虚拟桌面而作出的必要更改,但以前的版本需要安装修补程序或更新脚本。 本节将介绍这些产品的安装和验证工作。 

更新 Delivery Controller 配置

对于 XenDesktop 7.6 SP2,请应用 Hotfix Update 2 更新 Linux 虚拟桌面的 Broker。 Hotfix Update 2 可在以下位置找到:

  • CTX142438:Hotfix Update 2 - 适用于 Delivery Controller 7.6(32 位)– 英文版
  • CTX142439:Hotfix Update 2 - 适用于 Delivery Controller 7.6(64 位)– 英文版

对于早期版本的 XenDesktop,可使用名为 Update-BrokerServiceConfig.ps1 的 PowerShell 脚本更新 Broker Service 配置。 此脚本可在以下软件包中找到:

  • citrix-linuxvda-scripts-1.2.0.zip

为场内的每个 Delivery Controller 重复以下步骤:

  1. Update-BrokerServiceConfig.ps1 脚本复制到 Delivery Controller 计算机。
  2. 在本地管理员上下文中打开 Windows PowerShell 控制台。
  3. 浏览到脚本所在的文件夹。
  4. 执行脚本:

.\Update-BrokerServiceConfig.ps1

注意

PowerShell 的默认配置是禁止执行 PowerShell 脚本。 如果脚本运行失败,您可能需要先更改 PowerShell 执行策略,然后再重试:

Set-ExecutionPolicy Unrestricted

Update-BrokerServiceConfig.ps1 脚本会为 Broker Service 配置文件更新 Linux VDA 所需的全新 WCF 端点,然后重新启动 Broker Service。  该脚本会自动确定 Broker Service 配置文件的位置。 同一个目录中会创建原始配置文件的备份,该备份的扩展名为 .prelinux

这些更改不会影响配置为使用同一个 Delivery Controller 场的 Windows VDA 的代理。 因此,一个 Controller 场可同时无缝管理 Windows 和 Linux VDA 的代理会话。

验证 Delivery Controller 配置

要验证所需的配置更改是否已应用于 Delivery Controller,请确认字符串 EndpointLinux 是否在以下文件中出现五次:

       %PROGRAMFILES%\Citrix\Broker\Service\BrokerService.exe.config

从 Windows 命令提示窗口,以本地管理员身份登录:

     cd "%PROGRAMFILES%"\Citrix\Broker\Service\

     findstr EndpointLinux BrokerService.exe.config

准备 Linux 计算机以安装 VDA

启动 YaST 工具

SUSE Linux Enterprise YaST 工具用于对操作系统执行方方面面的配置。

启动基于文本的 YaST 工具:

su -

yast

或者,启动基于 UI 的 YaST 工具:

su -

yast2 &

配置网络

以下几节介绍如何配置 Linux VDA 使用的各种网络设置和服务。 网络配置应通过 YaST 工具执行,而不得使用其他方法,例如 Network Manager。 以下说明介绍的是使用基于 UI 的 YaST 工具的情形;基于文本的 YaST 工具也可以使用,但导航方法稍有不同,对此本文未作介绍。

配置主机名和 DNS

  1. 打开 YaST 网络设置。
  2. 仅限 SLED 12:在 Global Options(全局选项)选项卡上,将 Network Setup Method(网络设置方法)更改为 Wicked Service(Wicked 服务)。
  3. 打开 Hostname/DNS(主机名/DNS)选项卡。
  4. 取消选中 Change hostname via DHCP(通过 DHCP 更改主机名)。
  5. 选中 Assign Hostname to Loopback IP(向环回 IP 分配主机名)。
  6. 编辑以下内容,以反映所作的网络设置:
  • 主机名 – 添加计算机的 DNS 主机名。
  • 域名 – 添加计算机的 DNS 域名。
  • 名称服务器 – 添加 DNS 服务器的 IP 地址。 这通常是 AD 域控制器的 IP 地址。
  • 域搜索列表 – 添加 DNS 域名。

注意

Linux VDA 当前不支持 NetBIOS 名称截断,因此主机名不得超过 15 个字符。

禁用多播 DNS

只有在 SLED 上,默认设置才会启用多播 DNS (mDNS),而这可能会导致名称解析结果不一致。 默认情况下,SLES 上未启用 mDNS,因此无需任何操作。 

要禁用 mDNS,请编辑 /etc/nsswitch.conf,并更改含有以下内容的行:

hosts: files mdns_minimal [NOTFOUND=return] dns

更改为:

hosts: files dns

检查主机名

验证主机名设置是否正确无误:

hostname

这应该仅返回计算机的主机名,而不是完全限定的域名 (FQDN)。

验证 FQDN 设置是否正确无误:

hostname -f

这应该返回计算机的 FQDN。

检查名称解析和服务可访问性

验证能否解析 FQDN 并 Ping 通域控制器和 XenDesktop Delivery Controller:

nslookup domain-controller-fqdn

ping domain-controller-fqdn

nslookup delivery-controller-fqdn

ping delivery-controller-fqdn

如果无法解析 FQDN 或 Ping 不通上述任一计算机,请先检查相关步骤,然后再继续。

配置 NTP 服务

确保 VDA、XenDesktop Controller 和域控制器之间的时钟始终精确同步至关重要。 将 Linux VDA 托管为虚拟机可能会导致时钟偏差问题。 出于此原因,最好使用远程 NTP 服务来保持时间同步。 默认 NTP 设置可能需要作一些更改:

  1. 打开 YaST 的“NTP Configuration”(NTP 配置),然后选择 General Settings(常规设置)选项卡。
  2. 在“Start NTP Daemon”(启动 NTP 守护程序)部分,选中Now and on Boot(现在及引导时)。
  3. 如果存在 Undisciplined Local Clock (LOCAL)(无序本地时钟 (LOCAL))项目,请选择该项目,然后单击 Delete(删除)。
  4. 单击 Add(添加),添加一个 NTP 服务器条目。
  5. 选择 Server Type(服务器类型),然后单击 Next(下一步)。
  6. 在“Address”(地址)字段输入 NTP 服务器的 DNS 名称。 此服务通常托管在 Active Directory 域控制器上。
  7. 将“Options”(选项)字段保持不变。
  8. 单击 Test(测试)检查 NTP 服务是否可访问。
  9. 在随后的一系列窗口中一直单击 OK(确定)保存更改。

注意

对于 SLES 12 实施,如果 NTP 守护程序启动失败,这可能是 SUSE 上与 AppArmor 策略有关的一个已知问题造成的。 有关详细信息,请参照此处的解决方案。

安装 Linux VDA 依赖软件包

适用于 Suse Linux Enterprise 的 Linux VDA 软件依赖于以下软件包:

  • PostgreSQL
    • SLED/SLES 11:9.1 或更高版本
    • SLED/SLES 12:9.3 或更高版本
  • OpenJDK 1.7.0
  • OpenMotif Runtime Environment 2.3.1 或更高版本
  • Cups
    • SLED/SLES 11:1.3.7 或更高版本
    • SLED/SLES 12:1.6.0 或更高版本
  • Foomatic 筛选器 
    • SLED/SLES 11:3.0.0 或更高版本
    • SLED/SLES 12:1.0.0 或更高版本
  • ImageMagick
    • SLED/SLES 11:6.4.3.6 或更高版本
    • SLED/SLES 12:6.8 或更高版本

添加存储库

一些必需的软件包在某些 Suse Linux Enterprise 存储库中不可用:

  • SLED 11:PostgreSQL 在 SLES 11 中可用,但在 SLED 11 中不可用。
  • SLES 11:OpenJDK 和 OpenMotif 在 SLED 11 中可用,但在 SLES 11 中不可用。
  • SLED 12:PostgreSQL 在 SLES 12 中可用,但在 SLED 12 中不可用。 ImageMagick 可通过 SLE 12 SDK ISO 或联机存储库提供。
  • SLES 12:没有问题;所有软件包都可用。 ImageMagick 可通过 SLE 12 SDK ISO 或联机存储库提供。

要解决此问题,建议的方法是从正在安装的 SLE 的替换版本的介质中获取缺失的软件包。 也就是说,从 SLES 介质中获取 SLED 安装缺失的软件包,以及从 SLED 介质中获取 SLES 安装缺失的软件包。 下述方法会装载 SLED 和 SLES ISO 介质文件并添加存储库。

SLED 11


sudo mkdir -p /mnt/sles

sudo mount -t iso9660 \

           path-to-iso/SLES-11-SP3-DVD-x86_64-GM-DVD1.iso /mnt/sles

sudo zypper ar -f /mnt/sles sles

SLES 11

sudo mkdir -p /mnt/sled

sudo mount -t iso9660 \

           path-to-iso/SLED-11-SP3-DVD-x86_64-GM-DVD1.iso /mnt/sled

sudo zypper ar -f /mnt/sled sled

SLED 12

sudo mkdir -p /mnt/sles

sudo mount -t iso9660 \

           path-to-iso/SLES-12-DVD-x86_64-GM-DVD1.iso /mnt/sles

sudo zypper ar -f /mnt/sles sles

SLED/SLES 12

sudo mkdir -p /mnt/sdk

sudo mount -t iso9660 \

           path-to-iso/SLE-12-SDK-DVD-x86_64-GM-DVD1.iso /mnt/sdk

sudo zypper ar -f /mnt/sdk sdk

安装 Kerberos 客户端

安装 Kerberos 客户端,在 Linux VDA 与 XenDesktop Controller 之间实现双向身份验证:

sudo zypper install krb5-client

Kerberos 客户端配置依赖于所使用的 Active Directory 集成方法,后者将在下文说明。

安装 OpenJDK

Linux VDA 依赖于 OpenJDK 1.7.0。

提示

为避免问题,请确保仅安装 1.7.0 版本的 OpenJDK。 删除系统上的所有其他版本 Java。

SLED

在 SLED 上,Java 运行时环境应该已随操作系统一起安装。 使用以下命令进行确认:

       sudo zypper info java-1_7_0-openjdk

如果状态显示为过时,请更新为最新版本:

sudo zypper update java-1_7_0-openjdk

检查 Java 版本:

java -version

SLES

在 SLES 上,您需要安装 Java 运行时环境:

sudo zypper install java-1_7_0-openjdk

检查 Java 版本:

java -version

安装 PostgreSQL

SLED/SLES 11

安装软件包:

sudo zypper install libecpg6

sudo zypper install postgresql?init

sudo zypper install postgresql91

sudo zypper install postgresql91?server

sudo zypper install postgresql?jdbc

此时需要执行一些安装后步骤,以便初始化数据库服务,并确保 PostgreSQL 在引导时启动:

sudo /sbin/insserv postgresql

sudo /etc/init.d/postgresql restart

SLED/SLES 12

安装软件包:

sudo zypper install postgresql-init

sudo zypper install postgresql93-server

sudo zypper install postgresql-jdbc

此时需要执行安装后步骤,以便初始化数据库服务,并确保 PostgreSQL 在引导时启动:

sudo systemctl enable postgresql

sudo systemctl restart postgresql

数据库文件将驻留在 /var/lib/pgsql/data 下。

安装 OpenMotif 运行时环境

Linux VDA 要求使用 motif 或 openmotif 软件包,具体取决于发行版。

SLED/SLES 11

安装软件包:

sudo zypper install openmotif-libs

SLED/SLES 12

安装软件包:

sudo zypper install motif

安装打印支持

Linux VDA 要求使用 cups 和 foomatic 筛选器。

SLED/SLES 11

安装软件包:

sudo zypper install cups 

sudo zypper install foomatic-filters

SLED/SLES 12

安装软件包:

sudo zypper install cups

sudo zypper install cups-filters-foomatic-rip

安装 ImageMagick

安装 ImageMagick 软件包:

sudo zypper install ImageMagick

删除存储库

安装依赖的软件包后便可以删除之前设置的替代版本存储库并卸载介质:

SLED 11

删除以下软件包:

sudo zypper rr sles

sudo umount /mnt/sles

sudo rmdir /mnt/sles

SLES 11

删除以下软件包:

sudo zypper rr sled

sudo umount /mnt/sled

sudo rmdir /mnt/sled

SLED 12

删除以下软件包:

sudo zypper rr sles

sudo umount /mnt/sles

sudo rmdir /mnt/sles

SLED/SLES 12

删除以下软件包:

sudo zypper rr sdk

sudo umount /mnt/sdk

sudo rmdir /mnt/sdk

准备 Linux VM 以使用虚拟机管理程序

在支持的虚拟机管理程序上将 Linux VDA 当作虚拟机运行时,需要作出一些更改。 根据使用的虚拟机管理程序平台作出以下更改。 如果正在裸机硬件上运行 Linux 计算机,则无需作出任何更改。

修复 Citrix XenServer 上的时间同步问题

如果启用了 XenServer 时间同步功能,则在每个半虚拟化 Linux VM 中,您会发现 NTP 和 XenServer 都在尝试管理系统时钟。 为避免时钟与其他服务器不同步,每个 Linux 客户机中的系统时钟都必须与 NTP 同步。 这要求禁用主机时间同步。 无需在 HVM 模式下进行任何更改。

在某些 Linux 发行版中,如果正在运行半虚拟化 Linux 内核,并安装了 XenServer Tools,您可以检查 XenServer 时间同步功能是否存在,以及是否已在 Linux VM 中启用:

su -

cat /proc/sys/xen/independent_wallclock

此时会返回以下任一项:

  • 0 - 时间同步功能已启用,并需要禁用。
  • 1 - 时间同步功能已禁用,无需采取任何操作。

如果 /proc/sys/xen/indepent_wallclock 文件不存在,则无需执行以下步骤。

如果已启用,请向该文件写入 1 以禁用时间同步功能:

sudo echo 1 > /proc/sys/xen/independent_wallclock

要使此更改成为永久更改,并在重新启动后仍然有效,请编辑 /etc/sysctl.conf 文件并添加以下行:

xen.independent_wallclock = 1

要验证这些更改,请重新启动系统:

reboot

重新启动后,请检查此设置是否正确无误:

su -

cat /proc/sys/xen/independent_wallclock

此时应返回值 1。

在 Microsoft Hyper-V 上修复时间同步问题

安装了 Hyper-V Linux 集成服务的 Linux VM 可利用 Hyper-V 时间同步功能来使用主机操作系统的时间。 为确保系统时钟始终精确可靠,此功能应随 NTP 服务一同启用。

从管理操作系统中:

  1. 打开 Hyper-V 管理器控制台。 
  2. 对于 Linux VM 的设置,请选择 Integration Services(集成服务)。 
  3. 确保已选择 Time synchronization(时间同步)。 

注意

此方法与 VMware 和 XenServer 不同,这两种产品会禁用主机时间同步功能,以免与 NTP 发生冲突。 Hyper-V 时间同步可以与 NTP 时间同步共存并互补。

修复 ESX 和 ESXi 上的时间同步问题

如果启用了 VMware 时间同步功能,则在每个半虚拟化 Linux VM 中,您会发现 NTP 和虚拟机管理程序都在尝试同步系统时钟。 为避免时钟与其他服务器不同步,每个 Linux 客户机中的系统时钟都必须与 NTP 同步。 这要求禁用主机时间同步。

如果正在运行安装了 VMware Tools 的半虚拟化 Linux 内核:

  1. 打开 vSphere Client。
  2. 编辑 Linux VM 设置。
  3. Virtual Machine Properties(虚拟机属性)对话框中,打开 Options(选项)选项卡。
  4. 选择“VMware Tools”。
  5. Advanced(高级)框中,取消选中 Synchronize guest time with host(与主机同步客户机时间)。

将 Linux 计算机添加至 Windows 域

将 Linux 计算机添加至 XenDesktop for Linux 支持的 Active Directory 域有多种方法:

  • Samba Winbind
  • Quest Authentication Service
  • Centrify DirectControl

根据所选的方法,按以下说明执行操作。

Samba Winbind

加入 Windows 域

这需要您的域控制器可访问,而且您的 Active Directory 用户帐户有权将计算机添加到域:

1. 打开 YaST 的“Windows Domain Membership”(Windows 域成员身份)。

2. 执行以下更改:

  • 将域或工作组设为 Active Directory 域的名称或域控制器的 IP 地址。 确保输入的域为大写。
  • 选中“Also Use SMB information for Linux Authentication”(同时为 Linux 身份验证使用 SMB 信息)。
  • 选中“Create Home Directory on Login”(在登录时创建主目录)。
  • 选中“Single Sign-on for SSH”(为 SSH 使用单点登录)。
  • 确保未选中“Offline Authentiation”(脱机身份验证)。 此选项与 Linux VDA 不兼容。

3. 单击“OK”(确定)。 如果提示安装某些软件包,请单击“Install”(安装)。

4. 如果找到域控制器,则会询问您是否要加入域。 单击是。 

5. 出现提示时,输入有权将计算机添加至域的域用户的凭据,然后单击“OK”(确定)。 

6. 此时会显示一条消息,说明添加成功。 

7. 如果提示安装某些 samba 和 krb5 软件包,请单击“Install”(安装)。 

YaST 可能会说明这些更改需要重新启动一些服务或需要重新启动计算机。 建议执行重新启动:

su -

reboot

仅限 SLED/SLES 12:修补 Kerberos 凭据缓存名称

SLED/SLES 12 已将默认 Kerberos 凭据缓存名称规范从常用的 FILE:/tmp/krb5cc_%{uid} 更改为 DIR:/run/user/%{uid}/krb5cc。 这种全新 DIR 缓存方法与 Linux VDA 不兼容,必须进行手动更改。 以 root 用户身份,编辑 /etc/krb5.conf 并在 [libdefaults] 部分下添加以下设置(如果尚未设置):

default_ccache_name = FILE:/tmp/krb5cc_%{uid}

验证域成员身份

XenDesktop Controller 要求所有 VDA 计算机(不论是 Windows 还是 Linux)都要在 Active Directory 中有一个计算机对象。

使用 Samba 的 net ads 命令验证计算机已加入域:

sudo net ads testjoin

使用以下命令验证其他域和计算机对象信息:

sudo net ads info

验证 Kerberos 配置 

要验证 Kerberos 已正确配置为可与 Linux VDA 配合使用,请检查系统 keytab 文件是否已创建并含有有效密钥:

sudo klist –ke

此时应显示各种主体名称与密码套件组合可用的密钥列表。 运行 Kerberos kinit 命令,使用这些密钥向域控制器验证计算机的身份:

sudo kinit -k MACHINE\$@REALM

计算机和领域名称必须指定为大写,而美元符号 ($) 必须使用反斜杠 (\) 进行转义,以免发生 shell 替换。 在某些环境中,DNS 域名与 Kerberos 领域名称不同;请确保使用领域名称。 如果此命令成功运行,则不会显示任何输出。

使用以下命令验证计算机帐户的 TGT 票据已缓存:

sudo klist

使用以下命令检查计算机帐户详细信息:

sudo net ads status

验证用户身份验证 

使用 wbinfo 工具验证是否可向域验证域用户的身份:

wbinfo --krb5auth=domain\\username%password

这里指定的域为 AD 域名,而不是 Kerberos 领域名称。 对于 bash shell,必须使用另一个反斜杠对反斜杠 (\) 字符进行转义。 此命令会返回一条成功或失败消息。

要验证 Winbind PAM 模块是否配置正确,请使用以前未曾登录计算机的域用户帐户在本地登录:

ssh localhost -l domain\\username

id -u

检查是否为 id -u 命令返回的 uid 创建了对应的 Kerberos 凭据缓存文件:

ls /tmp/krb5cc_uid

检查用户 Kerberos 凭据缓存中的票据是否有效且未过期:

klist

退出会话:

exit

直接登录 Gnome 或 KDE 控制台也可执行类似测试。

Quest Authentication Service

在域控制器上配置 Quest

这里假定您已在 Active Directory 域控制器上安装并配置了 Quest 软件,而且已获得管理权限,有权在 Active Directory 中创建计算机对象。

允许域用户登录 Linux VDA 计算机

对于需要在 Linux VDA 计算机上建立 HDX 会话的每个域用户:

  1. 在 Active Directory 用户和计算机管理控制台中,为该用户帐户打开 Active Directory 用户属性。
  2. 选择“Unix Account”(Unix 帐户)选项卡。
  3. 选中“Unix-enabled”(已启用 Unix)。
  4. 将“Primary GID Number”(首选 GID 编号)设为实际域用户组的组 ID。

注意

这些说明相当于设置域用户,以便他们可以使用控制台、RDP、SSH 或任何其他远程协议进行登录。

在 Linux VDA 上配置 Quest 

配置 VAS 守护程序

自动续订 Kerberos 票据功能需要启用并断开,而身份验证(脱机登录)功能需要禁用:

sudo /opt/quest/bin/vastool configure vas vasd \

auto-ticket-renew-interval 32400

sudo /opt/quest/bin/vastool configure vas vas_auth \

allow-disconnected-auth false

这会将续订间隔设为 9 小时(32400 秒),即比默认的 10 小时票据生命周期短 1 小时。 请在 Kerberos 票据生命周期较短的系统上设置较低的值。

配置 PAM 和 NSS

Quest 要求将 PAM 和 NSS 手动配置为允许域用户通过 HDX 和其他服务(例如 su、ssh 和 RDP)进行登录。 配置 PAM 和 NSS:

sudo /opt/quest/bin/vastool configure pam

sudo /opt/quest/bin/vastool configure nss

加入 Windows 域

使用 Quest vastool 命令将 Linux 计算机加入 Active Directory 域:

sudo /opt/quest/bin/vastool -u user join domain-name

用户为有权将计算机加入 Active Directory 域的域用户。 域名为域的 DNS 名称,例如 example.com。

验证域成员身份

XenDesktop Controller 要求所有 VDA 计算机(不论是 Windows 还是 Linux)都要在 Active Directory 中有一个计算机对象。 验证 Quest 加入的 Linux 计算机是否位于域中:

sudo /opt/quest/bin/vastool info domain

如果计算机已加入域,则会返回域名。 如果未加入,则会显示以下错误:

ERROR: No domain could be found.

ERROR: VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm

default_realm not configured in vas.conf. Computer may not be joined to domain

验证用户身份验证

要验证 Quest 能否使用 PAM 对域用户进行身份验证,请使用以前未曾登录计算机的域用户帐户进行登录:

ssh localhost -l domain\\username

id -u

检查是否为 id -u 命令返回的 uid 创建了对应的 Kerberos 凭据缓存文件:

ls /tmp/krb5cc_uid

检查用户 Kerberos 凭据缓存中的票据是否有效且未过期:

/opt/quest/bin/vastool klist

退出会话:

exit

直接登录 Gnome 或 KDE 控制台也可执行类似测试。

Centrify DirectControl

加入 Windows 域

安装 Centrify DirectControl Agent 后,请使用 Centrify adjoin 命令将 Linux 计算机加入 Active Directory 域:

su – 

adjoin -w -V -u user domain-name

user 参数为有权将计算机加入 Active Directory 域的任何 Active Directory 域用户。 domain-name 参数为将 Linux 计算机加入到的域的名称。

验证域成员身份

XenDesktop Controller 要求所有 VDA 计算机(不论是 Windows 还是 Linux)都要在 Active Directory 中有一个计算机对象。 验证 Centrify 加入的 Linux 计算机是否位于域中:

su –

adinfo

检查 Joined to domain 值是否有效以及 CentrifyDC mode 是否返回了 connected。 如果模式仍然卡在启动状态,则表明 Centrify 客户端遇到了服务器连接或身份验证问题。

使用以下命令可获得更全面的系统和诊断信息:

adinfo --sysinfo all

adinfo –diag

测试与各种 Active Directory 和 Kerberos 服务的连接:

adinfo --test

配置 Linux 计算机目录和交付组

将 Linux 计算机加入到计算机目录

创建计算机目录和添加 Linux VDA 计算机的过程与传统的 Windows VDA 方法十分类似。 有关如何完成这些任务的更全面说明,请参阅联机 Citrix 产品文档

创建含有 Linux VDA 计算机的计算机目录时会面临一些限制,这不同于为 Windows VDA 计算机创建计算机目录的过程:

  • 对于操作系统,请:
    • 为托管共享桌面交付模型,选择 Window 服务器操作系统或服务器操作系统选项。 
    • 为 VDI 专用桌面交付模型,选择 Windows 桌面操作系统或桌面操作系统选项。
  • 确保计算机未执行电源管理设置。
  • 由于 Linux VDA 不支持 PVS 和 MCS,请选择 Another service or technology(其他服务或技术)(现有映像)部署方法。
  • 请勿在同一个计算机目录中混合使用 Linux 和 Windows VDA 计算机。

注意

早期版本的 Citrix Studio 不支持“Linux 操作系统”的概念;但是,选择 Windows 服务器操作系统或服务器操作系统选项等同于使用托管共享桌面交付模型。 选择 Windows 桌面操作系统或桌面操作系统选项等同于使用 XenDesktop 每计算机一个用户交付模型。

有关创建计算机目录的 Citrix 文档如下所列:

更低版本的 XenDesktop 不支持使用。

提示

如果计算机离开后又重新加入 Active Directory 域,则需要先删除计算机,然后再将其重新添加到计算机目录。

添加交付组

创建交付组及添加含有 Linux VDA 计算机的计算机目录的过程与 Windows VDA 计算机几乎相同。 有关如何完成这些任务的更全面说明,请参阅联机 Citrix 产品文档。

创建含有 Linux VDA 计算机目录的交付组时会面临以下限制:

  • 对于交付类型,请选择“桌面”。 Linux VDA 计算机不支持应用程序交付。
  • 确保所选的 AD 用户和组已正确配置,可以登录到 Linux VDA 计算机。
  • 请勿允许未经身份验证的(匿名)用户登录。
  • 请勿在交付组中混入含有 Windows 计算机的计算机目录。

有关创建交付组的 Citrix 文档如下所列:

更低版本的 XenDesktop 不支持使用。

安装 Linux VDA 软件

卸载旧版本

如果之前安装的 Linux VDA 版本低于 v1.0,则应先卸载该版本,然后再安装新版本。

停止 Linux VDA 服务:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop

卸载软件包:

sudo rpm -e XenDesktopVDA

Important

不支持将技术预览版升级至 v1.0、v1.1 或 v1.2。

安装 Linux VDA

使用 RPM 软件包管理器安装 Linux VDA 软件:

对于 SuSE 11

sudo rpm -i XenDesktopVDA-1.2.0.282-1.x86_64.rpm

对于 SuSE 12

sudo rpm -i XenDesktopVDA-1.2.0.282-1.x86_64.rpm

Important

安装 Linux VDA 后,Citrix 建议运行以下命令来提高安全性:

sudo sed -i '/ip addr | awk /a xhost "-LOCAL:"' /usr/local/bin/ctxsession.sh

升级 Linux VDA

如果之前安装了 Linux VDA v1.1,请使用 RPM 软件包管理器升级 Linux VDA 软件:

对于 SuSE 11

sudo rpm -U XenDesktopVDA-1.2.0.282-1.x86_64.rpm

对于 SuSE 12

sudo rpm -U XenDesktopVDA-1.2.0.282-1.x86_64.rpm

Important

升级 Linux VDA 后,Citrix 建议运行以下命令来提高安全性:

sudo sed -i '/ip addr | awk /a xhost "-LOCAL:"' /usr/local/bin/ctxsession.sh

配置 Linux VDA

安装软件包后,您需要运行 ctxsetup.sh 脚本来配置 Linux VDA。 如果升级了软件包,您需要运行 ctxsetup.sh 脚本来完成升级操作。 执行任何更改前,此脚本会验证环境,确保所有依赖项都已安装。 如果需要,您也可以随时重新运行此脚本来更改设置。

该脚本可在出现提示时手动运行,也可使用预配置的响应自动运行。 继续操作前,请查看此脚本的帮助信息:

sudo /usr/local/sbin/ctxsetup.sh –help

提示配置

运行会提示各种问题的手动配置:

sudo /usr/local/sbin/ctxsetup.sh

自动配置

自动安装时,设置脚本所需的选项可由环境变量提供。 如果所需的所有变量都存在,则脚本不会提示用户提供任何信息,从而通过脚本完成安装过程。

支持的环境变量包括:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N - Virtual Delivery Agent 支持使用 DNS CNAME 记录指定 Delivery Controller 名称。 这通常设为 N。
  • CTX_XDL_DDC_LIST = list-ddc-fqdns – Virtual Delivery Agent 要求提供由空格分隔的 Delivery Controller 完全限定的域名
  • (FQDN) 列表来向 Delivery 进行注册。 必须至少指定一个 FQDN 或 CNAME 别名。
  • CTX_XDL_VDA_PORT = port-number – Virtual Delivery Agent 会使用 TCP/IP 端口与 Delivery Controller 通信。 这通常是端口 80。
  • CTX_XDL_REGISTER_SERVICE = Y | N - Linux 虚拟桌面服务支持在引导期间启动。 这通常设为 Y。
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N – Linux 虚拟桌面服务要求允许传入网络连接通过系统防火墙。 您可以在系统防火墙中自动为 Linux 虚拟桌面打开所需端口(默认端口 80 和 1494)。 这通常设为 Y。
  • CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 – Virtual Delivery Agent 要求使用 Kerberos 配置设置对 Delivery Controller 进行身份验证。 Kerberos 配置根据系统上已安装和已配置的 Active Directory 集成工具确定。 指定要使用且受支持的 Active Directory 集成方法:
    • 1 - Samba Winbind
    • 2 - Quest Authentication Service
    • 3 - Centrify DirectControl
  • CTX_XDL_HDX_3D_PRO= Y | N – Linux 虚拟桌面支持 HDX 3D Pro,这是一系列图形加速技术,旨在优化富图形应用程序的虚拟化水平。 HDX 3D Pro 要求安装兼容的 NVIDIA Grid 图形卡。 如果选择了 HDX 3D Pro,则需要为 VDI 桌面(单会话)模式配置 Virtual Delivery Agent –(即 CTX_XDL_VDI_MODE=Y)。 这在 SUSE 上不受支持。 确保将此值设为 N。
  • CTX_XDL_VDI_MODE= Y | N - 将计算机配置为专用桌面交付模型 (VDI) 还是托管共享桌面交付模型。 对于 HDX 3D Pro 环境,此变量需要设置为 Y。 这通常设为 N。
  • CTX_XDL_SITE_NAME= dns-name – Virtual Delivery Agent 会使用 DNS 发现 LDAP 服务器,从而查询 LDAP 服务记录。 要将 DNS 搜索结果限制为本地站点,可能需要指定 DNS 站点名称。 此变量通常为空 [none]。
  • CTX_XDL_LDAP_LIST= list-ldap-servers – 默认情况下,Virtual Delivery Agent 会通过查询 DNS 来发现 LDAP 服务器,但如果 DNS 无法提供 LDAP 服务记录,您可以提供一个 LDAP 完全限定的域名 (FQDN) 和 LDAP 端口(例如 ad1.mycompany.com:389)的列表,并以空格分隔。 此变量通常为空 [none]。
  • CTX_XDL_SEARCH_BASE= search-base – 默认情况下,Virtual Delivery Agent 会使用一个搜索基础来查询 LDAP,该搜索基础会设置为 Active Directory 域的根(例如 DC=mycompany,DC=com),但是,要提高搜索性能,您也可以指定一个搜索基础(例如 OU=VDI,DC=mycompany,DC=com)。 此变量通常为空 [none]。
  • CTX_XDL_START_SERVICE = Y | N - 在完成 Linux VDA 配置后,是否启动 Linux VDA 服务。 这通常设为 Y。

注意

HDX 3D Pro 当前不适用于 SUSE。

设置环境变量并运行配置脚本:

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N

export CTX_XDL_DDC_LIST=list-ddc-fqdns

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y|N

export CTX_XDL_ADD_FIREWALL_RULES=Y|N

export CTX_XDL_AD_INTEGRATION=1|2|3

export CTX_XDL_HDX_3D_PRO=Y|N

export CTX_XDL_VDI_MODE=Y|N

export CTX_XDL_SITE_NAME=dns-name

export CTX_XDL_LDAP_LIST=list-ldap-servers

export CTX_XDL_SEARCH_BASE=search-base

export CTX_XDL_START_SERVICE=Y|N

sudo -E /usr/local/sbin/ctxsetup.sh

您必须为 sudo 提供 -E 选项,以便将现有环境变量传递给它所创建的新 shell。 Citrix 建议使用上述命令并在第一行加上 #!/bin/bash 来创建 shell 脚本文件。

另外,也可以使用一个命令来指定所有参数:

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST=list-ddc-fqdns \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=1|2|3 \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST=list-ldap-servers \

CTX_XDL_SEARCH_BASE=search-base \

CTX_XDL_START_SERVICE=Y|N \

/usr/local/sbin/ctxsetup.sh

删除配置更改

在某些情形下,您可能需要删除 ctxsetup.sh 脚本对配置所作的更改,而不卸载 Linux VDA 软件包。

继续操作前,请查看此脚本的帮助信息:

sudo /usr/local/sbin/ctxcleanup.sh --help

删除配置更改:

sudo /usr/local/sbin/ctxcleanup.sh

Important

此脚本会从数据库删除所有配置数据,从而使 Linux VDA 无法使用。

配置日志

ctxsetup.shctxcleanup.sh 脚本会在控制台上显示错误,并将详细信息写入配置日志文件:

/tmp/xdl.configure.log

重新启动 Linux VDA 服务,确保更改生效。

运行 VDA 软件

使用 ctxsetup.sh 脚本配置 Linux VDA 后,请使用以下命令控制 Linux VDA。

启动 Linux VDA

启动 Linux VDA 服务:

sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start

停止 Linux VDA

停止 Linux VDA 服务:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop

重新启动 Linux VDA

重新启动 Linux VDA 服务:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start

检查 Linux VDA 状态

检查 Linux VDA 服务的运行状态:

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status

卸载 Linux VDA 软件

查询 Linux VDA 安装状态

检查 Linux VDA 是否安装并查看已安装软件包的版本:

rpm -q XenDesktopVDA

查看更多详细信息:

rpm –qi XenDesktopVDA

卸载 Linux VDA

卸载 Linux VDA 软件包:

sudo rpm -e XenDesktopVDA

注意

卸载 Linux VDA 软件会删除关联的 PostgreSQL 和其他配置数据。 但是,在安装 Linux VDA 前设置的 PostgreSQL 软件包和其他依赖软件包不会遭到删除。

删除依赖软件包

本文未介绍包括 PostgreSQL 在内的依赖软件包的删除操作。

故障排除

确认 Linux 计算机已准备妥当

最常见的问题都与 Linux 计算机配置不当(主要是网络、NTP 时间服务器配置或 Active Directory 域成员身份配置不当)有直接关系。 修复 Linux 计算机配置通常可以解决 VDA 软件问题。

配置日志记录和跟踪

Broker 代理和 HDX Service 会将日志记录到 syslog。 Citrix 支持人员会提供一套工具,可用来在支持期间跟踪更多信息。

HDX Service 日志记录

HDX Service 的现成配置即可将消息记录到 syslog,因此无需进一步配置。

Broker 代理日志记录 

Broker 代理(也称为 ctxvda 服务)会通过网络套接字将日志数据写入 syslog。 这可能并未现成配置妥当。 要启用 Broker 代理将日志记录到 syslog 的功能,您需要执行以下配置:

SLED/SLES 11

编辑 /etc/syslog-ng/syslog-ng.conf 文件,并在 s_sys 部分添加以下行:

udp(ip(127.0.0.1) port(514));

保存并关闭 syslog-ng.conf 文件。 重新启动 syslog-ng 服务,应用更改:

sudo service syslog-ng restart

SLED/SLES 12

编辑 /etc/rsyslog.conf 文件并添加以下行:

$ModLoad imudp

$UDPServerRun 514

保存并关闭 rsyslog.conf 文件。 重新启动 rsyslog 服务,应用更改:

sudo service rsyslog restart

HDX 会话无法启动时的解决方法

确保不存在任何孤立进程,以免其阻碍新会话启动:

sudo pkill -9 ctxhdx

sudo pkill -9 ctxgfx

sudo pkill -9 ctxlogin

sudo pkill -9 ctxvfb

重新启动 Linux VDA 服务并重新尝试连接。

确认关键目录和文件的所有权和权限

检查以下目录和文件的文件所有权和权限:

  • /var - Owner: root, Group: root, Permissions: 0755 
  • /var/xdl - Owner: ctxsrvr, Group: ctxadm, Permissions: 0755 
  • /var/xdl/.isacagent - Owner: root, Group: root, Permissions: 0666 
  • /var/xdl/.winsta - Owner: ctxsrvr, Group: ctxadm, Permissions: 0777 
  • /var/xdl/vda - Owner: root, Group: root, Permissions: 0755

听不到声音

确认运行 Citrix Receiver 的设备以及 Linux 桌面的音量控件未设为静音或未设为较低的音量。

确认在 Linux VDA 上启用了音频。 使用 ctxreg 工具查询配置项目 fDisableCam 的值: 

sudo ctxreg read -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -v fDisableCam

值 0x1 表示禁用音频。 要启用音频,请将 fDisableCam 设置为 0x0:  

sudo ctxreg update -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -v fDisableCam  -d 0x00000000

如果仍听不到声音,请检查 pulseaudio 是否加载了 Citrix 音频接收器。 此 PulseAudio 模块会在会话启动时加载到 pulseaudio 守护程序中。 使用 pacmd 工具检查 Citrix 音频接收器是否已加载:

pacmd list-sinks

如果 Citrix 音频接收器已加载,则输出应为:

name:

driver:

如果 Citrix 音频接收器未加载,请终止 ctxaudio 进程并重新启动该进程。

无法录制音频

检查是否在 Linux VDA 上启用了音频以及是否在 ICA 客户端上启用了音频录制。 如果仍无法录制音频,请检查 pulseaudio 是否加载了 Citrix 音频源。 如果 ICA 客户端上启用了音频录制,此 PulseAudio 模块会在会话启动时加载到 pluseaudio 守护程序。 使用 pacmd 工具检查 Citrix 音频源是否已加载:

pacmd list-sources

如果 Citrix 音频源已加载,则输出应为:

name:

driver:

如果 Citrix 音频源未加载,请终止 ctxaudio 进程并重新启动该进程。

无法打印

打印不正常时要检查若干项目。 打印守护程序是一个按会话进程,应在会话期间内运行。 检查打印守护程序是否正在运行。

ps –ef | grep ctxlpmngt

如果 ctxlpmngt 进程未在运行,请从命令行手动启动 ctxlpmngt。

如果仍无法打印,请在 CUPS 框架中检查下一个项目。 ctxcups 服务用于打印机管理,并负责与 Linux CUPS 框架通信。 此进程在每个计算机上有一个,可通过以下方式检查:

service ctxcups status

如果服务未在运行,请手动启动:

service ctxcups start

打印输出乱码

输出乱码可能是打印机驱动程序不兼容造成的。 系统中为每个用户提供了驱动程序配置,该配置可通过编辑 ~/.CtxlpProfile 配置文件进行配置。

[DEFAULT_PRINTER]

printername=

model=

ppdpath=

drivertype=

printername 字段含有当前客户端默认打印机的名称。 这是一个只读值,不应进行编辑。

Important

不应同时设置 ppdpathmodeldrivertype 字段,因为映射的打印机只能使用其中一个字段。 

如果通用打印机驱动程序与客户端打印机不兼容,则本机打印机驱动程序的型号可使用 model= 选项配置。 打印机的当前型号名称可使用 lpinfo 命令查找。

lpinfo –m

xerox/ph3115.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

xerox/ph3115fr.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

xerox/ph3115pt.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

随后,可设置与打印机匹配的型号:

Model=xerox/ph3115.ppd.gz

如果通用打印机驱动程序与客户端打印机不兼容,则可以配置本机打印机驱动程序的 ppd 文件路径。 ppdpath 值为本机打印机驱动程序文件的绝对路径。 

例如,/home/tester/NATIVE_PRINTER_DRIVER.ppd 下就有一个 ppd 驱动程序。 

ppdpath=/home/tester/NATIVE_PRINTER_DRIVER.ppd

Citrix 提供了三种类型的通用打印机驱动程序(postscript、pcl5 和 pcl6)。 如果本机打印机驱动程序不可用,则可在驱动程序类型中配置这些驱动程序。 

例如,如果客户端默认打印机驱动程序类型为 PCL5。

drivertype=pcl5

注意

Citrix Receiver for Mac 和 Citrix Receiver for Linux 仅支持 Postscript 打印机,因此 PCL5 和 PCL6 通用打印机驱动程序不适用。 在此情况下,本机打印机驱动程序的 ppdpath 或型号应设为非 Postscript 打印机。

已知问题

Citrix Receiver for Android CAPS LOCK 状态可能会在会话漫游时反转

与 Citrix Receiver for Android 的现有连接漫游时,CAPS LOCK 状态可能会丢失。 解决方法是使用扩展键盘上的 shift 键切换大小写。

使用 Citrix Receiver for Mac 连接至 Linux VDA 时,含 ALT 的快捷键并非总能使用

默认情况下,Citrix Receiver for Mac 会为左侧和右侧 Options/Alt 键发送 AltGr。 此设置可在 Citrix Receiver 设置内更改,但在不同应用程序上的更改效果各异。

在 SuSE Linux Enterprise Desktop 11 上,较新的 X 客户端库可能会导致键盘问题

在 SuSE Linux Enterprise Desktop 11 上,较新版本的 xorg-x11-libX11 软件包在处理键盘映射更改时可能会出现问题,进而可能导致 HDX 会话期间的键盘功能出现问题。 已安装的软件包版本在 7.4-5.11.11.1 至 7.4-5.11.15.1 范围内时可能会出现此问题。

解决方法是将 xorg-x11-libX11 软件包回滚至原来的 SP3 版本,从而使得键盘映射更改能够正常发挥作用。 例如:

rpm -i --force xorg-x11-libX11-7.4-5.9.1

rpm –i --force xorg-x11-libX11-32bit-7.4-5.9.1

rpm -e xorg-x11-libX11-7.4-5.11.15.1

rpm -e xorg-x11-libX11-32bit-7.4-5.11.15.1

需要在用户登录到计算机之前完成此设置。如果在会话处于活动状态期间完成,则只有在用户下次登录时,这些设置才会生效。

如果要从原来的 SP3 进行升级,则上述 xorg-x11-libX11 软件包会锁定为当前已安装版本,从而确保它们不会在升级期间发生更改。 升级前,请先运行以下命令,然后再照常执行升级操作:

zypper al xorg-x11-libX11

zypper al xorg-x11-libX11-32bit

如果在 XenDesktop v7.1 中将 Linux VDA 与 Delivery Controller 结合使用,则会话启动时间可能会较长

之所以启动较慢,是因为 v7.1 Delivery Controller 生成的 ICA 文件中存在 CGP 设置。 如果存在这些设置,Citrix Receiver 会尝试使用 TCP 端口 2598 建立连接。 在某些 Linux 发行版(例如 SLED 12)上,默认防火墙设置会丢弃 TCP SYN 数据包,从而导致超时,并延长会话启动时间。 解决方法是,在 Linux VDA 上配置防火墙,使其拒绝端口 2598 上的 TCP SYN。 在新版 Delivery Controller 中,此问题已得到解决。

Linux VDA 重新加入域时注册失败

在某些情况下,在 Linux VDA 重新加入域且生成一组全新的 Kerberos 密钥后,Broker 无法与 VDA 建立安全上下文。 出现此问题的原因通常是,Broker 使用的是缓存的过时 VDA 服务票据,该票据是基于先前的一组 Kerberos 密钥的。 此问题不会阻止 VDA 连接到 Broker,但 Broker 将无法与 VDA 建立返回安全上下文。 常见症状是 VDA 注册失败。

由于 VDA 服务票据迟早会过期并进行续订,因此此问题最终会自行解决,但是,服务票据的有效期一般会很长。 因此,此过程可能需要很长时间。

解决方法是清除 Broker 的票据缓存。 您只需重新启动 Broker 或在 Broker 上以管理员身份从命令提示窗口运行以下命令:

klist -li 0x3e4 purge

此命令会清除 Citrix Broker Service 运行所在的网络服务主体持有的 LSA 缓存中的所有服务票据。 此命令也会删除其他 VDA 的服务票据,因而可能会影响其他服务。 但是,此操作不会造成负面影响,因为这些服务会在需要时从 KDC 重新获取这些服务票据。

不支持音频即插即用 

建议先将音频捕获设备连接至客户端计算机,然后再开始在 ICA 会话中录制音频。 如果在启动音频录制应用程序后再连接设备,应用程序可能会无响应。 如果出现此问题,只需重新启动应用程序即可。 如果在录制期间拔下捕获设备,也会出现类似的问题。 

音频失真

Windows 10 Receiver 可能会在音频录制期间遇到音频失真问题。

CTXPS 驱动程序与部分 PLC 打印机不兼容

如果发现打印输出损坏,请将打印机驱动程序设置为制造商提供的本机打印机驱动程序。 

打印大文档时打印速度较慢 

在本地客户端打印机上打印大文档时,打印文件会通过服务器连接进行传输。 如果连接的速度很慢,这一过程就可能需要很长时间。 

在其他会话中看到打印机和打印作业通知

Linux 的会话概念与 Windows 操作系统不同。 因此,所有用户都会获得系统范围的通知。 管理员可禁用这些通知,方法是修改 CUPS 配置文件 /etc/cups/cupsd.conf。

查找文件中配置的当前策略名称:

DefaultPolicy default

如果策略名称为 default,则将以下行添加到默认策略 XML 块中。

# Job/subscription privacy...

JobPrivateAccess default

JobPrivateValues default

SubscriptionPrivateAccess default

SubscriptionPrivateValues default

… …

Require user @OWNER

Order deny,allow

 

Order deny,allow

词汇表

Broker - XenDesktop 组件,负责将 HDX 会话代理给 XenDesktop 部署中的不同 VDA。 也称为 DDC 或 XenDesktop Controller。

Broker 代理 - Linux VDA 计算机上的组件,负责提供要交付的桌面。 Broker 代理会与 Broker 通信,以启用会话代理服务。 它由两个关键组件构成,分别是 VDA Service 和 HDX Service。

Citrix Director - Citrix 帮助台/支持控制台,用于监控和控制 XenDesktop VDA。

Citrix Studio - Citrix 管理控制台,用于配置 XenDesktop。

DDC - XenDesktop Desktop Delivery Controller。 也称为 Broker 或 Delivery Controller。

FQDN – 完全限定的域名

HDX - 高清体验协议。 以前称为 Citrix ICA 协议。

HDX Service - 一种 Linux 服务 (ctxhdx),用来通过 HDX 协议远程控制 Linux 虚拟桌面。 它会与 VDA 服务通信,以便启用会话代理服务。

RHEL - Red Hat Enterprise Linux。 Red Hat 提供的商用 Linux 发行版。

SLED - SUSE Linux Enterprise Desktop。 Novell 提供的商用 Linux 发行版。

SLES - SUSE Linux Enterprise Server。 Novell 提供的商用 Linux 发行版。

VDA - Virtual Delivery Agent。

VDA Service - 一种 Linux 服务 (ctxvda),用来与 Broker 通信,以启用会话代理服务。 它也会与 HDX Service 通信,从而进行远程会话交付。