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

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

Tentando abrir um aplicativo pela linha de comando (Terminal.app), dentro 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,do mesmo terminal,se executado fora do tmux.

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

Ao reiniciar o terminal.app ou tmux, às vezes ocorre um erro com uma mensagem diferenteinicialmente,(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 tentei aplicativos próprios da Apple (Visualização, Catálogo de Fontes, Contatos) e de terceiros (Adobe, Evernote etc.). Não há diferença. O único aplicativo que parece funcionar é o Finder. ( open [dirname], por exemplo.)

Responder1

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

  • Atualize sua versão do reattach-to-user-namespace. Isso é usado pelo tmux para executar programas. Eu uso brew em vez de macports, então fiz: brew update; brew upgrade reattach-to-user-namespace. É provável que o Macports consiga fazer algo semelhante.
  • Adicione o seguinte ao seu .tmux.confarquivo:

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

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

Mais informações podem ser encontradas emesse problema do github.

Responder2

O problema é que o tmux está alterando o bootstrap para o domínio do sistema quando não deveria (vejahttps://trac.macports.org/ticket/18357). Versões mais antigas do launchd solucionaram esse bug no tmux, mas o launchd reescrito no OS X Yosemite não resolve esse bug do tmux.

Você precisará esperar que a Apple possivelmente libere uma atualização que resolva o bug do tmux ou importunar os desenvolvedores do tmux para corrigir esse bug no tmux que é conhecido há pelo menos 6 anos.

informação relacionada