Ubuntu 本地显示

Ubuntu 本地显示

我有一台运行 gdm 的 Ubuntu 服务器,其中有图形用户会话。我在该服务器上的远程主机上也有一个打开的 ssh 控制台。

我想从该远程控制台运行 x windows 应用程序。

export DISPLAY=0.0 
xclock
Error: Can't open display: 0.0

如何在不重新启动 gdm 和启用 xhost + 远程连接的情况下做到这一点,有什么办法吗?我不能使用本地命名管道连接到显示服务器吗?

答案1

您需要以登录的同一用户身份运行要显示的命令。如果正在gdm运行,则该用户为 root。

# DISPLAY=:0.0 yourcommand
or
# export DISPLAY=:0.0
# yourcommand

如果您想允许本地计算机上的所有其他用户使用显示器,请以显示器的当前用户身份运行此命令:

xhost +local:

(: 之后什么也没有)

如果您不想允许其他用户使用显示器,那么这可能会成为一个问题。在这种情况下,您需要使用xauth更细粒度的控制。

答案2

在 X-Windows 会话中,打开终端并输入

xhost +local

然后在远程 SSH 终端中运行命令:

export DISPLAY=:0.0
xclock &

这应该可以正常工作。

答案3

display 属性需要以 ':' 开头。整个符号实际上是主机:显示号,但如果您希望它显示在本地主机上,则可以省略主机部分。但是,不能省略冒号。因此“:0.0”可能是您想要的值(并且“:0”可能也可以)。

当从远程主机进入时,实际上最简单的事情是(因为它负责 X 身份验证确保 X 连接安全)是让 ssh 为您处理 X 屏幕转发和环境设置。您可以使用 -X 开关执行此操作:

ssh -X 远程主机.example.com

完成后,你可以检查 DISPLAY 变量,你会发现它类似于:10.0,因为它实际上是将远程 X 显示端口转发到本地显示器。

相关内容