2010-11-20 61 views
0

最近,为了尝试使用xmonad(显然需要X11版本> = 1.4.6.1),我尝试通过Macports升级Snow Leopard的原生X11。然而,升级之后,X11的表现很奇怪。例如,它不会自动启动quartz-wm(尽管它可以通过xterm手动执行)。它在长时间不活动的情况下也会崩溃。检查控制台,我得到以下错误:[org.macports.startx:没有指定协议]。此外,尽管在升级到X11 v1.9.2的,xmonad仍然不能正常工作,给我以下错误: 如何在故障的Macports升级后修复X11?


配置xmonad-0.9 ...
Setup.lhs:至少有以下依赖性缺失:
X11 > = 1.4.6.1(!)
在这一点上,我决定放弃xmonad并使用本地X11,但现在这给了我完全相同的错误。特别是,本机X告诉我它不能与在DISPLAY变量中设置的显示(:0.0)通信(显然这已经被macports的X11安装所改变)。不用说,这是非常令人沮丧的,任何帮助将不胜感激。谢谢!

+0

投票发送给超级用户,它应该是一个更好的选择。 – dmckee 2010-11-20 22:56:17

回答

0

MacPorts不升级Snow Leopard的X11,它安装了一个完全独立版本的X11客户端库以及您要求的其他任何软件包。这是MacPorts及其所有软件包的故意设计决定。默认情况下,一般情况下,MacPorts将所有内容安装在/opt/local之下。要不使用MacPorts版本,只要确保在shell环境变量中不包含任何/opt/local目录 - 特别是/opt/local/bin - 特别是PATH - 或者任何可执行文件和库的绝对路径。如果你想完全删除的MacPorts,下面将摆脱刚才的一切:

$ sudo rm -rf /opt/local 
+0

虽然我很欣赏这个回复,但我宁愿不必将我的PATH中的/ opt/local关闭,因为我非常广泛地使用其他端口。此外,似乎X11端口以某种方式改变了原生X的行为。例如,打开终端并在“/ usr/X11/bin/X”中输入X就很好,除非它不触发quartz-wm (所以它看起来不像“Mac-native”)。但是,通过转到/Applications/Utilities/X11.app启动X会触发“找不到协议”错误,并阻止我启动任何X应用程序(包括xterm)。希望这可以稍微澄清一下问题。 – Dan 2010-11-20 22:07:00

0

的X11到Xmonad错误消息指这是哈斯克尔http://hackage.haskell.org/package/X11/,这似乎并没有要求任何X服务器的特定数字版本X11正确。换句话说,你在咆哮错误的树。