Linux虚拟交付代理

简单安装快速安装(推荐)

重要的是:

对于新安装,我们建议您参考本文进行快速安装。本文通过简单的安装逐步介绍如何安装和配置Linux VDA。安装方便,省时省力,比手工安装更不容易出错。它通过安装必要的包和自动自定义配置文件来帮助您设置Linux VDA的运行环境。

步骤1:准备配置信息和Linux机器

为方便安装,请收集以下配置信息:

  • 主机名—要安装Linux VDA的机器的主机名
  • 域名服务器的IP地址
  • NTP服务器的IP地址或字符串名称
  • 域名-域的NetBIOS名称
  • 领域名称-Kerberos领域名称
  • Active Domain的FQDN—完全限定的域名

重要的是:

  • 要安装Linux VDA,请验证在Linux机器上正确添加了存储库。
  • 要启动会话,请检查X Window系统和桌面环境是否已安装。

注意事项

  • 工作组名称默认为域名。要在您的环境中自定义工作组,请执行以下操作:

    a.在Linux VDA机器上创建“/tmp/ctxinstall.conf”文件。
    b、 将workgroup=行添加到文件并保存更改。

  • Centrify不支持纯IPv6 DNS配置。/etc/resolv.conf中至少需要一个IPv4的DNS服务器adclient找到合适的广告服务。

    日志:

    检查此机器的子网是否在AD已知的站点中:失败:AD不知道此机器的子网。:我们猜你应该在Site1网站。<!——NeedCopy >

    这个问题是独一无二的Centrify和它的配置。要解决此问题,请执行以下操作:

    一个开放。管理工具在域控制器上。
    B选择Active Directory站点和服务
    c.添加合适的子网地址子网

  • 要将VDA加入特定OU,请执行以下操作:

    1. 请确保域控制器上存在指定的OU。

      有关示例OU,请参见下面的屏幕截图

      示例OU的镜像

    2. 在VDA上创建/tmp/ctxinstall.conf文件。
    3. 在/tmp/ctxinstall.conf文件中添加ou=行。

      不同的AD方式,OU的值也不同。见下表。

      操作系统 Winbind SSSD Centrify PBIS
      RHEL 8 ou = " ou = redhat, ou = Linux” ou = " ou = redhat, ou = Linux” ou = " XD。本地/ Linux / redhat” ou = " Linux / redhat "
      RHEL 7 ou = " Linux / redhat " ou = " Linux / redhat " ou = " XD。本地/ Linux / redhat” ou = " Linux / redhat "
      Ubuntu ou = " ubuntu Linux / " ou = " ubuntu Linux / " ou = " XD。本地/ Linux / ubuntu” ou = " ubuntu Linux / "
      SUSE 12.5 ou=“Linux/suse” ou=“Linux/suse” ou=“XD.LOCAL/Linux/suse” ou=“Linux/suse”
      Debian ou = " Linux / debian " ou = " Linux / debian " ou = " XD。本地/ Linux / debian” ou = " Linux / debian "
  • 易于安装支持纯IPv6 as的Linux VDA 7.16。适用的前提条件和限制如下:

    • 您的Linux存储库必须进行配置,以确保您的机器可以通过纯IPv6网络下载所需的软件包。
    • 在纯IPv6网络中不支持Centrify。

    注意:

    如果您的网络是纯IPv6的,并且您的所有输入都是正确的IPv6格式,VDA通过IPv6向交付控制器注册。如果您的网络是IPv4和IPv6的混合配置,则第一个DNS IP地址的类型决定是否使用IPv4或IPv6进行注册。

  • 如果选择Centrify作为加入域的方法,则ctxinstall.sh脚本需要Centrify包。ctxinstall.sh有两种方法可以获取Centrify包:

  • 如果选择PBIS作为加入域的方法,ctxinstall.sh脚本需要使用PBIS包。ctxinstall.sh有两种方法获得PBIS包:

    • 轻松安装有助于自动从互联网下载PBIS包。以下是每个发行版的url:

      RHEL 7 / CentOS 7 / SUSE 12.5:wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh

      RHEL 8 / CentOS 8:wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh

      Ubuntu / Debian:wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh

    • 从Internet获取PBIS包的特定版本。修改“/opt/Citrix/VDA/sbin/ctxinstall.sh”文件中的“pbisDownloadPath”行,指定PBIS包的URL。

      有关示例,请参见以下屏幕截图:

      获取PBIS包的特定版本

