使用 X11 将 Linux GUI 程序界面转发到 Mac

有时我们需要在服务器上运行一个 GUI 程序,然而我们是通过 SSH 连接到服务器的,看不到图形界面,怎么办呢?可以通过 X11 将 GUI 程序的界面转发到本地。

在 Mac 上使用 X11 需要安装 XQuartz,XQuartz 就是 macOS 下的 X11:

brew install --cask xquartz

如果你的服务器使用 Linux 系统,那么已经自带了 X11,不需要安装。

接下来使用 SSH 连接到服务器,并使用 -X 选项启用 X11 转发:

ssh -X user@host

这时,我们就可以运行一个 GUI 程序看看转发是否生效了。在服务器运行以下命令:

xclock

如果一切正常,你会在本地主机上看到一个时钟窗口。

Troubleshooting

如果看到下面的报错,说明你可能没有设置 DISPLAY 环境变量:

Error: Can't open display: xxx

解决方法是先设置 DISPLAY 环境变量,再打开 SSH 连接:

export DISPLAY=:0  # 设置 X11 Server 为本地主机

参考:macOS 安装并使用 XQuartz | 猫言猫语

posted @ 2024-03-06 18:11  Undefined443  阅读(1169)  评论(0)    收藏  举报