如何配置 gdm 以允许 X 连接到其他服务器/工作站?

rjm*_*ach 5 centos gnome gdm xauth centos-6

我的网络上所有新安装的CentOS 6.2都有问题。由于与xauth相关的原因,使用X11 gui 软件连接到远程机器失败。我不确定如何诊断,但已将其范围缩小到以下几点:

  • gdm 无法正确验证远程主机
  • XAUTHORITY设置为远程计算机上不可用的本地路径
  • 本地用户主目录中没有.Xauthority文件
  • 缺少MIT-MAGIC-COOKIE-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
Run Code Online (Sandbox Code Playgroud)

/var/日志/消息

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
Run Code Online (Sandbox Code Playgroud)

我相信这是一件很容易解决的事情。

我尝试过但不成功的事情:

  • 遗憾的是gdmsetup不是 EL6 的一部分
  • 配置/etc/gdm/PostLogin$XAUTHORITY复制到$HOME/.Xauthority(NFS 挂载的主目录)
  • 使用DISPLAYMANAGER=GNOME & DESKTOP=GNOME显式创建/etc/sysconfig/desktop
  • 尝试了xinitxauth 的不同组合

希望有人可以帮助诊断和解决这个问题。从日志中可以看出,我没有clustersh,因此这是一件不幸的事情,因为我每天都在使用它。

rjm*_*ach 0

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

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