在 macOS 上通过 XQuartz 对 Docker 内 GUI 程序进行 X11 转发
在 macOS 上通过 XQuartz 对 Docker 内 GUI 程序进行 X11 转发
XQuartz 安装与配置
在 macOS 上,默认情况下没有内置 X11 服务器。需要安装 XQuartz,它是 macOS 上的 X11 服务器实现
1 | |
安装完后打开 XQuartz,进入 Settings > Security, 勾选 Allow connections from network clients,然后重启 XQuartz,查看 XQuartz 的进程号以及占用的端口
1 | |
输出格式应为
1 | |
进行 X11 转发
利用 xhost 指令允许来自本机的连接
1 | |
直接使用 xhost 指令可以打印允许的网络连接,例如
1 | |
完成后可以使用以下指令进行测试
1 | |
- 此处
-e DISPLAY=docker.for.mac.host.internal:0的作用为添加DISPLAY这一环境变量,数字 0 根据 XQuartz 监听端口的不同会有所改变,一般来说默认的端口是 6000,倘若实际使用过程中是 6001,只需要把 0 改为 1,其他以此类推即可。其中docker.for.mac.host.internal也可以替换成host.docker.internal或者本机地址。
Reference
在 macOS 上通过 XQuartz 对 Docker 内 GUI 程序进行 X11 转发
https://blog.iks-ran.com/2025/01/06/x11-forwarding-for-docker-on-macos/