Apple OS X:为小牛或优胜美地上的SSH X11转发安装X Window System XQuartz
我需要通过SSH基本会话安全地通过X隧道传输X Window,以便在远程Linux/Unix服务器/工作站上运行X程序,并将显示返回到Apple Macbook pro笔记本电脑。
我在OS X Mountain Lion和Apple OS X Mavericks/Yosemite上都尝试了ssh -X user @ server1和ssh -Y user @ server2命令。
但是,我无法在X11上使用ssh命令。
如何在OS X上解决此问题,并使用ssh命令启用X11转发?如何在Apple OS X Mountain Lion或Mavericks或Yosemite上安装XQuartz(X11.app)服务器? 您需要在OS X v10.8或更高版本上安装XQuartz(X11.app),才能将ssh与x11转发配合使用。 XQuartz项目是开源项目,旨在开发在OS X上运行的X.Org X Window System版本。这是X服务器的Apple版本。
X11.app即XQuartz服务器不再附带最新版本的Apple OS X Mountain Lion和Mavericks。
在将ssh与X11转发一起使用之前,需要下载并安装服务器。
OS X Yosemite升级后无法加载X11
您需要删除/删除现有的XQuartz服务器,然后重新安装。
步骤1:下载并安装XQuartz服务器
访问此页面并下载XQuarz服务器。
下载XQuarz软件包后,通过双击"下载"文件夹中的软件包图标来安装服务器。
请按照屏幕上的说明完成安装:
步骤#2:SSH X11转发语法
隧道协议是一种网络协议,它封装了有效负载协议,充当有效负载协议。
进行隧道传输的原因包括在不兼容的传输网络上承载有效负载,或通过不可信网络提供安全路径。
SSH通常用于以安全方式通过Internet传输不安全的流量。
只需键入以下命令即可在ssh上使用X:
ssh -X user@RemoteserverNameHere x-app-name-here &
或者
ssh -X userName@Server-Ip-Address-Here x-window-app-name-here &
例子
在此示例中,以名为theitroad的用户身份登录基于Linux的nas01服务器:
$ ssh -X theitroad@nas01
或者
$ ssh -X nas01
您将在Dock中看到XQuartz服务器,即,一个新的XQuartz图标位于屏幕的底部,如下所示:
通过运行xeyes或xclock或所需的任何其他GUI应用程序来测试X11。
远程服务器上的语法如下:
$ app-name $ /path/to/app-name $ app-name &
在此示例中,我在远程服务器上运行xeyes:
$ xeyes
该演示程序已在OS X 10.9(即Mavericks和Linux远程服务器)上进行了测试。
编辑~/.ssh/config文件,并添加以下行,您无需将-X选项传递给ssh命令:
ForwardX11 yes
最后,您可以按如下所示运行GUI应用程序,然后在后台运行ssh:
ssh user@server -f -X app-Name ssh theitroad@nas01 -f -X gpass ssh theitroad@nas01 -f -X xeyes