MacOS X11 ウィンドウはターミナルからは起動しませんが、XQuartz ターミナルからは起動します

MacOS X11 ウィンドウはターミナルからは起動しませんが、XQuartz ターミナルからは起動します

brew を使用して XQuartz をインストールしましたが、X11 転送は XQuartz 経由でターミナルを起動し、ssh -X を使用する場合にのみ機能するようです。ターミナル アプリで ssh -X を実行しても機能しません (XQuartz はバックグラウンドで引き続き実行されています)。

答え1

brew の xquartz バージョンの代わりに、Web サイト xquartz.org から直接 XQuartz-2.8.5.pkg をダウンロードしてインストールしてみてください。

私の場合、ターミナルまたは iTerm から X11 アプリを起動すると、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 の設定を処理する別のスクリプトもあります。

ご覧のとおり、この特権拡張機能と DISPLAY セット メカニズムは /opt/X11/ にインストールされていますが、/opt/homebrew/ にはインストールされていないため、pkg インストーラーからインストールする必要があります。brew のインストールで何か問題が発生した可能性があります。

関連情報