用户“usera”登录了 ubuntu 14.04.3 上的 GUI(15.04 上也出现同样的问题)。
当用户“userb”通过 ssh 登录 PC 时,他无法使用启动图形应用程序export DISPLAY=:0
,例如nautilus
命令返回此错误:
No protocol specified
** (nautilus:30658): WARNING **: Could not open X display
No protocol specified
(nautilus:30658): Gtk-WARNING **: cannot open display: :0
这曾经在 Ubuntu 14.04.2 中运行过。
是否有一个组或设置可以允许第三方用户在屏幕上启动图形应用程序?
这是w
命令输出:
userb@ubuntu:~$ w
11:57:05 up 0 min, 2 users, load average: 0,11, 0,03, 0,01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
usera :0 :0 11:56 ?xdm? 13.44s 0.10s init --user
userb pts/3 192.168.0.45 11:57 2.00s 0.03s 0.00s w
问题不是 ssh,当我在 usera GUI 上启动终端,然后输入sudo userb
和时,我可以重现相同的错误nautilus
。
谢谢你的帮助。
答案1
您可以通过在图形屏幕的终端中输入命令来允许所有本地(即已登录)用户使用显示器:
xhost +local:
根据您启动服务器的方式,您可以将此命令放入启动文件中,甚至可以使用该选项配置服务器。
答案2
如果您想从计算机打开远程显示器上的程序,则必须允许远程连接。通常,您必须为显示器 0 创建文件 /etc/X0.hosts,为显示器 1 创建文件 /etc/X1.hosts,等等。也许您也需要这样做。在导出显示器时,也请尝试写入整个主机名
export DISPLAY=hostname:0
或者将所有内容放在一行中
DISPLAY=hostname:0.0 nautilus