我进行了一些搜索,发现似乎可以通过 ssh 将 X11 应用程序转发到 mac 机器(即 ssh-ing 进入 linux 机器并启动 X11 应用程序并让它显示在 mac 的显示器上)。
我想知道这是否可以反向完成(即ssh-ing到mac机器并启动一个应用程序并让它显示在linux显示器上)。如果这是可能的,我该如何设置它,更重要的是,它适用于哪些 OS X 应用程序?
我进行了一些搜索,发现似乎可以通过 ssh 将 X11 应用程序转发到 mac 机器(即 ssh-ing 进入 linux 机器并启动 X11 应用程序并让它显示在 mac 的显示器上)。
我想知道这是否可以反向完成(即ssh-ing到mac机器并启动一个应用程序并让它显示在linux显示器上)。如果这是可能的,我该如何设置它,更重要的是,它适用于哪些 OS X 应用程序?
这些说明应该有效,但我刚刚花了最后一个小时,还没有开始工作。
此外,您可能需要适用于 Mac 的 X11 的最新版本XQuartz。
编辑
XQuartz 2.3.3.2 (xorg-server 1.4.2-apple42) 在 Preferences 下有一个 Security 选项卡,带有一个名为“Allow connection from network clients”的选项。我怀疑这个设置会有所作为。
只有 X11 应用程序本身可以通过 X11 转发(因此大多数 OSX 应用程序将无法运行)。但是,请查看远程桌面软件。它的运行速度不如 X11,但应该允许大多数应用程序正常运行(OpenGL 可能无法运行)。远程桌面软件的这种比较应该可以帮助您入门。
这仅适用于 X11 应用程序(因此“X11 转发”;-)),即可能不是您感兴趣的。获得“真实”MacOS X 应用程序显示的唯一方法是使用某种远程桌面/vnc(您可以通过 ssh 进行隧道传输)。
当然。您将需要至少设置一个 X11 服务器和您的 SSH 服务器。如前所述,这只会让您转发在 X 中运行的应用程序。因此,值得研究 vnc,它是跨平台的,显然包含在 OS X 10.4+ 中
在 X 术语中,我相信您想从 Linux 服务器运行 Mac 客户端。所以你当然不需要在 Mac 上安装 X 服务器。
正如 macosxhints.com 的提示中所述,您需要做的是在 Mac 上编辑 /etc/sshd_config
至
如果 Mac 运行 10.4 或更高版本,仅此而已。“ssh -X you@yourmac /usr/X11/bin/xterm”现在可以工作了。
如果 Mac 仍在运行 10.2 或 10.3,那么您需要做更多的工作来配置 sshd 以加载 X11 身份验证 cookie,因为当时 OSX 中包含的 sshd 程序不知道 OSX 中包含的 xauth 程序。IIRC,您需要重新编译 sshd 或手动使用 xauth。