Linux X11和远程显示问题-我的世界是什么时候改变的?

Linux X11和远程显示问题-我的世界是什么时候改变的?,linux,x11,Linux,X11,我相当肯定我没有疯,但我确实记得在过去(80年代、90年代)使用X11,并且能够将显示器设置到我想要的任何地方。当然,受访问控制 然而,当我今天在现代的O/S(Ubuntu11.10桌面)上尝试时,我无法让它在远程X服务器上工作 经过一系列的尝试,我决定确保它甚至可以在我自己的电脑上工作。令人震惊的是,它在本地也不起作用。也就是说: “xterm”有效 “xterm-display:0”和“xterm-display:0.0”也是如此 但是“xterm-显示我的ip地址:0”不起作用 而且“x

我相当肯定我没有疯,但我确实记得在过去(80年代、90年代)使用X11,并且能够将显示器设置到我想要的任何地方。当然,受访问控制

然而,当我今天在现代的O/S(Ubuntu11.10桌面)上尝试时,我无法让它在远程X服务器上工作

经过一系列的尝试,我决定确保它甚至可以在我自己的电脑上工作。令人震惊的是,它在本地也不起作用。也就是说:

  • xterm”有效
  • xterm-display:0”和“xterm-display:0.0”也是如此
  • 但是“xterm-显示我的ip地址:0”不起作用
  • 而且“xterm-display 127.0.0.1:0”也没有
我已经尝试过的事情:

  • “xhost+,”(请不要用火焰)
  • 设置“DISPLAY=foo”而不是“-DISPLAY foo”
我知道ssh端口转发,但由于一些原因,这不是我正在寻找的解决方案


我遗漏了什么?

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

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


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

好问题,但正如datenwolf所说,X服务器可能配置了
-nolisten tcp
,这可能在您的显示管理器配置中的某个位置。“我相当确定我没有疯。”-这是一个大胆的声明,先生,我没有勇气对自己说同样的话:)我同意–X-nolisten tcp是一个很好的现代默认值,一般来说,使用SSH或NX(实际上只是SSH上的X压缩)转发X在许多方面都比在线路上使用普通的X11要好。@ephemient:实际上,使用端到端IPSec,您可以通过tcp以安全的方式使用X11。不幸的是,使用它的人不多。@ephemient:实际上,NX比您的陈述“SSH上的X压缩”要复杂一点,IIRC它包括缓存属性以避免往返,将未使用的协议字段归零以实现更好的压缩,协议特定的压缩a la DXCP,基于zlib的压缩a la lbxproxy,…@ninjalj:它使用JPEG压缩像素贴图。问题是“现代”工具包是由傻瓜编写的,他们在客户端的pixmap上呈现整个窗口,然后将其发送到图形卡。完全浪费了良好的CPU周期和GPU的旋转拇指。XCore也没有理由不能用抗锯齿来渲染它的内容。在XCore的服务器端诱使一个矢量字体渲染器也不是不可行的。但由于某些原因,一切都必须是客户端的。为什么不简单地添加一个扩展名,允许客户端将字体上传到服务器上。@ninjalj:不,我没有。我真的是这么想的。有很多关于X11的负面意见“仅仅因为”。X11中有一些瘙痒需要抓挠,但没有一个是如此严重以至于无法修复的。X11最大的问题是其主要实现(XFree,分叉到X.Org)的复杂代码库。X11的许多坏名声实际上应该归咎于Xlib,但Xlib≠ X11