我通过 ssh 连接到远程主机(没有 X 转发)。
在远程主机上sshd创建的shell中,为什么不能在默认情况下启动GUI程序$DISPLAY
$ eog
Unable to init server: Could not connect: Connection refused
(eog:31542): Gtk-WARNING **: 23:11:16.793: cannot open display:
$ echo "$DISPLAY"
$
当明确指定$DISPLAY=:0
在远程主机上创建一个窗口时?
$ DISPLAY=:0 eog
(eog:31546): dbind-WARNING **: 23:11:42.415: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
:0
默认值不是吗$DISPLAY
?
答案1
没有默认值DISPLAY
。如果未设置,并且您没有以其他方式指定目标显示,X 程序将无法连接到服务器。
这可能很有用,例如当您在 X 会话中运行时启动没有 X 连接的程序:临时清除DISPLAY
将确保找不到 X 会话。
看如何更改当前正在运行的应用程序的显示有关如何DISPLAY
使用的详细信息,以及在远程 X 显示器上打开窗口(为什么“无法打开显示器”)?了解连接到 X 服务器所需信息的详细信息。