X11.app (на SnowLeopard) не запускается
Сегодня я обнаружил, что X11.app больше не работает на моем Mac. Я не уверен, когда это произошло. Я думаю, что прошло несколько недель с тех пор, как я последний раз использовал приложение X11.
Под "больше не работает" я имею в виду, что он абсолютно ничего не делает. Если я пытаюсь запустить X11.app напрямую, в доке ничего не появляется и не появляется сообщение об ошибке - как будто я его вообще не запускал.
Если я пытаюсь запустить приложение X из Терминала (например, xterm), оно просто зависает навсегда. Я предполагаю, что он ждет запуска X11.
Я попытался переустановить X11 с установочного DVD Snow Leopard, но это, похоже, не дало никаких результатов.
Обновить
У меня установлен MacPorts и похоже xorg-server
возможно, был установлен. Я пытался удалить его...
port -u uninstall xorg xorg-server
... и переустановить его...
port install xorg xorg-server
... но в любом случае вещи не работают.
Вот что /var/log/system.log
показывает, когда установлен MacPorts xorg.
Dec 1 14:28:26 Stripy org.macports.X11.stub[51551]: Xquartz: bootstrap_look_up(): Unknown service name
Dec 1 14:28:27 Stripy org.macports.startx[51470]: waiting for X server to begin accepting connections
Dec 1 14:28:27 Stripy org.macports.startx[51470]: xinit: giving up
Dec 1 14:28:27 Stripy org.macports.startx[51470]: xinit: unable to connect to X server: Operation timed out
Dec 1 14:28:27 Stripy org.macports.startx[51470]: waiting for X server to begin accepting connections xinit: server error
Dec 1 14:28:27 Stripy org.macports.startx[51470]: waiting for X server to begin accepting connections
Dec 1 14:28:27 Stripy defaults[51670]: \nThe domain/default pair of (org.macports.X11, dpi) does not exist
Dec 1 14:28:27 Stripy org.macports.startx[51638]: xauth: file /Users/laurence/.serverauth.51639 does not exist
Dec 1 14:28:28 Stripy org.macports.startx[51638]:
Dec 1 14:28:28 Stripy org.macports.X11.stub[51723]: Xquartz: Unable to locate waiting server: org.macports.X11
Dec 1 14:28:28 Stripy org.macports.X11.stub[51727]: Xquartz: Starting X server: /Applications/MacPorts/X11.app/Contents/MacOS/X11 --listenonly
Dec 1 14:28:30 Stripy org.macports.startx[51638]: ^M
Dec 1 14:28:32 Stripy org.macports.startx[51638]: waiting for X server to begin accepting connections
Dec 1 14:28:48: --- last message repeated 8 times ---
Это повторяется снова и снова, (по модулю отметок времени и pids).
Вот как это выглядит, когда MacPorts xorg не установлен.
Dec 1 14:55:32 Stripy defaults[64771]: \nThe domain/default pair of (org.macports.X11, dpi) does not exist
Dec 1 14:55:32 Stripy org.macports.startx[64737]: xauth: file /Users/laurence/.serverauth.64738 does not exist
Dec 1 14:55:32 Stripy org.macports.startx[64737]:·
Dec 1 14:55:32 Stripy org.macports.startx[64737]: xinit: unable to run server "/opt/local/bin/X": No such file or directory
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Use the -- option, or make sure that /opt/local/bin is in your path and
Dec 1 14:55:32 Stripy org.macports.startx[64737]: that "/opt/local/bin/X" is a program or a link to the right type of server
Dec 1 14:55:32 Stripy org.macports.startx[64737]: for your display. Possible server names include:
Dec 1 14:55:32 Stripy org.macports.startx[64737]:·
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xquartz Mac OSX Quartz displays.
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xvfb Virtual frame buffer
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xfake kdrive-based virtual frame buffer
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xnest X server nested in a window on another X server
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xephyr kdrive-based nested X server
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xvnc X server accessed over VNC's RFB protocol
Dec 1 14:55:32 Stripy org.macports.startx[64737]: Xdmx Distributed Multi-head X server
Dec 1 14:55:32 Stripy org.macports.startx[64737]:·
Dec 1 14:55:34 Stripy org.macports.startx[64737]: xinit: giving up
Dec 1 14:55:34 Stripy org.macports.startx[64737]: xinit: unable to connect to X server: Connection refused
Dec 1 14:55:34 Stripy org.macports.startx[64737]: xinit: server error
Dec 1 14:55:34: --- last message repeated 1 time ---
Опять же, это повторяется снова и снова.
Я также попытался удалить Macports xorg
и затем установка XQuartz (и снова перезагрузка, чтобы убедиться). Запуск приложений / утилит /XQuartz не работает и не пытается запустить xterm
из терминала, вот вывод /var/log/system.log
с этой настройкой:
Dec 1 16:13:01 Stripy org.macosforge.xquartz.startx[343]: waiting for X server to begin accepting connections
Dec 1 16:13:01 Stripy org.macosforge.xquartz.X11.stub[400]: Xquartz: bootstrap_look_up(): Unknown service name
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[343]: waiting for X server to begin accepting connections
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[343]: /opt/X11/bin/xinit: giving up
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[343]: /opt/X11/bin/xinit: unable to connect to X server: Operation timed out
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[343]: waiting for X server to begin accepting connections /opt/X11/bin/xinit: server error
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[343]: waiting for X server to begin accepting connections
Dec 1 16:13:02 Stripy defaults[544]: \nThe domain/default pair of (org.macosforge.xquartz.X11, dpi) does not exist
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[510]: xauth: file /Users/laurence/.serverauth.511 does not exist
Dec 1 16:13:02 Stripy org.macosforge.xquartz.startx[510]:
Dec 1 16:13:02 Stripy org.macosforge.xquartz.X11.stub[588]: Xquartz: Unable to locate waiting server: org.macosforge.xquartz.X11
Dec 1 16:13:02 Stripy org.macosforge.xquartz.X11.stub[589]: Xquartz: Starting X server: /Applications/Utilities/XQuartz.app/Contents/MacOS/X11 --listenonly
Dec 1 16:13:03 Stripy login[619]: USER_PROCESS: 619 ttys000
Dec 1 16:13:04 Stripy org.macosforge.xquartz.startx[510]: ^M
Dec 1 16:13:06 Stripy org.macosforge.xquartz.startx[510]: waiting for X server to begin accepting connections
Dec 1 16:13:22: --- last message repeated 8 times ---
(Еще раз повторяю.)
Я попытался найти некоторые из этих сообщений и нашел пару совпадений, но не нашел конкретных решений.
3 ответа
X11 на OS X требует пары launchd
plist
файлы должны быть активными; эта пара должна совпадать, а также должна быть правильно настроена на login
время. Каждый из серверов X11 предоставляет свою собственную пару:
- для Apple X11,
/System/Library/LaunchDaemons/org.x.privileged_startx.plist
а также/System/Library/LaunchAgents/org.x.startx.plist
; - для MacOSForge XQuartz,
/Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
а также/Library/LaunchAgents/org.macosforge.xquartz.startx.plist
; - для MacPorts XQuartz,
/Library/LaunchDaemons/org.macports.privileged_startx.plist
а также/Library/LaunchAgents/org.macports.startx.plist
,
Они часто путаются, когда присутствует несколько установок X11. Лучше всего отключить все запускающие агенты startx с помощью launchctl unload -w
, затем включите только тот, который вы хотите использовать с launchctl load -w
(-w
говорит launchctl
запомнить действие для последующих загрузок / логинов). Не выгружайте LaunchDaemons. После этого необходимо выйти из системы и снова войти в нее, чтобы переменная окружения DISPLAY была правильно установлена.
Моя проблема была похожа. Мой.profile был "источником" моего.bashrc, а мой.bashrc имел древний тест на интерактивность:
# If not running interactively, don't do anything
[ -z "$PS1" ] && exit
Смена "выхода" на "возврат" сделала мой трюк.
Мой .профиль был exec bash
в конце (чтобы убедиться, что .bashrc выполняется). Это было причиной, по которой X11.app не смог запуститься.
После изменения этого на . .bashrc
X11.app снова запускается нормально.