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

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

我有一台在云托管服务上远程运行的 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 访问它。

现在怎么办?

答案1

有几种方法可以实现这一点,取决于您真正需要做什么。

为了将远程应用程序转发到本地 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 环境中,我只需运行:

    mintmenu&

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

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

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

答案2

在你的 Mac 上,如果你还没有安装 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 桌面窗口。

答案3

您的想法是正确的,但是语法是错误的:)

startx不会重新开始,ssh因为它需要一个屏幕(也就是X要与之通信的服务器)

尝试这个命令来启动桌面 GUI

sudo service gdm start

这将启动桌面环境。

断开。

并尝试

ssh -X nautilus username@host 

注意没有测试上面的行

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

相关内容