LSOpenURLsWithRole () ล้มเหลวด้วยข้อผิดพลาด -10810 บน Yosemite จากภายใน tmux


17

กำลังพยายามเปิดแอปพลิเคชันจาก commandline (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.

ฉันลองทั้งแอปของแอปเปิ้ล (ดูตัวอย่างสมุดแบบอักษรผู้ติดต่อ) และบุคคลที่สาม (Adobe, Evernote และอื่น ๆ ) ไม่แตกต่าง. แอปเดียวที่ดูเหมือนจะใช้งานได้คือตัวค้นหา ( open [dirname]เช่น)

คำตอบ:


19

มีวิธีแก้ปัญหา / วิธีแก้ปัญหาสำหรับสิ่งนี้:

  • อัปเดตเวอร์ชันของreattach-to-user-namespaceคุณ tmux ใช้สำหรับเรียกใช้งานโปรแกรม ผมใช้ชงมากกว่า 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 นี้


FWIW การอัปเดตreattach-to-user-namespaceไม่ได้สร้างความแตกต่างให้ฉันและปัญหายังคงมีอยู่ ดูเหมือนว่า tmux จะต้องแก้ไขเอง (ดูคำตอบอื่น)
Konrad Rudolph

เมื่อไม่ได้ใช้เชลล์เริ่มต้นตรวจสอบให้แน่ใจว่าได้เปลี่ยนพา ธ ในคำสั่ง (เช่นpath/to/your/fish)
Aviel Gross

3

ปัญหาคือ tmux กำลังเปลี่ยน bootstrap เป็นโดเมนระบบเมื่อไม่ควรทำ (ดูhttps://trac.macports.org/ticket/18357 ) เวอร์ชันเก่าของ launchd ทำงานกับบั๊กนี้ใน tmux แต่ launchd ที่เขียนใหม่ใน OS X Yosemite ไม่สามารถแก้ไขบั๊ก tmux นี้ได้

คุณอาจต้องรอให้ Apple ปล่อยการอัปเดตที่ทำงานเกี่ยวกับ tmux bug หรือนักพัฒนา pester tmux เพื่อแก้ไขข้อผิดพลาดนี้ใน tmux ที่รู้จักกันอย่างน้อย 6 ปีแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.