tmux 내에서 Yosemite의 LSOpenURLsWithRole()이 -10810 오류로 인해 실패합니다.

tmux 내에서 Yosemite의 LSOpenURLsWithRole()이 -10810 오류로 인해 실패합니다.

명령줄(Terminal.app)에서 내부(MacPorts 버전 1.9a를 통해 설치됨)에서 응용 프로그램을 열려고 하면 tmux다음 결과가 나타납니다.

$ 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 등)을 모두 사용해 보았습니다. 차이 없음. 작동하는 것으로 보이는 앱 중 하나는 Finder입니다. ( open [dirname], 예를 들어.)

답변1

이에 대한 해결 방법/해결 방법이 있습니다.

  • 버전을 업데이트하세요 reattach-to-user-namespace. 이는 tmux에서 프로그램을 실행하는 데 사용됩니다. 나는 macports 대신 Brew를 사용하므로 다음과 같이 했습니다 brew update; brew upgrade reattach-to-user-namespace. Macports도 비슷한 일을 할 수 있을 것 같습니다.
  • 파일 에 다음을 추가합니다 .tmux.conf.

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

tmux 세션을 다시 시작하면 명령줄에서 프로그램을 시작할 수 있습니다.

자세한 내용은 다음에서 확인할 수 있습니다.이 github 문제입니다.

답변2

문제는 tmux가 부트스트랩을 시스템 도메인으로 변경해서는 안 되는데도 변경하고 있다는 것입니다(참조:https://trac.macports.org/ticket/18357). 이전 버전의 launchd는 tmux에서 이 버그를 해결했지만 OS X Yosemite에서 다시 작성된 launchd는 이 tmux 버그를 해결하지 못했습니다.

Apple이 tmux 버그를 해결하는 업데이트를 출시할 때까지 기다리거나 tmux 개발자가 현재 최소 6년 동안 알려진 tmux에서 이 버그를 수정하도록 요구해야 합니다.

관련 정보