X11转发非root用户无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了X11转发非root用户无法正常工作相关的知识,希望对你有一定的参考价值。

Cross-Posted

环境细节

服务器的/ etc / ssh / sshd_config的相关位:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

客户端的$ HOME / .ssh / config的相关位:

Host *
    XAuthLocation /opt/X11/bin/xauth
    ForwardX11 yes
    ForwardX11Trusted yes

在macOS High Sierra上使用XQuartz。

问题

我正在开辟一个流浪汉Ubuntu 18.04 VM。我在vagrant用户之外添加了第二个用户。

ssh -X vagrant@ubuntu-bionic xclock

当我以vagrant用户身份登录时,我可以让X11Forwarding工作。当我以ops用户身份登录时,我无法使X11Forwarding工作。

ssh -X ops@ubuntu-bionic xclock

X11 forwarding request failed on channel 0
Error: Can't open display:

我希望能够让它与ops用户一起工作。来自客户,$DISPLAY有价值。当我使用vagrant登录时,$DISPLAY有一个值。当我以ops身份登录时,$DISPLAY未设置。如果我将$DISPLAY设置为与vagrant用户匹配,我会得到同样的错误:

Error: Can't open display: localhost:10.0

X11UseLocalhost yes

Error: Can't open display: ubuntu-bionic:10.0

X11UseLocalhost no

如果我以ops然后sudo su - vagrant登录,$DISPLAY仍未设置。如果我以vagrant然后sudo su - ops登录,$DISPLAY将被继承。

为了让这个工作,我错过了什么?我在每个用户(包括xhost +)中运行sudo -s root xhost +,但它仍然不起作用。

如果我将-vv添加到我的ssh命令中,当连接为vagrant时,我会看到此消息:

X11 forwarding request accepted on channel 0

ops

Remote: X11 forwarding disabled in user configuration file.
X11 forwarding request failed on channel 0
答案

我没有得到整个主题,但是对于我非常相似的情况,它有助于创建用户〜/ .Xauthority文件。我从vagrant用户主目录复制它,然后设置新的所有权。

以上是关于X11转发非root用户无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

无法通过带有 X11 转发的“npm start”运行电子

在 Windows 上使用 x11 转发在 docker 内运行 Omnet++。 SSH 不工作

Ubuntu 上的 X11 转发错误,尽管它适用于 Windows

如何在 WSL2 上设置工作 X11 转发 [关闭]

使用没有 X11 转发的 git

Docker 网络已禁用:警告:IPv4 转发已禁用。网络将无法正常工作