Apple OS X:为小牛或优胜美地上的SSH X11转发安装X Window System XQuartz

时间:2020-01-09 10:37:13  来源:igfitidea点击:

我需要通过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