步骤2:准备管理程序

在受支持的管理程序上将Linux VDA作为虚拟机运行时,需要进行一些更改。请根据当前使用的hypervisor平台进行如下修改。如果您在裸机硬件上运行Linux机器,则不需要进行任何更改。

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

当启用Citrix Hypervisor时间同步特性时,在每个半虚拟化Linux虚拟机中,您都会遇到NTP和Citrix Hypervisor的问题,两者都试图管理系统时钟。为避免时钟与其他服务器不同步,请确保每个Linux客户端的系统时钟与NTP同步。此时需要禁用主机时间同步。HVM模式下无需修改。

在一些Linux发行版中,如果您运行的是安装了Citrix VM Tools的半虚拟化Linux内核,您可以在Linux虚拟机中检查Citrix Hypervisor时间同步特性是否存在并启用:

Su - cat /proc/sys/xen/independent_wallclock 

该命令返回0或1:

  • 0—时间同步功能开启,必须关闭。
  • 1 -时间同步功能已关闭,操作结束。

如果不存在“/proc/sys/xen/independent_wallclock”文件,则不需要执行以下步骤。

如果开启,通过写入1到文件来关闭时间同步功能:

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

要使此更改在重新启动后永久保存,请编辑/etc/sysctl.conf文件并添加一行:

xen。independent_wallclock = 1

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

Su - cat /proc/sys/xen/independent_wallclock 

此命令返回值1。

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

安装了Hyper-V Linux Integration Services的Linux虚拟机可以应用Hyper-V时间同步特性,使用主机操作系统的时间。为了确保系统时钟保持准确,必须同时启用NTP服务。

从管理操作系统:

  1. 打开Hyper-V管理器控制台。
  2. 对于Linux虚拟机的设置,选择集成服务
  3. 确保时间同步被选中。

注意:

与VMware和Citrix Hypervisor不同,VMware和Citrix Hypervisor禁用主机时间同步,避免与NTP发生冲突。Hyper-V时间同步可以同时存在,补充NTP时间同步。

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

启用VMware时间同步特性后,在每个半虚拟化Linux虚拟机中,您都会遇到NTP和hypervisor的问题,两者都试图同步系统时钟。为避免时钟与其他服务器不同步,请确保每个Linux客户端的系统时钟与NTP同步。此时需要禁用主机时间同步。

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

  1. 1 .打开vSphere Client。
  2. 编辑Linux虚拟机设置。
  3. 虚拟机性能对话框,打开选项选项卡。
  4. 选择VMware工具
  5. 先进的盒子,清楚同步客户与主机的时间

步骤3(仅适用于Ubuntu 16.04)安装OpenJDK 11

在Ubuntu 16.04中,按照以下步骤安装OpenJDK 11:

  1. 下载最新的OpenJDK 11https://jdk.java.net/archive/
  2. 运行焦油zxf openjdk-11.0.2_linux-x64_bin.tar.gz命令解压缩下载的包。
  3. (可选)运行Mv jdk-11.0.2/ <目标目录> . Mv命令保存OpenJDK到目标目录。
  4. 运行更新备选方案--安装/usr/bin/java/bin/java 2000命令来设置Java运行时。
  5. 运行java - version命令,验证Java版本。

步骤4:安装.NET Core Runtime 3.1作为先决条件

在安装Linux VDA之前,请按照。net Core Runtime 3.1的说明安装https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers

在安装。net Core Runtime 3.1之后,运行这dotnet命令以查找运行时路径。

根据回显信息,设置。net Core运行时二进制路径。例如:/aa/bb/dotnet,则。net的二进制路径为/aa/bb。

步骤5:下载Linux VDA包

Citrix虚拟应用程序和桌面下载页面.展开相应版本的Citrix虚拟应用程序和桌面,然后单击组件下载与Linux发行版匹配的Linux VDA包。

