Mac OSX Yosemite 所有 X11 应用程序都不可用

All X11 applications got unavailable in Mac OSX Yosemite

概览

所有 X11 应用程序都在我没有意识到的情况下变得不可用。由于没有 Time Machine 备份,无论如何我都需要解决这个问题。

环境

试用

我尝试使用 dtruss 转储系统调用。下面的例子用sudo dtruss xclock表示。其他 X11 应用程序的行为也是如此。 recvfrom.

后所有 X11 应用程序挂起

我也试过了...

但那些都与它无关。

抱歉交叉张贴日语here;仍然没有答案...
谢谢你。

OS X 安装程序删除了 /usr 的符号链接。最简单的解决方案是重新安装 XQuartz。这应该为使用旧系统位置的 Wireshark 之类的东西设置备份。

你也可以运行sudo /usr/libexec/x11-select /opt/X11

我记得大约 5 年前我们在 libX11 和 libxcb 中绊倒了 poll(2) 行为中的一个问题,这让我想起了。这个的残余在 libxcb 的 configure.ac 中,我们使用 select(2) 而不是旧版本的 OS X 的 poll(2)。问题是他们不支持调用poll(2) 在字符设备上,我们会得到一个 EAGAIN。

在您的情况下,情况似乎并非如此,但是 某事 在 recvfrom 中获得了 EAGAIN 并且可能忽略它而不是再次尝试。如果你能弄清楚 recvfrom 的调用点是什么(也许在 libxcb 中?),那将是一个很好的下一步。

为了让我获得更多数据,能否请您在 http://bugreport.apple.com 提交一个雷达并包含一个针对 xclock 的系统诊断?

通过设置解决 DISPLAY=:0.0