操作步骤
- 下载XQuartz并安装
- 使用 xhost 命令,为远程主机添加权限:
- ssh 连接远程主机
- 执行 xclock 验证
从XQuartz官网下载安装包,并安装到 Mac 本地电脑。
在 Mac 本地电脑的 Terminal 终端上,执行 xhost 命令,为 Linux 远程主机(假定 Linux 远程主机的 IP 地址是 192.168.31.200)添加权限。
~ % xhost + 192.168.31.200
192.168.31.200 being added to access control list
在 Mac 本地电脑的 Terminal 终端上,执行 ssh -XY 用户名@IP地址,可连接 Linux 远程主机(并能运行 Linux 远程主机上需要图形界面的应用)。假定用户名是 gdv2,
~ % ssh -XY gdv2@192.168.31.200
gdv2@192.168.31.200's password:
_ _ _ _ _ _
/ \ ___ ___ ___ _ __ __| | __| | ___ __ __| | __(_)| |_
/ _ \ / __| / __|/ _ \| '_ \ / _` | _____ / _` | / _ \\ \ / /| |/ /| || __|
/ ___ \ \__ \| (__| __/| | | || (_| ||_____|| (_| || __/ \ V / | < | || |_
/_/ \_\|___/ \___|\___||_| |_| \__,_| \__,_| \___| \_/ |_|\_\|_| \__|
Welcome to Atlas 200I DK A2
This system is based on Ubuntu 22.04.4 LTS (GNU/Linux 5.10.0+ aarch64)
gdv2@davinci-mini:~$
gdv2@davinci-mini:~$ xclock
如果在 Mac 本地电脑上出现一个钟表的图形界面,就说明成功了。
命令说明
ssh命令
ssh 命令大家很熟悉了,这里仅介绍与 X11 forwarding 相关的几个选项。
本部分译自 ssh 命令手册,可见 man ssh。
-X :打开 X11 forwarding。也可以通过在 configuration 文件中对每个 host 单独进行设置。
应谨慎启用 X11 forwarding。具有绕过远程主机文件权限的用户(对于用户的X授权数据库)可以通过转发连接访问本地X11显示器。攻击者可能能够执行诸如击键监控之类的活动。 因此,X11 forwarding
默认受到 X11 SECURITY 扩展限制。 有关更多信息,请参阅 ssh_config(5) 中的 ssh -Y 选项和 ForwardX11Trusted 指令。
-x:关闭 X11 forwarding。
-Y:信任该 X11 forwarding,被信任的 X11 forwarding 不受到 X11 SECURITY 扩展限制。
xhost命令
xhost 是用来控制X server访问权限的。
通常当你从 hostA 登陆到 hostB 上运行 hostB 上的应用程序时,做为应用程序来说,hostA 是 client,但是对图形来说,是在 hostA 上显示的,需要使用 hostA 的
Xserver,所以 hostA 是 server。因此在登陆到 hostB 前,需要在 hostA 上运行 xhost + 来使其它用户能够访问 hostA 的 Xserver。
主要参考资料
- mac X11 XQuartz的安装与使用,CSDN,2022-06-06发布。