3

Итак, X11 больше не входит в Mountain Lion. Ничего страшного, нет. Все говорят, что нужно купить пакеты XQuartz для X11.

Я разработчик, и у меня есть тонна программного обеспечения, управляемого через MacPorts. Я хотел бы установить пакет xorg-server, а не пакет XQuartz, чтобы получить все преимущества управления пакетами (обновления, управление конфигурацией, одно место с установленным дополнительным программным обеспечением и т.д.)

Проблема заключается в том, что в OS X 10.7 и ниже, когда-то агент запуска запускал перехват запросов на дисплей X11 и запускал X11 в OS X. Чтобы заменить автоматически запускаемый X11, нужно было выгрузить список Apple X11 и загрузить список MacPorts X11, в котором будет указано, кто будет устанавливать переменную $ DISPLAY и какой демон X11 запущен.

Похоже, это тот случай, когда X11 все еще запускается из пакета xorg-server. Теоретически, любые попытки подключиться к X11 или dbus приведут к запуску launchctl демона MacPorts X11.

Эта часть в порядке, см .:

echo $DISPLAY
/tmp/launch-K8CDIi/org.macports:0

Тем не менее, старый список запуска агента Apple, который запускает их X11, больше не существует: появляется диалоговое окно, чтобы заставить вас установить XQuartz, и этот диалог перехватывает запуски приложений X11. Я не могу понять, как заменить офигенные сообщения "Вы хотите установить XQuartz", так как они, похоже, не контролируются демоном запуска. У меня есть прекрасная установка X11, ожидающая использования, но есть некоторый перехват запроса на DISPLAY, который больше не происходит с launchd. Как в мире я могу сказать, что Mountain Lion - плохой котенок и должен перестать просить меня установить то, что я уже установил?

2 ответа2

3

Я сдался и выбрал легкий путь, который заключался в установке XQuartz после установки пакета, мне просто нужно было выйти из системы и снова войти в систему, а затем я смог запустить Gimp 2.8, которую я установил через MacPorts.

Я также являюсь разработчиком, но я просто использую X11 для запуска Gimp, поэтому мне не нужно больше изучать другие варианты, поэтому я рекомендую просто принять его и не тратить больше на это тактов ;-)

1

Вот как это исправить:

sudo mv /usr/X11 /usr/X11.xstub
sudo ln -s /opt/X11 /usr/X11 

(предполагается, что у вас установлен xorg-сервер в папке macports по умолчанию)

Что касается того, почему это происходит, то это потому, что все, что есть в стандартной установке OSX, указывает на xstub или libxstub, который открывает это диалоговое окно.

Приложения имеют тенденцию напрямую ссылаться на библиотеки в /usr /X11 /lib, поэтому они будут вызывать всплывающее окно, например:

ldd /Applications/Games/Hotline\ Miami.app/Contents/MacOS/HotlineMiami.app/Contents/MacOS/HotlineMiami 
    ...
    /usr/X11/lib/libGL.1.dylib (compatibility version 1.2.0, current version 1.2.0)
    ...       

Какие ссылки на libxstub:

ldd /usr/X11/lib/libGL.1.dylib
    ...
    /usr/X11/lib/libxstub.dylib (compatibility version 1.0.0, current version 1.0.0)
    ...

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