LSOpenURLsWithRole () falha com o erro -10810 no Yosemite de dentro do tmux

17

Tentando abrir um aplicativo a partir da linha de comando (Terminal.app), dentro de tmux (instalado através do MacPorts, versão 1.9a) e obtendo o seguinte resultado:

$ open /Applications/Adobe\ Reader.app/
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/Adobe Reader.app.

O mesmo comando funciona bem, a partir do mesmo terminal, se executado fora do tmux.

O ambiente deve ser lido do hospedeiro; o seguinte está no tmux.conf: set -g update-environment -r

Ao reiniciar o terminal.app ou o tmux, algumas vezes, com uma mensagem diferente , por exemplo, (veja abaixo), e quando tentado novamente, o erro acima -10810 é fornecido.

$ open /Applications/Adobe\ Reader.app/
The window server could not be contacted.  open must be run with a user logged in at the console, either as that user or as root.

Eu já experimentei os aplicativos da própria Apple (Preview, Font Book, Contacts) e de terceiros (Adobe, Evernote, etc.). Nenhuma diferença O único aplicativo que parece funcionar é o localizador. ( open [dirname] , por exemplo).

    
por krissen 24.10.2014 / 10:51

2 respostas

19

Existe uma solução / solução para isso:

  • Atualize sua versão de reattach-to-user-namespace . Isso é usado pelo tmux para executar programas. Eu uso brew ao invés de macports, então eu fiz: brew update; brew upgrade reattach-to-user-namespace . É provável que os Macports consigam fazer algo semelhante.
  • Adicione o seguinte ao seu arquivo .tmux.conf :

    set -g default-command "reattach-to-user-namespace -l /bin/bash"

Reinicie sua sessão do tmux e isso deve permitir que você inicie programas a partir da linha de comando.

Mais informações podem ser encontradas em esta questão do github.

    
por 10.11.2014 / 17:04
3

A questão é que o tmux está mudando o bootstrap para o domínio do sistema quando não deveria (veja link ). Versões mais antigas do launchd contornaram este bug no tmux, mas o reescrito do launchd no OS X Yosemite não resolve este bug do tmux.

Você precisará aguardar que a Apple libere uma atualização que funcione em torno do bug tmux ou de que os desenvolvedores do pester tmux consertem esse bug no tmux que é conhecido há pelo menos 6 anos.

    
por 30.10.2014 / 14:40