我想远程启动远程机器上的xserver。
如果我直接在主机上键入"startx“(即使用物理键盘),则xserver将按预期启动。但是,当我试图通过ssh对同一个用户执行此操作时,此操作不起作用。
我得到以下服务器错误:
(EE) xf86OpenConsole: Cannot open virtual console 7 (Permission denied)startx仍然可以远程工作。
是什么阻止xserver在远程连接上启动?怎么绕开这条路?
发布于 2022-05-30 17:35:42
要运行X,需要对运行X的tty设备进行读/写访问(在您的例子中是tty7)。在过去,Xorg作为根用户运行,而/usr/bin/Xorg二进制文件设置了SUID位,因此在权限方面没有任何问题。
最近,Linux发行版开始切换到无根/SUIDless Xorg二进制文件,因此X服务器具有与用户相同的权限。对于在物理(tty)控制台上登录的用户来说,这不是问题,因为login进程将tty设备的所有权更改为登录用户。
有几种方法可以解决这个问题。
最干净的可能是把它的SUID位还给Xorg:
sudo chmod u+s /usr/lib/xorg/Xorg
发布于 2019-03-25 17:37:41
读取man ssh,并使用-X或-Y选项。
https://manpages.ubuntu.com/manpages/bionic/en/man1/ssh.1.html
https://askubuntu.com/questions/1128534
复制相似问题