X11和远程DISPLAY的问题 - 世界什么时候改变了我?

时间:2012-03-15 17:36:40

标签: linux x11

我很确定我并不疯狂,但我确实记得在过去(80年代,90年代)使用X11并且能够将显示器设置到我想要的任何地方。当然,主题是访问控件。

然而,当我今天在现代操作系统(Ubuntu 11.10桌面)上尝试使用它时,我无法使用远程X服务器。

经过一系列尝试后,我决定确保它甚至可以在我自己的计算机上运行。令人震惊的是,它也无法在本地运作。即:

  • xterm ”正常工作
  • xterm -display:0 ”和“ xterm -display:0.0
  • 但“ xterm -display my-ip-addr:0 ”不起作用
  • xterm -display 127.0.0.1:0

我已经尝试过的事情:

  • xhost + ,”(请不要发火焰)
  • 设置“ DISPLAY = foo ”而不是“ -display foo

我知道ssh端口转发,但由于多种原因,这不是我正在寻找的解决方案。

我错过了什么?

1 个答案:

答案 0 :(得分:3)

基于xhost的身份验证已经过时了。您仍然可以启用它,但X身份验证的常用方法是通过X Authority文件中包含的安全cookie。访问和操作它的工具称为xauth。诀窍是在运行X服务器的机器上提取xauth身份验证数据,并将其添加到远程端的xauth数据中。

然而,在大多数Linux系统上,X服务器已配置为不接受通过TCP的连接(这实际上是有意义的)。此外,纯X协议1不提供机密性,因此强烈建议不要直接在线路上使用它。

所以要实际使用它,你必须启动一个接受tcp连接的X服务器。您还告诉服务器一个路径是放置一个初始X权限文件。然后从中提取xauth数据并将其合并到远程端的〜/ .Xauthority中。