我目前正在访问一家研究机构,并使用 Ubuntu 16.04.3 中的访客会话选项(不保存任何数据)登录计算机。我尝试使用 X 转发通过 SSH 进入我通常工作的机器,但收到的错误消息似乎与变量无关DISPLAY
。
以下是一个已清除识别数据的示例:
$ echo $DISPLAY
:0
$ ssh -X <[email protected]>
Password:
Last login: Wed Oct 25 09:34:04 2017 from <IP address>
$ xlogo
connect /tmp/.X11-unix/X0: Permission denied
Error: Can't open display: localhost:32.0
$ exit
在另一台服务器上,我得到了同样的错误,但使用的是localhost:12.0
而不是localhost:32.0
。我确信服务器正在工作/配置正确,因为 X 转发在我的笔记本电脑上运行良好(运行 Fedora 26 并且我以普通用户身份登录)。
我尝试了各种改变$DISPLAY
其他值(:0.0
以及localhost:0.0
它们之间的值)的排列组合,但都无济于事。该对象/tmp/.X11-unix/X0
存在于本地计算机上:
$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx 1 root root 0 Oct 24 17:15 /tmp/.X11-unix/X0
在其中一台远程机器上,有文件/对象X2
,X26
并且X3
具有X0
不同的所有权。在另一台服务器上,文件存在但具有权限-rw-r--r--
。但我认为这些都不相关,因为我可以转发到我的笔记本电脑。在那里,X0
存在并具有权限srwxrwxr-x.
。
我怀疑这可能是权限问题,可能是因为这台机器上的集中管理防火墙,也可能是来宾会话的问题。但在 Google 上搜索错误消息,只会找到很多 5 年前的关于设置 Windows 机器的帖子。
我可以提供任何其他有用的信息,但我不知道那会是什么!