步骤6:安装Linux VDA包

运行以下命令设置Linux VDA环境。

对于RHEL和CentOS发行版:

sudo yum -y localinstall / 

对于Ubuntu / Debian发行版:

sudo dpkg -i /——NeedCopy >

注意:

要安装Debian发行版所需的依赖项,请添加Deb http://deb.debian.org/debian/ oldstable main行到/etc/apt/sources.文件列表。

对于SUSE发行版:

zypper-i安装/<!--NeedCopy-->

步骤7:设置运行时环境以完成安装

注意:

在设置运行时环境之前,请确保en_US。utf - 8您的操作系统中已安装区域设置。如果该区域设置在操作系统中不可用,请运行sudo locale gen en_US.UTF-8命令。对于Debian,编辑/etc/locale.gen文件,取消注释# en_US。utf - 8utf - 8行,然后运行sudo语言环境gen命令。

Linux VDA安装完成后,使用ctxinstall.sh脚本配置运行环境。您可以在交互模式或静默模式下运行脚本。

注意:

当下载大于27mb的。net Core Runtime时,Easy install可能看起来响应不灵敏。下载进度请查看/var/log/ctxinstall.log。

交互模式:

要执行手动配置,请运行以下命令并在每个提示符处键入相关参数。

sudo / opt / Citrix / VDA / sbin / ctxinstall.sh < !——NeedCopy >

静默模式:

要在静默模式下使用easy install,请在运行ctxinstall.sh之前设置以下环境变量。

  • CTX_EASYINSTALL_HOSTNAME =主机–表示Linux VDA服务器的主机名。
  • CTX_EASYINSTALL_DNS = ip-address-of-dns—DNS服务器的IP地址。
  • CTX_EASYINSTALL_NTPS = address-of-ntps—NTP服务器的IP地址或字符串名称。
  • CTX_EASYINSTALL_DOMAIN =域名—域的NetBIOS名称。
  • CTX_EASYINSTALL_REALM =域名—Kerberos域名。
  • CTX_EASYINSTALL_FQDN = ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis–表示Active Directory集成方法。
  • CTX_EASYINSTALL_USERNAME = domain-user-name–表示域用户的名称;用于加入域。
  • CTX_EASYINSTALL_PASSWORD =密码—域用户密码;用于加入域。

