在Mac OS X(Snow Leopard)和Ubuntu 10.10之间使用Xnest

时间:2011-04-11 22:18:43

标签: osx-snow-leopard x11 ubuntu-10.10

我刚在系统上安装了Ubuntu 10.10桌面来进行一些开发工作。我想在我的MacBook上运行X服务器环境而不是键盘跳转(Ubuntu盒子上的图形系统不是很好)。

在网上浏览我发现了以下命令,我可以从Mac OS X中的终端运行:

/usr/X11/bin/Xnest -geometry 1280x900 :1 & DISPLAY=:1 ssh -X -Y grog@ubuntusys gnome-session

注意我已经设置了ssh,因此身份验证会自动进行。

这看起来效果很好 - Ubuntu桌面出现在我的Mac OS X屏幕上! (如果它还没有运行,它似乎足够智能启动X11)。但是,如果我尝试打开任何程序,它就会消失。如此接近。

任何建议表示赞赏。

更新:由于下面的答案提供了教程链接,我学习了如何进行基本的X转发。您可以在Mac上的X终端窗口中执行此操作,如下所示:

ssh -X -Y username@targetsystem

然后您可以启动在远程系统上运行的X应用程序,但它们的窗口在Mac X服务器上。我现在遇到的问题是我想启动gnome桌面会话:

gnome-session

但问题在于会话接管了整个Mac桌面。您无法调整大小或移动它。更糟糕的是,由窗口管理器管理的窗口的顶部最终位于Mac OS所在的菜单栏下方,因此您无法访问这些控件。我认为这是Xnest打算解决的问题,还是我误解了它的全部内容?

2 个答案:

答案 0 :(得分:2)

根据您运行的OSX版本,最好的选择可能是原生Mac X11发行版。它位于安装光盘上(或者,如果你像我一样,你通过App Store获得Lion,默认情况下它可以在Utilities文件夹中找到。)

启动它(应用程序>实用程序> X11)会打开一个特定的X11 x终端,您可以使用它来转发到您的Ubuntu系统。答案1中的链接已经很老了,我发现这个链接更有帮助:http://www.craigryder.com/linux-ubuntudebetc/x11-forwarding-and-ssh-for-remote-linux-ubuntu-desktop/

我使用的唯一额外选项是-C标志,用于在运行ssh命令时启用压缩。请注意,您不必运行完整的gnome会话来使用X功能 - 您只需运行所需的程序(即$ gedit&)。这可以让你不再使用整个桌面,但由于你的Mac桌面仍然被涂黑了,这有点奇怪。您可以在http://ubuntuforums.org/showthread.php?t=1373823&page=2

找到有关此技术的更多信息

我也注意到在10.10 Ubuntu上,我的系统显示了你提到的相同奇怪的UI控制行为,但是当我将我的发行版升级到Ubuntu 11时,这些行为就消失了。我真的没有深入了解是否只是将X升级为10.10 Ubuntu系统上的最新版本可以解决这个问题,但我可以确认它没有出现在11中。

最后一点,这似乎仍然迫使Mac X11服务器进入全屏模式,但是如果你按下COMMAND-ALT-A它会立即将你从X桌面带回到你的Lion桌面,这让我当我需要跳出我的Ubuntu系统时,同时运行并仍然高效。我似乎总能访问所有X应用程序的所有标题和菜单栏,就像我坐在Ubuntu桌面上一样。

一个警告 - 我正在运行以上程序连接到运行Ubuntu的VMWare工作站VM(启用了3D加速) - 连接到实际硬件可能(虽然我无法理解如何)导致行为略有不同

希望这有帮助!

答案 1 :(得分:1)

VNC不适合你吗? 或者通过SSH定期进行X转发。