XQuartz 2.7.11 无法在 Mac Sierra 10.12.6 上启动



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重新安装,但我总是得到相同的结果。

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

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

  • 确保您的 Sierra> 10.13.x
  • 通过以下方式重新安装石英桶:酿造木桶重新安装石英
  • 如果需要,请使用冲泡桶重新安装石英--强制

这应该给你 2.7.11

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

自制酒桶的冲泡链接应用程序(自动创建指向/应用程序文件夹的符号链接)

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

其他要检查的内容包括

  • 在您的终端外壳(bash)中,找到xquartz的可执行bin。
$ which xquartz
  • 如果它确实/可能不存在,但它应该在/opt/X11/bin/xquartz 中
  • 现在 (1) 通过导出 PATH="/opt/X11/bin:$PATH" 来确保/opt/X11/bin/在您的路径中,或者 (2) 为 xquartz 创建一个从/usr/local/bin/xquartz 到/opt/X11/bin/xquartz 的符号链接。

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

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

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

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

然后重新启动,如 MAN LaunchCTL 中所述。请注意,这将为所有用户设置 launchctl PATH。对于早期版本的 macOS,请参阅此页面。

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

也为此损失了几个小时。我的"异常代码"是127,而不是126,但除此之外,症状是相似的。对我来说,事实证明修复非常简单:

XQuartz 不再启动,如果你的默认 shell 不是zsh!要解决此问题,请在运行 XQuartz 之前发出chsh -s /bin/zsh

参考: https://github.com/XQuartz/XQuartz/issues/120#issuecomment-1183941633

最新更新