3

Сегодня я обнаружил, что 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 (и снова перезагрузить, чтобы убедиться). Запуск Applications/Utilities/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 ответа3

7

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 LaunchAgents с помощью launchctl unload -w , а затем включить только тот, который вы хотите использовать с launchctl load -w (-w указывает launchctl запомнить действие для последующих загрузок / входов в систему). Не выгружайте LaunchDaemons. После этого необходимо выйти из системы и снова войти в нее, чтобы правильно установить переменную среды DISPLAY.

2

Моя проблема была похожа. Мой .profile был «источником» моего .bashrc, а мой .bashrc имел древний тест на интерактивность:

# If not running interactively, don't do anything [ -z "$PS1" ] && exit

Смена "выхода" на "возврат" сделала мой трюк.

1

В конце моего .profile был exec bash (чтобы убедиться, что .bashrc выполняется). Это было причиной, по которой X11.app не смог запуститься.

После изменения этого на . .bashrc X11.app снова запускается нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .