其实这件事的源头在于之前一直想白嫖 Studio 3T,但网上的破解方式基本都是 Windows 平台的,无意间看到了这种解决方案。

用 docker 安装 Linux 版的 Studio 3T,同样是有30天试用期,不过重建会快很多。

参考链接:
https://cntnr.io/running-guis-with-docker-on-mac-os-x-a14df6a76efc

socat

socat 是 Linux 下的一个工具,可以在两个终端间构造双向的数据通道。我们最终目的就是在 docker 容器和我们主机的X窗口系统之间构建连接。
安装 socat 并监听 6000 端口(X窗口系统的默认端口)。

1
2
brew install socat
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"

XQuartz

为了在 macOS 系统上运行X窗口系统,我们需要借助 XQuartz 软件。这是一个开源项目,提供了在macOS 系统上运行X窗口系统的解决方案。
XQuartz项目官网下载并安装,或者可以使用 homebrew 安装:

1
brew cask install xquartz

安装完成后需要重启机器。然后启动 XQuartz:

1
open -a Xquartz

开启 Xquartz 后可能会跳出软件的终端界面,关闭即可。在 preferences>security里勾选allow connections from network clients.

使用 docker 运行 GUI 程序

关键在于要把本机ip绑定到DISPLAY环境变量上。docker 里可以用docker.for.mac.host.internal获取本机ip. 通过以下命令即可使用 docker 启动 Studio 3T.

1
docker run -e DISPLAY=docker.for.mac.host.internal:0 --rm zheeeng/studio3t