ctxsetup.sh脚本使用了以下变量:

  • CTX_XDL_支持_DDC_AS_CNAME=Y|N—Linux VDA支持通过DNS CNAME记录指定Delivery Controller名称。
  • CTX\U XDL\U DDC\U LIST='LIST-DDC-fqdns'—Linux VDA需要一个以空格分隔的FQDNs (Delivery Controller Fully Qualified Domain Names)列表,用于向Delivery Controller注册。必须至少指定一个FQDN或CNAME。
  • CTX_XDL_VDA_PORT =端口号—Linux VDA通过TCP/IP端口与Delivery Controllers进行通信。
  • CTX_XDL_REGISTER_SERVICE = Y | N—机器启动后,Linux Virtual Desktop服务已启动。
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N—Linux虚拟桌面业务需要允许通过系统防火墙进入网络连接。在Linux虚拟桌面中,您可以在系统防火墙中自动打开所需端口(默认为80和1494端口)。
  • CTX_XDL_HDX_3D_PRO = Y | N–Linux虚拟桌面支持HDX 3D Pro,这是一套图形加速技术,旨在优化丰富图形应用程序的虚拟化。HDX 3D Pro需要安装兼容的NVIDIA网格图形卡。如果选择HDX 3D Pro,VDA将配置为VDI桌面(单会话)模式(即CTX_XDL_VDI_mode=Y)。
  • CTX_XDL_VDI_MODE = Y | N—是否配置为VDI (dedicated desktop delivery model)或托管共享桌面交付模式。对于HDX 3D Pro环境,设置值为Y。
  • CTX_XDL_SITE_NAME = dns名称—Linux VDA通过DNS发现LDAP服务器。若要将DNS搜索结果限制为本地站点,请指定DNS站点名称。如果不需要,设置为<一>
  • CTX_XDL_LDAP_LIST = ' list-ldap-servers '—Linux VDA通过查询DNS发现LDAP服务器。如果DNS无法提供LDAP服务记录,您可以提供一个带LDAP端口的LDAP FQDNs列表。例如,ad1.mycompany.com: 389。如果不需要,设置为<一>
  • CTX_XDL_SEARCH_BASE = search-base-set–Linux VDA通过设置为Active Directory域根目录的搜索基查询LDAP(例如,DC=mycompany,DC=com)。要提高搜索性能,可以指定搜索库(例如,OU=VDI,DC=mycompany,DC=com)。如果不需要,则设置为<一>
  • CTX\U XDL\U FAS\U LIST='LIST-FAS-servers'—通过AD组策略配置FAS服务器。Linux VDA不支持AD组策略,但可以提供分号分隔的FAS服务器列表。顺序必须与AD组策略中配置的顺序保持一致。如果删除了任何服务器地址,则用<一>文本字符串,不修改服务器地址的顺序。
  • CTX_XDL_DOTNET_运行时_PATH=安装DOTNET运行时的路径–安装.NET Core Runtime 3.1以支持新代理服务的路径(ctxvda).默认路径为/usr/bin。
  • CTX_XDL_DESKTOP _ENVIRONMENT = gnome /伴侣—指定会话中使用的GNOME或MATE桌面环境。如果不指定该变量,则使用当前安装在VDA上的桌面。但是,如果当前安装的桌面是MATE,则必须将变量值设置为伴侣

    注意:

    您还可以通过以下步骤更改目标会话用户的桌面环境:

    1. 创建一个.xsession下的文件$ HOME / <用户名>目录。
    2. 编辑.xsession文件以指定基于发行版的桌面环境。

      适用于CentOS、Ubuntu和Debian上的MATE桌面

      - p mate-session MSESSION = " $(类型)”
      如果[-n " $MSESSION "];然后
      执行伙伴会议
      fi

      用于CentOS上的GNOME桌面

      - p gnome-session GSESSION = " $(类型)”
      如果[-n " $GSESSION "];然后

      导出GNOME\u SHELL\u SESSION\u MODE=classic exec GNOME SESSION--SESSION=GNOME classic fi**用于Ubuntu和Debian上的GNOME桌面**

      - p gnome-session GSESSION = " $(类型)”
      如果[-n " $GSESSION "];然后

      执行gnome会话fi
    3. 与目标会话用户共享700文件权限。
  • CTX|XDL|u启动|u服务=Y | N–配置完成后是否启动Linux VDA服务。
  • CTX_XDL_TELEMETRY_SOCKET_PORT—监听Citrix Scout的套接字端口。默认端口为7503。
  • CTX XDL遥测端口—与Citrix Scout通信的端口。默认端口为7502。

如果未设置任何参数,安装将回滚到交互模式,并提示用户输入。当所有参数都已通过环境变量设置时,ctxinstall.sh脚本仍会提示用户输入安装.NET Core Runtime 3.1的路径。

在静默模式下,需要先执行以下命令设置环境变量,然后运行ctxinstall.sh脚本。

导出CTX\u EASYINSTALL\u主机名=主机名导出CTX\u EASYINSTALL\u DNS=DNS的ip地址导出CTX\u EASYINSTALL\u NTPS=NTPS的地址导出CTX\u EASYINSTALL\u域=域名导出CTX\u EASYINSTALL\u REALM=域名导出CTX\u EASYINSTALL\u FQDN=ad FQDN名称导出CTX\u EASYINSTALL\u ADINTEGRATIONWAY=winbind | sssd | centrify | pbis导出CTX_EASYINSTALL_USERNAME=域名导出CTX_EASYINSTALL_密码=密码导出CTX_XDL_支持_DDC_AS_CNAME=Y | N导出CTX_XDL_DDC_LIST='LIST-DDC-fqdns'导出CTX_XDL_VDA_端口=端口号导出CTX_XDL_寄存器_服务=Y | N导出CTX_XDL_添加防火墙|规则=Y | N导出CTU XDL| xdu xdu xdu xdu 3D模式| xduexport CTX_XDL_SITE_NAME=dns SITE NAME |““export CTX_XDL_LDAP_LIST='LIST-LDAP-servers'”“export CTX_XDL_SEARCH_BASE=SEARCH BASE set |”“export CTX_XDL_FAS LIST='LIST-FAS-servers'”“export CTX_XDL_DOTNET_运行时路径=安装DOTNET运行时导出CTX_桌面环境=gnome”导出CTX_XDL_遥测_套接字_端口=端口号导出CTX_XDL_遥测_端口=端口号导出CTX_XDL_启动_服务=Y | N sudo-E/opt/Citrix/VDA/sbin/ctxinstall.sh<--需要复制-->

