我通常在 X 转发的 GNOME 终端会话中工作,我这样启动它:
local-machine$ ssh -X remote-machine gnome-terminal
我这样做而不是在本地终端中运行 SSH,因为这意味着新选项卡将在远程主机上的同一目录中打开(相关未解决的问题)。
我注意到,当我尝试从这个 X 转发的终端启动 GUI 程序时,它失败了,例如
remote-machine$ gedit
(gedit:49577): Gtk-WARNING **: 14:32:45.928: cannot open display: localhost:13.0
但是,如果我还运行一个单独的 X 转发 shell 会话(并将其留在那里):
local-machine$ ssh -X remote-machine
然后我可以运行 GUI 应用程序,就像gedit
在 X 转发的 GNOME 终端实例中一样。
为什么这个解决方法有效?有没有更简单的方法来执行此操作(例如,我可以添加到命令中的标志ssh -X remote-machine gnome-terminal
)?