【问题标题】:All X11 applications got unavailable in Mac OSX Yosemite所有 X11 应用程序在 Mac OSX Yosemite 中都不可用
【发布时间】:2015-08-09 13:47:12
【问题描述】:
概述
在我没有意识到的情况下,所有 X11 应用程序都无法使用。由于没有 Time Machine 备份,我还是需要解决这个问题。
环境
试用
我尝试使用dtruss 转储系统调用。以下示例由sudo dtruss xclock 表示。其他 X11 应用程序的行为也是如此。所有 X11 应用程序在recvfrom 之后挂断。
我也试过了……
rm ~/.Xauthority
- 重新安装相同版本的 X11
但那些与它无关。
很抱歉用日语交叉发布here;仍然没有答案...
谢谢你。
【问题讨论】:
标签:
macos
unix
x11
xquartz
【解决方案1】:
OS X 安装程序删除 /usr 中的符号链接。最简单的解决方案是重新安装 XQuartz。这应该为使用旧系统位置的 Wireshark 之类的东西设置备份。
你也可以运行sudo /usr/libexec/x11-select /opt/X11
我记得大概 5 年前我们在 libX11 和 libxcb 中遇到的 poll(2) 行为问题,这让我想起了。剩余部分在 libxcb 的 configure.ac 中,我们在旧版本的 OS X 中使用 select(2) 而不是 poll(2)。问题是它们不支持在字符设备上调用 poll(2),我们d 只是得到一个 EAGAIN。
在您的情况下,情况似乎并非如此,但是 something 在 recvfrom 中获得了 EAGAIN 并且可能会忽略它而不是再次尝试。如果您能弄清楚该 recvfrom(可能在 libxcb 中?)的调用点是什么,那将是一个很好的下一步。
要让我获得更多数据,您能否在http://bugreport.apple.com 提交一份雷达文件,并附上一个专注于 xclock 的系统诊断?