【问题标题】:All X11 applications got unavailable in Mac OSX Yosemite所有 X11 应用程序在 Mac OSX Yosemite 中都不可用
【发布时间】:2015-08-09 13:47:12
【问题描述】:

概述

在我没有意识到的情况下,所有 X11 应用程序都无法使用。由于没有 Time Machine 备份,我还是需要解决这个问题。

环境

  • 比系统默认值更新的 X11 安装在 /opt
  • 因为某些应用程序需要来自/usr 的符号链接,所以我做到了。 (例如 Wireshark)
  • 因为stable 2.7.7 has forwarding bugs,目前我使用的是不稳定的2.7.8。

试用

我尝试使用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 的系统诊断?

    【讨论】:

      【解决方案2】:

      通过设置DISPLAY=:0.0解决

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-03
        • 2012-01-09
        • 1970-01-01
        • 1970-01-01
        • 2020-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多