在运行sudo命令时,输入-E选项将现有的环境变量传递给它创建的新shell。我们建议使用上述命令创建一个shell脚本文件#!/bin/bash作为第一行。

或者,您可以使用单个命令指定所有参数:

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N \ CTX_XDL_DDC_LIST = ' list-ddc-fqdns \ CTX_XDL_VDA_PORT =端口号\ CTX_XDL_REGISTER_SERVICE = Y | N \ N \ CTX_XDL_AD_INTEGRATION CTX_XDL_ADD_FIREWALL_RULES = Y | = 1 | 2 | 3 | 4 \ CTX_XDL_HDX_3D_PRO = Y | N \ N \ CTX_XDL_SITE_NAME CTX_XDL_VDI_MODE = Y | = dns名称\ CTX_XDL_LDAP_LIST = list-ldap-servers \CTX_XDL_SEARCH_BASE = search-base-set \ CTX_XDL_FAS_LIST = ' list-fas-servers ' \ CTX_XDL_DOTNET_RUNTIME_PATH = path-to-install-dotnet-runtime \ CTX_XDL_DESKTOP_ENVIRONMENT = gnome |伴侣\ CTX_XDL_TELEMETRY_SOCKET_PORT =端口号\ CTX_XDL_TELEMETRY_PORT =端口号\ CTX_XDL_START_SERVICE = Y | N \ / opt / Citrix / VDA / sbin / ctxsetup.sh < !——NeedCopy >

步骤8:执行XDPing命令

运行sudo / opt / Citrix / VDA / bin / xdp检查Linux VDA环境的常见配置问题。有关更多信息,请参见XDPing

步骤9:运行Linux VDA

启动Linux VDA:

启动Linux VDA服务。

Sudo /sbin/service CTXHDX start 

停止Linux VDA:

停止Linux VDA服务。

sudo/sbin/service ctxvda stop sudo/sbin/service ctxhdx stop<!--需要复制-->

注意:

在你停止之前ctxvdactxhdx服务,运行服务ctxmonitorservice停止命令,停止监控服务守护进程。否则,monitor服务守护进程将重新启动已停止的服务。

重启Linux VDA:

重启Linux VDA服务。

Sudo /sbin/service ctxvda restart Sudo /sbin/service ctxvda start 

检查Linux VDA的状态:

查询Linux VDA服务的运行状态。

Sudo /sbin/service CTXHDX status 

步骤10:在Citrix虚拟应用程序或Citrix虚拟桌面中创建计算机目录

创建机器目录和添加Linux VDA机器的过程与传统的Windows VDA方法类似。有关如何完成这些任务的更详细描述,请参见创建机器目录管理机目录

对于创建包含Linux VDA机器的机器目录,有一些限制将其与为Windows VDA机器创建机器目录区分开:

  • 对于操作系统,选择:
    • 这个Multi-session操作系统托管共享桌面交付模型的选项。
    • 这个单一会话操作系统选项用于VDI专用桌面交付模型。
  • 不要将Linux和Windows VDA机器混合在同一个机器目录中。

注意:

Citrix Studio的早期版本并不支持“Linux操作系统”的概念。然而,选择Windows服务器操作系统服务器操作系统选项意味着等效的托管共享桌面交付模型。选择Windows桌面操作系统桌面操作系统选项意味着每台机器的交付模型只有一个用户。

提示:

如果您将计算机删除并重新加入到Active Directory域,则必须再次将计算机删除并添加到计算机编目中。

