X11 e Mountain Lion: como usar o MacPorts xorg-server?

3

OK, então o X11 não está mais incluído no Mountain Lion. Tudo bem, nada demais. Todo mundo em todos os lugares diz para pegar os pacotes XQuartz para o X11.

Sou um desenvolvedor, e tenho uma tonelada de software gerenciado através do MacPorts. Eu gostaria de instalar o pacote xorg-server, em vez do pacote XQuartz, para obter todos os benefícios do gerenciamento de pacotes (atualizações, gerenciamento de configuração, um local com software extra instalado, etc ...)

O problema é que, no OS X 10.7 e abaixo, costumava ser que um agente launchd interceptava solicitações para o monitor X11 e iniciava o X11 no OS X. Para substituir o X11 de inicialização automática, um descarregaria o Apple X11 plist e carrega o plP do MacPorts X11, o que mudaria quem definiria a variável $ DISPLAY e qual daemon do X11 seria lançado.

Parece que este é o caso de como o X11 é lançado do pacote xorg-server ainda. Teoricamente, qualquer tentativa de conexão ao X11 ou dbus fará com que launchctl inicie o daemon MacPorts X11.

Esta parte está bem, veja:

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

No entanto, o antigo agente de lançamento da Apple que lançaria seu X11 parece não estar mais lá: uma caixa de diálogo aparece para você instalar o XQuartz, e essa caixa de diálogo está interceptando os lançamentos de aplicativos X11. Eu não consigo descobrir como substituir o freaking "você deseja instalar o XQuartz" mensagens, uma vez que não parecem ser controladas por um daemon de lançamento. Eu tenho uma boa instalação do X11 esperando para ser usado, mas há alguma interceptação da solicitação para o DISPLAY que não está mais acontecendo com o launchd. Como no mundo eu digo ao Mountain Lion que é um gatinho ruim e deveria parar de me pedir para instalar algo que eu já instalei?

    
por Matt 08.08.2012 / 23:01

2 respostas

3

Eu desisti e peguei o caminho mais fácil para instalar o XQuartz depois que o pacote foi instalado. Eu tinha que sair e fazer o login novamente e então eu pude iniciar o Gimp 2.8 que eu instalei através do MacPorts.

Eu também sou um desenvolvedor, mas estou usando o X11 para rodar o Gimp, então não preciso investigar outras opções, então minha recomendação seria apenas aceitá-lo e não perder mais ciclos de clock; -)

    
por 21.08.2012 / 09:18
1

Isso é como corrigir isso:

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

(isto assume que você tem o servidor xorg instalado no local padrão do macports)

Por que isso acontece, é porque tudo em estoque OSX instalar pontos para xstub ou libxstub, que aparece essa caixa de diálogo.

Os aplicativos tendem a se vincular diretamente às bibliotecas em / usr / X11 / lib, então eles acionam o pop-up, por exemplo:

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)
    ...       

Quais links para libxstub:

ldd /usr/X11/lib/libGL.1.dylib
    ...
    /usr/X11/lib/libxstub.dylib (compatibility version 1.0.0, current version 1.0.0)
    ...
    
por 27.09.2013 / 06:43