在MacOS X上运行X11服务器 - 并从远程计算机连接

时间:2009-09-01 20:34:13

标签: macos x11 vnc

问题现在问SU

我有一台Windows XP笔记本电脑,我可以在那里运行Cygwin X11服务器(脚本startxwin.bat,IIRC)。我还使用了一台远程计算机 - 它恰好是一台距离大约1800英里的Solaris 10 SPARC计算机 - 出于这个问题的目的可以称为xclient.subdom2.example.com

无论好坏 - 更糟糕的是 - 我在笔记本电脑上使用xhost +xclient.subdom2.example.com以允许使用远程机器的任何人在我的机器上显示他们的X客户端。幸运的是,我是唯一一个定期使用Solaris机器的人,公司安全性非常严格,我可以忍受安全风险。

从XP笔记本电脑,我然后远程连接到X客户端机器,并设置环境变量DISPLAY=xplaptop.subdom1.example.com:0.0,并可以在远程机器上运行X客户端程序,并愉快地看到显示,如果有时慢一点,在XP笔记本电脑上。 (根据分配给笔记本电脑的DHCP名称的长度,我偶尔不得不使用IPv4地址而不是机器的FQDN。)

我还有Apple MacBook Pro,我想在其上复制XP笔记本电脑的功能。不幸的是,我还没有弄清楚需要什么神奇的咒语来让X11服务器运行得令人满意。看来只需单击/Applications/Utilities中的X11服务器即可。再次运行xhost命令(使用DISPLAY=macpro.subdom1.example.com:0.0)似乎无法解决问题。

你能说出所需的咒语是什么吗?或者建议用一个或两个音节的单词拼写出答案的指针?


此外 - 在红利问题类别中 - X11服务器对网络变化(公司直接有线DHCP连接和家庭无线机场之间通过VPN连接到公司之间的变化)的反应有多么轻松和良好?它是“在新环境中重新启动”问题,还是会自动检测到更改?


如果它们更容易设置,我还会考虑其他方法来实现相同的结果 - 例如VNC或Mac等价物。我相信VNC安装在Solaris盒子上;如果不是,那就可以了。

2 个答案:

答案 0 :(得分:4)

这个问题应该转移到superuser.com。

就个人而言,我不使用xhost的东西。这是物流的噩梦......您必须担心x服务器中的安全性,配置项很少,例如允许tcp连接等。

通常,最简单的方法是使用ssh -X remote.host。这会将x11客户端送回主机的服务器。它基本上在你的ssh会话中设置一个DISPLAY变量,以便X11客户端有一个发送命令的地方。

我没有Mac,但我认为这适用于石英显示服务器和x11服务器。

答案 1 :(得分:2)

如KFro所述,使用ssh转发(-X标志)比处理xhost容易得多。它也恰好是安全的,你声称你是网络的,但是,这是你的数据。 ssh-forwarding只是让你的应用程序看到X客户端和服务器似乎在同一台机器上,一切正常。

如果你想进入xhost路线,首先要确保你拥有最新版本的XQuartz(已安装Apple的X Server)。你可以从http://xquartz.macosforge.org/trac/wiki获得它,我会推荐它。

它可以让你做很多很好的配置工作,比如剪贴板同步,键盘映射和窗口焦点,而不必在OS X的内部找到它们。对于较新的版本(或至少是最新版本),您有一个安全选项卡,允许您允许来自网络客户端的连接。我相信你仍然需要做xhost伏都教,但它提供了一个很好的复选框,让X听它。