步骤11:在Citrix Virtual Apps或Citrix Virtual Desktops中创建交付组

创建交付组和添加包含Linux VDA机器的机器目录的过程几乎与Windows VDA机器相同。有关如何完成这些任务的更详细描述,请参见创建交付组

对于创建包含Linux VDA机器目录的交付组,有以下限制:

  • 确保您选择的AD用户和组已被正确配置以登录Linux VDA机器。
  • 不允许未经身份验证(匿名)的用户登录。
  • 不要将交付组与包含Windows机器的机器目录混合。

重要的是:

Linux VDA版本1.4及更高版本支持发布应用程序。然而,Linux VDA不支持将桌面和应用程序交付到同一台机器。

有关如何创建机器目录和交付组的信息,请参见Citrix虚拟应用程序和桌面7 2106

故障排除

使用本节中的信息来排除使用简易安装可能产生的问题。

使用SSSD加入域失败

当你尝试加入一个域时,可能会出现一个错误,输出类似如下(验证打印日志):

第六步:加入域名!输入ctxadmin的密码:无法加入域:无法通过rpc查找域“Citrix Lab.LOCAL”的DC信息:找不到网络名称

/var/log/xdl/vda.log:

2016-11-04 02:11:52.317 [INFO] - Citrix Desktop Service成功获得以下1个需要注册的交付控制器列表:'CTXDDC.citrixlab.local(10.158.139.214)'。2016-11-04 02:11:52.362 [ERROR] -注册管理器。attempregistrationwithsingleddc: Failed to register with http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar。Error: General security Error (An Error occurred in trying to obtain a TGT: Client not found in Kerberos database (6)) 2016-11-04 02:11:52.362 [Error] - Citrix Desktop Service无法连接到交付控制器的http://CTXDDC.citrixlab。本地:80/Citrix/CdsController/ icregistrar ' (IP Address '10.158.139.214')检查以下内容:—Active Directory提供商(例如winbind daemon)服务正在运行并已正确配置。—在这台机器上正确配置了Kerberos。如果问题仍然存在,请参阅Citrix知识库文章CTX117248获取更多信息。错误详细信息:异常'General security Error (An Error occurred in trying to obtain a TGT: Client not found in Kerberos database(6))'的类型'class javax.xml.ws.soap.SOAPFaultException'。2016-11-04 02:11:52.362 [INFO] -注册管理器。AttemptRegistrationWithSingleDdc:当前时间为这个VDA是星期五11月04日02:11:52 EDT 2016。 Ensure that the system clock is in sync between this machine and the delivery controller. Verify the NTP daemon is running on this machine and is correctly configured. 2016-11-04 02:11:52.364 [ERROR] - Could not register with any controllers. Waiting to try again in 120000 ms. Multi-forest - false 2016-11-04 02:11:52.365 [INFO ] - The Citrix Desktop Service failed to register with any controllers in the last 470 minutes. 

/var/log/messages:

