LSOpenURLsWithRole() falla con el error -10810 en Yosemite desde tmux

LSOpenURLsWithRole() falla con el error -10810 en Yosemite desde tmux

Intentando abrir una aplicación desde la línea de comandos (Terminal.app), interna tmux(instalada a través de MacPorts, versión 1.9a), y obteniendo el siguiente resultado:

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

El mismo comando funciona bien,desde la misma terminal,si se ejecuta fuera de tmux.

El entorno debe leerse desde el host; lo siguiente está en tmux.conf:set -g update-environment -r

Al reiniciar terminal.app o tmux, a veces aparece un error con un mensaje diferenteen primer lugar,(ver más abajo) y cuando se intenta nuevamente, aparece el error anterior -10810.

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

Probé aplicaciones propias de Apple (Vista previa, Libro tipográfico, Contactos) y de terceros (Adobe, Evernote, etc.). Ninguna diferencia. La única aplicación que parece funcionar es Finder. ( open [dirname], por ejemplo.)

Respuesta1

Hay una solución/solución alternativa para esto:

  • Actualice su versión de reattach-to-user-namespace. Tmux lo utiliza para ejecutar programas. Utilizo cerveza en lugar de macports, así que simplemente hice: brew update; brew upgrade reattach-to-user-namespace. Es probable que Macports pueda hacer algo similar.
  • Agregue lo siguiente a su .tmux.confarchivo:

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

Reinicie su sesión de tmux y eso debería permitirle iniciar programas desde la línea de comando.

Puede encontrar más información eneste problema de github.

Respuesta2

El problema es que tmux está cambiando el arranque al dominio del sistema cuando no debería (verhttps://trac.macports.org/ticket/18357). Las versiones anteriores de launchd solucionaron este error en tmux, pero el launchd reescrito en OS X Yosemite no soluciona este error de tmux.

Tendrá que esperar a que Apple publique una actualización que solucione el error de tmux o molestar a los desarrolladores de tmux para que solucionen este error en tmux que se conoce desde hace al menos 6 años.

información relacionada