我该如何配置 gdm 来允许与其他服务器 / 工作站建立 X 连接?

我该如何配置 gdm 来允许与其他服务器 / 工作站建立 X 连接?

我在所有新安装的CentOS 6.2在我的网络上。使用以下方式连接到远程计算机X11GUI 软件因以下原因失败验证。我不确定如何诊断,但已将其缩小到以下几点:

  • gdm 无法正确验证远程主机
  • 权威设置为远程计算机上不可用的本地路径
  • 没有.Xauthority本地用户主目录中的文件
  • 丢失的MIT-魔法饼干-1

以下是一些日志:

/var/log/Xorg.0.log

[  9273.858] AUDIT: Mon Jun  4 14:41:21 2012: 7778: client 20 connected from local host (
uid=0 gid=0 pid=8800 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 496
[  9273.870] AUDIT: Mon Jun  4 14:41:21 2012: 7778: client 35 connected from local host (
uid=0 gid=0 pid=8800 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 496
[  9274.072] AUDIT: Mon Jun  4 14:41:21 2012: 7778: client 20 disconnected
[  9274.072] AUDIT: Mon Jun  4 14:41:21 2012: 7778: client 35 disconnected
[  9277.236] AUDIT: Mon Jun  4 14:41:25 2012: 7778: client 20 connected from local host (
uid=0 gid=0 pid=8804 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 496
[  9277.248] AUDIT: Mon Jun  4 14:41:25 2012: 7778: client 35 connected from local host (
uid=0 gid=0 pid=8804 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 496
[  9277.277] AUDIT: Mon Jun  4 14:41:25 2012: 7778: client 20 disconnected
[  9277.277] AUDIT: Mon Jun  4 14:41:25 2012: 7778: client 35 disconnected

/var/log/消息

Jun  4 14:41:21 myhostname abrt[8801]: saved core dump of pid 8800 (/usr/bin/perl) to /var/spo
ol/abrt/ccpp-2012-06-04-14:41:21-8800.new/coredump (18776064 bytes)
Jun  4 14:41:21 myhostname abrtd: Directory 'ccpp-2012-06-04-14:41:21-8800' creation detected
Jun  4 14:41:21 myhostname abrtd: Package 'clusterssh' isn't signed with proper key
Jun  4 14:41:21 myhostname abrtd: Corrupted or bad dump /var/spool/abrt/ccpp-2012-06-04-14:41:21-8800 (res:2), deleting

我确信这是一个很容易解决的问题。

我尝试过但没有成功的事情:

  • 悲哀地安装不属于 EL6
  • 配置/etc/gdm/PostLogin复制$XAUTHORITY$HOME/.Xauthority(NFS 挂载的主目录)
  • 明确创建/etc/sysconfig/桌面DISPLAYMANAGER=GNOME&桌面=GNOME
  • 尝试了不同的组合初始化验证

希望有人能帮助诊断和解决这个问题。如日志所示,我没有clusterssh鉴于我每天都在使用它,因此这是一件不幸的事情。

答案1

正如预期的那样,解决方案很简单,也很晦涩。

在 CentOS 6.2 的 vanilla 安装中,X11 颜色定义文件是xorg-x11-服务器实用程序包(X.Org X11 X 服务器实用程序)无法被 X11 正确解析。

对于某些应用程序来说,这会导致警告消息,但其他应用程序会因不相关的错误而失败。

解决方案是将以下内容明确添加到 /etc/X11/xorg.conf 文件的“文件”部分:

Section "Files"
    RgbPath "/usr/share/X11/rgb.txt"
EndSection

有了这个,只需简单地注销/登录并重新启动 X 服务器即可解决问题。

这个线程让我找到了可行的解决方案:

http://www.nntp.perl.org/group/perl.tcltk/2006/09/msg99.html

答案2

摘抄可能与您的问题有关:

7.2. 为什么 Cygwin/X 会报告 AUDIT: client 1 denied from IP remotehost?

问题很可能是错误的 DNS(网络名称解析)。确保您的 Windows 主机具有从 Linux 也有效的主机名以及 Linux 可以解析为该主机名的 IP 地址。

如果你添加一行

192.168.26.1 myhost

到 XDMCP 服务器上的 /etc/hosts,使用您的 Windows 主机的 IP 地址和主机名,名称解析应该可以工作。

答案3

实际上,X11 访问控制与我遇到的问题无关。这都是因为我在系统 Xresources 文件中附加了 solarized 主题 Xresources 文件。删除这些行可以解决问题。

我能够通过运行进行诊断cssh -e hostname,结果显示 xterm 无法理解颜色定义。删除这些行,重新启动 X 服务器,一切运行顺利。

相关内容