本地系统:MacOS 12.4
远程主机系统:Ubuntu 18.04
ssh 命令大家很熟悉了,这里仅介绍与 X11 forwarding 相关的几个选项。
本部分译自 ssh 命令手册,可见 man ssh
xhost 是用来控制X server访问权限的。
通常当你从 hostA 登陆到 hostB 上运行 hostB 上的应用程序时,做为应用程序来说,hostA 是 client,但是对图形来说,是在 hostA 上显示的,需要使用 hostA 的 Xserver,所以 hostA 是 server。因此在登陆到 hostB 前,需要在 hostA 上运行 xhost +
来使其它用户能够访问 hostA 的 Xserver。
下载XQuartz并安装;
使用 xhost 命令,为远程主机添加权限:
xhost + 10.199.160.252
将上述 ip 换成自己的远程主机 ip。
ssh 连接远程主机并打开 X11 forwarding:
ssh -XY song@10.199.160.252
可以通过 xclock 命令来验证 X11 forwarding 是否能正常运行:
xclock
如果在本机出现一个钟表的图形界面说明转发成功。
在本机设置:
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
指定显示端口
export DISPLAY=localhost:1122
如果遇到乱码,可尝试:
export LANG=C
Ref:
https://blog.csdn.net/wang_zh1/article/details/107871367