
Я установил XQuartz с помощью brew, и похоже, что переадресация X11 работает только тогда, когда я запускаю терминал через XQuartz и использую на нем ssh -X. Она не работает, когда я запускаю ssh -X в своем приложении Terminal (XQuartz все еще работает в фоновом режиме).
решение1
Вместо версии xquartz от brew вам следует попробовать загрузить и установить XQuartz-2.8.5.pkg непосредственно с сайта xquartz.org.
Для меня запуск любого приложения X11 из терминала или iTerm автоматически запускает XQuartz.app, а в терминале $DISPLAY уже был установлен на необычное значение, которое, несомненно, было установлено установщиком pkg (я не использую xquartz из brew). Похоже, что какой-то скрипт launchd или приложение устанавливает эту переменную. Может быть, версия brew этого не сделала?
$ echo $DISPLAY
/private/tmp/com.apple.launchd.NzZKy3HHcG/org.xquartz:0
Я нахожу файл launchd plist в: /Library/LaunchDaemons/org.xquartz.privileged_startx.plist, который начинается так:
/opt/X11/libexec/privileged_startx -d /opt/X11/etc/X11/xinit/privileged_startx.d
А также есть еще один скрипт: /Library/LaunchAgents/org.xquartz.startx.plist, который, похоже, заботится об установке DISPLAY.
Как вы видите, это расширение привилегий и механизм DISPLAY set установлены в /opt/X11/, но не в /opt/homebrew/, поэтому они должны быть из установщика pkg. Возможно, что-то пошло не так с установкой brew.