4

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

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

4

2 回答 2

4

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

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

这应该给你 2.7.11

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

brew linkapps for homebrew casks(自动创建到 /Applications 文件夹的符号链接)

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

其他要检查的事情包括

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

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

于 2018-01-26T11:55:08.273 回答
2

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

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

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

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

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

于 2018-02-25T19:50:04.120 回答