“ คีย์ MIT-MAGIC-COOKIE-1 ไม่ถูกต้อง” เมื่อพยายามเรียกใช้โปรแกรมจากระยะไกล


21

ฉันพยายามเรียกใช้แอปพลิเคชั่น (ParaView) ในโหมดไคลเอนต์ - เซิร์ฟเวอร์ด้วยการเรนเดอร์กราฟิกที่ทำในระยะไกล ฉันใช้ SSH เป็นวิธีในการเชื่อมต่อกับเซิร์ฟเวอร์ แต่ไม่ต้องการใช้การส่งต่อ X เนื่องจากจะทำให้กระบวนการเรนเดอร์ช้าลง

อย่างไรก็ตามทุกครั้งที่ฉันพยายามเปิดแอปพลิเคชันบนจอแสดงผลของเซิร์ฟเวอร์ฉันได้รับข้อผิดพลาดของเอฟเฟกต์นี้:

Invalid MIT-MAGIC-COOKIE-1 keyError: cannot open display ':0'

ฉันได้ทำการวิจัยอย่างละเอียดเกี่ยวกับเรื่องนี้และได้ลองทำตามขั้นตอนที่แนะนำต่อไปนี้เพื่อประโยชน์:

  1. ใช้ "รายการ xauth" เพื่อรับค่า MIT-MAGIC-COOKIE-1 สำหรับการแสดงผลในพื้นที่ของฉัน
  2. ล็อกอินเข้าสู่รีโมตโฮสต์ผ่าน ssh
  3. ใช้ "export DISPLAY =: 0" บนรีโมตโฮสต์
  4. บนรีโมตโฮสต์ใช้ "xauth add" เพื่อเขียนทับค่าคุกกี้สำหรับการแสดงผลของรีโมตโฮสต์กับของโลคัลโฮสต์

ฉันเชื่อว่านี่เป็นกระบวนการที่ถูกต้อง แต่ฉันไม่ได้ถ่ายโอนคุกกี้ที่ถูกต้องไปยังหน้าจอที่ถูกต้อง

อีกครั้งฉันต้องการที่จะสามารถใช้ ssh เพื่อให้เกิดการเปิดแอปพลิเคชันบนจอแสดงผลของคอมพิวเตอร์ระยะไกล เป็นการดีที่ฉันต้องการให้กระบวนการทั้งหมดทำผ่าน xauth มากกว่า xhost และอีกครั้งฉันไม่จำเป็นต้องใช้การส่งต่อ X ฉันจะพลาดหรือทำอะไรผิด


2
มีเซิร์ฟเวอร์ X ที่ทำงานบนคอนโซลของเซิร์ฟเวอร์หรือไม่ ฉันไม่เข้าใจว่าคุณต้องการให้โปรแกรมแสดงผลลัพธ์ที่ใด ขั้นตอนของคุณผิดพลาดอย่างชัดเจนเนื่องจากคุณได้รับคุกกี้ของโฮสต์ในพื้นที่ แต่คุณไม่ได้แสดงบนโฮสต์ในพื้นที่ หากมีเซิร์ฟเวอร์ X ที่ทำงานบนเครื่องระยะไกลและเป็นที่ที่คุณต้องการให้โปรแกรมแสดงผลให้ดูunix.stackexchange.com/questions/10121/ …
Gilles 'SO- หยุดความชั่วร้าย'

คำตอบ:


13

ค่าที่คุณใช้DISPLAYไม่ถูกต้อง: หากคุณไม่ต้องการใช้การส่งต่อ SSH X DISPLAYต้องระบุที่อยู่ IP ของเซิร์ฟเวอร์ X ของคุณ (เดสก์ท็อปที่คุณต้องการแสดงโปรแกรมบน) บนรีโมตให้รัน

export DISPLAY=desktop:0

แทนที่desktopด้วยชื่อโฮสต์ท้องถิ่นหรือที่อยู่ IP ของคุณ คุณอาจต้องเปลี่ยนการกำหนดค่าเซิร์ฟเวอร์ X ของคุณเพื่ออนุญาตการเชื่อมต่อ IP ระยะไกล


1
สิ่งนี้จะละเว้นปัญหา XAUTHORITY ซึ่งเป็นสาเหตุของข้อความแสดงข้อผิดพลาดจริงในบรรทัดหัวเรื่อง
kiko

7

ลอง

xhost +local: 

ก่อนเรียกใช้


มันทำเคล็ดลับ ขอบคุณฉันคิดว่ามันเป็นคำตอบที่สั้นที่สุด!
รัก

1

อันนี้ใช้ได้สำหรับฉัน ดังนั้นฉันจะทิ้งคำตอบนี้ไว้ที่นี่

 export DISPLAY=:1.0

0

สำหรับฉันข้อผิดพลาดคือ:

Invalid MIT-MAGIC-COOKIE-1 keyxcb_connection_has_error() returned true
Invalid MIT-MAGIC-COOKIE-1 keyERROR: Unable to create GUI. Exiting

ฉันเล่นด้วย. Xauthority แต่ไม่ได้ทำอะไรนอกจากซ่อนส่วน "คุกกี้ MIT" ไม่ใช่ข้อผิดพลาด xcb_connection ในที่สุดมันก็ใช้งานได้โดยใช้ @PSN answer ( export DISPLAY=:1.0)

fwiw ฉันอยู่บนเดเบียน 9

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