11月4日02:15:27 RH-WS-68[sssd[ldap_child[14867]]:未能使用keytab[MEMORY:/etc/krb5.keytab]:在Kerberos数据库中未找到客户端“RH-WS-68$@CITRIXLAB.LOCAL”初始化凭据。无法创建GSSAPI加密的LDAP连接。11月4日02:15:27 RH-WS-68[sssd[LDAP_child[14867]]:在Kerberos数据库中找不到客户端“RH-WS-68$@CITRIXLAB.LOCAL”

要解决这个问题:

  1. 运行rm - f /etc/krb5.keytab命令。
  2. 运行net广告离开$REALM -U $domain-administrator命令。
  3. 删除传送控制器上的机器目录和传送组。
  4. 运行/ opt / Citrix / VDA / sbin / ctxinstall.sh。
  5. 在交付控制器上创建机器目录和交付组。

Ubuntu桌面会话显示灰色屏幕

当您启动一个会话,而该会话随后在空白桌面中被阻止时,就会发生此问题。此外,当您使用本地用户帐户登录时,计算机的控制台还会显示灰色屏幕。

要解决这个问题:

  1. 运行sudo apt-get更新命令。
  2. 运行sudo-apt-get-install-unity-lightdm命令。
  3. 将下面的行添加到/etc/lightdm/lightdm.conf:
    greeter-show-manual-login = true

由于缺少主目录,尝试启动Ubuntu桌面会话失败

/var/log/xdl/hdx.log:

2016-11-02 13:21:19.015  citrix-ctxlogin: StartUserSession: failed to change to directory(/home/CITRIXLAB/ctxadmin) errno(2) 2016-11-02 13:21:19.017  citrix-ctxhdx: logSessionEvent: Session started for user ctxadmin。2016-11-02 13:21:19.023  citrix-ctxlogin: ChildPipeCallback: Login Process died: normal.日志含义2016-11-02 13:21:59.217  citrix-ctxgfx: main:退出正常。<!——NeedCopy >

提示:

此问题的根本原因是没有为域管理员创建主目录。

要解决这个问题:

  1. 从命令行中输入pam-auth-update

  2. 在结果对话框中,验证这一点创建主目录登录被选中。

    ubuntu的映像无法启动会话

由于dbus错误,会话不能快速启动或结束

/var/log/messages(适用于RHEL或CentOS)

10月27日04:17:16 CentOS7 citrix-ctxhdx[8978]: Session started for user CITRIXLAB\ctxadmin。10月27 04:17:18 CentOS7 kernel: traps: gnome-session[19146] trap int3 ip:7f89b3bde8d3 sp:7fff8c3409d0 error:0 Oct 27 04:17:18 CentOS7 gnome-session[19146]: error: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available:外部,DBUS_COOKIE_SHA1匿名)# 012流产……10月27 04:17:18 CentOS7 gnome-session: gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)Oct 27 04:17:18 CentOS7 citrix-ctxgfx[18981]:正常退出。十月27 04:17:18 CentOS7 citrix-ctxhdx[8978]: Session stopped for user CITRIXLAB\ctxadmin。<!——NeedCopy >

或者,对于Ubuntu发行版,使用log /var/log/syslog:

Nov 3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] PID .c: Stale PID file, overwriting.日志含义Nov 3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Did not receive a reply.日志含义可能原因包括:远程应用程序未发送应答、消息总线安全策略阻止应答、应答超时或网络连接中断。11月3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] hashmap.c: Assertion 'h' failed at pulsecore/hashmap.c:116, function pa_hashmap_free(). php . php . php . php . php . php . php . php。流产。Nov 3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply.日志含义可能原因包括:远程应用程序未发送应答、消息总线安全策略阻止应答、应答超时或网络连接中断。Nov 3 11:03:52 user01-HVM-domU pulseaudio[25352]: message repeated 10 times: [[pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply.日志含义可能原因包括:远程应用程序未发送应答、消息总线安全策略阻止应答、应答超时或网络连接中断。Nov 3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] pid.c: Daemon已经运行。Nov 3 11:03:58 user01-HVM-domU citrix-ctxgfx[24693]: exit normal 

有些组或模块需要重启才能生效。如果dbus日志中出现错误消息,建议重新启动系统并重试。

SELinux阻止SSHD访问主目录

用户可以启动会话,但无法登录。

/var/log/ctxinstall.log:

1月25日23:30:31 yz-rhel72-1 - se故障排除[3945]:SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root。完整的SELinux消息。执行sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81 Jan 25 23:30:31 yz-rhel72-1 - python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root。***** Plugin catchall_boolean (89.3 confidence)建议******************如果你想允许启用多实例化,那么你必须通过启用“polyinstantiation_enabled”布尔来告诉SELinux。您可以阅读'None'手册页了解更多细节。Do setsebool -P polyinstantiation_enabled 1 ***** Plugin catchall (11.6 confidence) suggest **************************如果你认为sshd应该被允许默认的setattr访问根目录。那你应该报告这是个错误。您可以生成一个本地策略模块来允许此访问。# grep sshd /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol. log页< !——NeedCopy >

要解决这个问题:

  1. 通过修改/etc/ SELinux /config来禁用SELinux。

    SELINUX=禁用

  2. 重新启动的共识。