在Apple OS X上为SSH X11转发安装X Window System XQuartz

时间:2019-11-20 08:54:11  来源:igfitidea点击:

问题

如何将远程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