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.conf
arquivo: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.