【问题标题】:XQuartz 2.7.11 fails to launch on Mac Sierra 10.12.6XQuartz 2.7.11 无法在 Mac Sierra 10.12.6 上启动
【发布时间】:2018-01-05 22:58:03
【问题描述】:

XQuartz 在长时间正常工作后停止工作。我检查了一些明显的东西,比如我的 $PATH 以查看是否有东西踩到它,但没有发现与我之前的任何明显不同。

$ echo $PATH /usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/usr/X11/bin:/usr/local/opt/python/libexec/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin

因此,在查看了一百万条建议后,我使用以下列出的命令卸载了:https://gist.github.com/pwnsdx/d127873e24cef159d4d603accaf37ee4

使用XQuartz-2.7.11.dmg 重新安装后,我尝试通过在查找器窗口中右键单击 XQuartz.app 来启动它,但它没有启动。我可以看到的唯一问题迹象是在启动 XQuartz.app 时,我得到以下信息:

$ tail -f /private/var/log/system.log | grep xquartz Jan 5 17:26:33 bos-mpx3u com.apple.xpc.launchd[1] >(org.macosforge.xquartz.X11.24980[2612]): Service exited with abnormal code: 126

所以,我尝试卸载并重新安装XQuartz-2.7.9.dmg,重新安装XQuartz-2.7.11.dmg,甚至通过$ brew cask install xquartz 重新安装,但我总是得到相同的结果。

在这一点上,我已经花了很多时间试图追查这个问题。非常感谢任何帮助。

【问题讨论】:

    标签: x11 xquartz


    【解决方案1】:

    通常很难用有限的信息来解决问题。但检查点很少,因为它工作正常。

    • 确保您的 Sierra > 10.13.x
    • 通过 brew cask reinstall xquartz 重新安装 xquartz cask
    • 如果需要,请使用 brew cask reinstall xquartz --force

    这应该给你 2.7.11

    确保您的 xquartz 符号链接正确。它应该在您的应用程序文件夹中。参考这个:

    brew linkapps for homebrew casks (automatically create symlink to /Applications folder)

    希望对您有所帮助。我测试过并且工作正常。

    需要检查的其他事项包括

    • 在终端shell (bash) 中,找到xquartz 的可执行bin
    $ which xquartz
    
    • 如果存在/可能不存在,但它应该在 /opt/X11/bin/xquartz 中
    • 现在要么 (1) 通过 export PATH="/opt/X11/bin:$PATH" 确保 /opt/X11/bin/ 在您的路径中,要么 (2) 从 /usr/local 创建 xquartz 的符号链接/bin/xquartz 到 /opt/X11/bin/xquartz 。

    这将正确链接您的 xquartz,或者至少将其链接到您可访问的二进制文件中。一些应用程序将读取确定 xquartz 位置的环境变量,因此请检查应用程序的文档以及它们对环境变量的期望。如果你好奇,只需在你的 shell 中输入 envprintenv 来为当前会话吐出你的环境变量。

    【讨论】:

    • 感谢,对于日志文件提供的信息不足,我深表歉意 ;-)。尽管我正在运行 Sierra 10.12.6,但我确实尝试了您的建议。如果我可以检查任何其他检查站,请告诉我。我已经查看了从 xquartz.app 包启动的实际应用程序,但仍然无法发现任何东西。
    • 嗨.. 似乎问题类似于apple.stackexchange.com/questions/247365/… 所述的问题,在这种情况下,您可能会看到问题是 tcsh,它已通过链接 tcsh 解决。您的情况可能完全不同,因此需要在重新启动后立即检查您的日志作者试图重新链接它 $sudo ln -s /bin/tcsh tcsh
    • 不幸的是,尽管我相信它在正确的路线上,但这并没有奏效。它似乎与 PATH 或 shell 相关。
    • 命令brew cask reinstall xquartz --force 对我有用。我想这是因为它修复了 launchctl 问题。 重新启动以重置,否则您将收到无法打开显示错误。 (可能有一种方法可以在不重新启动的情况下重新启动它,但我没有尝试过。)
    【解决方案2】:

    我在https://docs.brew.sh/FAQ.html 找到了以下问题的解决方案。

    问题:我的 Mac .apps 找不到 /usr/local/bin 实用程序!
    回答: macOS 上的 GUI 应用程序没有 /usr /local/bin 默认在他们的 PATH 中。如果您使用的是 Mountain Lion 或更高版本,则可以通过运行来解决此问题:

    sudo launchctl config user path "/usr/local/bin:$PATH"
    

    然后重新启动,如 man launchctl 中所述。请注意,这将为所有用户设置 launchctl PATH。对于早期版本的 macOS,see this page

    一旦我应用了该更改并重新启动,一切都很好。

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      相关资源
      最近更新 更多