17

Попытка открыть приложение из командной строки (Terminal.app), внутри tmux (устанавливается через MacPorts, версия 1.9a) и получить следующий результат:

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

Эта же команда отлично работает с того же терминала, если она выполняется вне tmux.

Окружающая среда должна быть прочитана с хоста; в tmux.conf содержится следующее: set -g update-environment -r

При перезапуске Terminal.app или tmux сначала иногда выдается сообщение об ошибке с другим сообщением (см. Ниже), а при повторной попытке вместо этого выдается указанная выше ошибка -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.

Я пробовал как собственные приложения Apple (Preview, Font Book, Contacts), так и сторонние (Adobe, Evernote и т.д.). Нет разницы. Одно приложение, которое, кажется, работает, - это поиск. (например, open [dirname] .)

2 ответа2

19

Для этого есть решение / обходной путь:

  • Обновите свою версию reattach-to-user-namespace . Это используется tmux для выполнения программ. Я использую brew, а не macports, поэтому я просто сделал: brew update; brew upgrade reattach-to-user-namespace . Macports, вероятно, сможет сделать нечто подобное.
  • Добавьте следующее в ваш файл .tmux.conf :

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

Перезапустите сеанс tmux, и это позволит вам запускать программы из командной строки.

Дополнительную информацию можно найти в этом выпуске github.

3

Проблема в том, что tmux меняет загрузчик на системный домен, когда это не нужно (см. Https://trac.macports.org/ticket/18357). Более старые версии launchd работали над этой ошибкой в tmux, но переписанный launchd в OS X Yosemite не работает вокруг этой ошибки tmux.

Вам нужно будет либо подождать, пока Apple выпустит обновление, которое работает с ошибкой tmux, либо разработчики pester tmux, чтобы исправить эту ошибку в tmux, известную уже не менее 6 лет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .