当前位置: 首页>>技术教程>>正文


如何通过Mac上的X-windows访问我的远程Ubuntu服务器?

, ,

问题描述

我有一个在云托管服务上远程运行的Ubuntu服务器(12.04 LTS)。我通过apt-get安装了ubuntu-desktop

$ sudo apt-get install ubuntu-desktop

它似乎安装没有问题。

我已确认服务器上的/etc/ssh/ssh_config包含这些行

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

并且服务器上的/etc/ssh/sshd_config包含以下行:

X11Forwarding yes

然后我重新启动了服务器。它回来没问题。

现在,在我的Mac上启动X11.app我会看到一个Xterm。

我使用以下命令从此终端连接到我的服务器:

$ ssh -X <myhost>

我连接到服务器,没问题。

此时我不知道该怎么办。我试过了

$ sudo startx

但我得到一个“没有找到屏幕”的错误。

我没有屏幕,因为它是一个无头云服务器,但我只想通过X从我的Mac访问它。

现在怎么办?

最佳解决方法

根据您真正需要做的事情,有几种方法可以实现。

要将远程应用程序转发到本地X环境,您需要在Mac上安装X11(您可以在Apple支持网站上找到它):http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

从X11应用程序中,打开终端,然后使用以下命令访问远程主机:

    ssh -XC user@host

然后,当记录时,只需运行所需应用程序的命令,例如:firefox,nautilus,thunderbird,等等……

您甚至可以仅启动系统(Ubuntu,Xubuntu,Mint等)主菜单,并从那里与远程系统进行交互,而无需完整的图形化front-end。在远程Linux Mint环境中,我只需运行:

    mintmenu&

如果您真的需要它,您甚至可以在Mac的X11本地启动远程图形环境,只需运行:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

比任何VNC都好,甚至比X11VNC连接更好!安全和压缩连接FTW。

次佳解决方法

在Mac上,如果尚未安装XQuartz,则需要安装XQuartz(请参阅http://xquartz.macosforge.org)。安装完成后,重新启动并打开XQuartz终端窗口并通过SSH连接到您的Ubuntu Server系统:

ssh -X yourubuntuserver

如果lightdm正在运行(请参阅https://askubuntu.com/a/153423/66799以了解如何根据需要打开和关闭它),请运行此命令以通过X11将Ubuntu Unity隧道传输到Mac:

gnome-session --session=ubuntu-2d

这适用于Ubuntu Server 12.04 LTS和Mac OS X Mountain Lion 10.8.2,但我偶尔会遇到Composiz错误。也就是说,我在本地运行Ubuntu Desktop时总是遇到Composiz错误。 ( – :

您可以注销Unity以关闭Ubuntu桌面窗口。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2493.html,未经允许,请勿转载。