在Apple OS X上为SSH X11转发安装X Window System XQuartz
问题
如何将远程Linux / Unix服务器/工作站上运行的图形界面程序显示到本地的Apple Macbook pro笔记本电脑上。
如何在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版本。
最新版本的Apple OS X Mountain Lion和Mavericks不再附带X11.app即XQuartz服务器。
所以需要我们自己下载并安装服务器。
OS X Yosemite升级后无法加载X11
先删除现有的XQuartz服务器,然后重新安装。
下载并安装XQuartz服务器
访问此页面并下载XQuarz服务器。https://xquartz.macosforge.org/
下载XQuarz软件包后,通过双击"下载"文件夹中的软件包图标来安装服务器。
请按照屏幕上的说明完成安装。
隧道协议是一种网络协议,它封装了有效负载协议,充当有效负载协议。
进行隧道传输的原因包括在不兼容的传输网络上承载有效负载,或通过不可信网络提供安全路径。
SSH通常用于以安全方式通过Internet传输不安全的流量。
设置SSH X11转发
只需键入以下命令即可在ssh上使用X:
ssh -X user@RemoteserverNameHere x-app-name-here &
或者
ssh -X userName@Server-Ip-Address-Here x-window-app-name-here &
例子
在此示例中 ,使用theitroad的用户身份登录nas01Linux服务器:
$ ssh -X theitroad@nas01
或者
$ ssh -X nas01
您将在Dock中看到XQuartz服务器,即,一个新的XQuartz图标位于屏幕的底部.
通过运行xeyes或xclock或所需的任何其他GUI应用程序来测试X11。远程服务器上的语法如下:
$ app-name $ /path/to/app-name $ app-name &
在此示例中,我在远程服务器上运行xeyes:
$ xeyes
编辑~/ .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