MacOS X11 視窗不會透過終端機啟動,但透過 XQuartz 終端機啟動

MacOS X11 視窗不會透過終端機啟動,但透過 XQuartz 終端機啟動

我使用brew安裝了XQuartz,似乎X11轉發僅在我透過XQuartz啟動終端並在其上使用ssh -X時才起作用。當我在終端應用程式上運行 ssh -X 時它不起作用(XQuartz 仍在後台運行)。

答案1

您應該嘗試直接從網站xquartz.org 下載並安裝XQuartz-2.8.5.pkg,而不是brew 的xquartz 版本。

對我來說,從終端啟動任何X11 應用程式或iTerm 都會自動啟動XQuartz.app,並且在終端機中$DISPLAY 已經設定為一個不尋常的值,該值肯定是由pkg 安裝程式設定的(我不使用brew 中的xquartz)。看起來有點像某些 launchd 腳本或應用程式設定了此變數。也許是brew版本沒有這樣做?

$ echo $DISPLAY
/private/tmp/com.apple.launchd.NzZKy3HHcG/org.xquartz:0

我在 /Library/LaunchDaemons/org.xquartz.privileged_startx.plist 下找到了一個 launchd plist,它啟動:

/opt/X11/libexec/privileged_startx -d /opt/X11/etc/X11/xinit/privileged_startx.d

在 /Library/LaunchAgents/org.xquartz.startx.plist 下還有另一個腳本,它似乎負責設定 DISPLAY。

如您所看到的,此權限擴充和顯示集機制安裝在 /opt/X11/ 中,但不在 /opt/homebrew/ 中,因此它必須來自 pkg 安裝程式。可能是brew安裝出了問題。

相關內容