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


35

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

$ 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对其进行访问。

现在怎么办?


2
尝试安装xvfb。我没有经验,但是它就像没有硬件的屏幕一样。
–ζ

Answers:


21

有多种方法可以完成此操作,具体取决于您实际需要做什么。

为了将远程应用程序转发到本地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等)主菜单,并从那里与远程系统进行交互,而无需完整的图形前端。在远程Linux Mint env上,我只需运行:

    mintmenu&

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

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

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


7

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

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桌面时,我也总是会遇到Composiz错误。(-:

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


这有效,XQuartx是必需的。
SmallChess

在带有Xming的WSL中的 Windows 10上显示效果很好。
严苛的

-1

您有正确的主意,但语法错误:)

startx不会ssh像这样开始,因为它需要屏幕(与之X对话的服务器)

尝试使用此命令启动桌面GUI

sudo service gdm start

这将启动桌面环境。

断开。

并尝试

ssh -X nautilus username@host 

注意未测试以上行

如果一切正常,您应该会看到ubuntu文件管理器弹出窗口。如果不是的话,您可能会缺少某些库,或者命令的语法错误(我脑海中没有尝试过)。


4
没有必要(或理由)运行sudo service gdm start。在X服务器的上运行SSH客户端 --the机被用作工作站。它无需在远程计算机上运行ssh -X即可工作。
伊利亚·卡根

啊,我不知道这一点,谢谢您的信息。
马特·莫兹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.