"Kunci MIT-MAGIC-COOKIE-1" tidak valid ketika mencoba menjalankan program dari jarak jauh

21

Saya mencoba menjalankan aplikasi (ParaView) dalam mode client-server dengan rendering grafisnya dilakukan di ujung (server) jarak jauh. Saya menggunakan SSH sebagai sarana saya untuk terhubung ke server, tetapi tidak ingin menggunakan penerusan X karena memperlambat proses rendering.

Namun, setiap kali saya mencoba membuka aplikasi pada tampilan server, saya mendapatkan kesalahan pada efek ini:

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

Saya telah melakukan penelitian mendalam tentang masalah ini dan telah mencoba prosedur yang disarankan berikut ini tetapi tidak berhasil:

  1. Digunakan "daftar xauth" untuk mendapatkan nilai MIT-MAGIC-COOKIE-1 untuk tampilan host lokal saya.
  2. Masuk ke host jarak jauh melalui ssh.
  3. Digunakan "export DISPLAY =: 0" pada host jarak jauh.
  4. Pada host jarak jauh, digunakan "tambah xauth" untuk menimpa nilai cookie untuk tampilan host jarak jauh dengan host lokal.

Saya yakin ini adalah prosedur yang benar, tetapi saya tidak mentransfer cookie yang tepat ke tampilan yang tepat.

Sekali lagi, saya ingin dapat menggunakan ssh untuk mempengaruhi pembukaan aplikasi pada tampilan komputer jarak jauh. Idealnya, saya ingin seluruh proses dilakukan melalui xauth daripada xhost, dan sekali lagi, saya tidak perlu menggunakan penerusan X. Apa yang mungkin saya lewatkan atau lakukan salah?

CS6394
sumber
2
Apakah ada server X yang berjalan di konsol server? Saya tidak mengerti di mana Anda ingin output program ditampilkan. Prosedur Anda jelas salah karena Anda mendapatkan cookie host lokal tetapi Anda tidak ditampilkan pada host lokal. Jika ada server X yang berjalan pada mesin jarak jauh dan di situlah Anda ingin program ditampilkan, lihat unix.stackexchange.com/questions/10121/...
Gilles 'SO-stop being evil'

Jawaban:

13

Nilai yang Anda gunakan DISPLAYsalah: jika Anda tidak ingin menggunakan penerusan SSH X, DISPLAYharus menunjukkan alamat IP server X Anda (desktop tempat Anda ingin menampilkan program). Di remote, jalankan

export DISPLAY=desktop:0

mengganti desktopdengan nama host atau alamat IP lokal Anda. Anda juga mungkin perlu mengubah konfigurasi server X Anda untuk memungkinkan koneksi IP jarak jauh.

Stephen Kitt
sumber
1
Ini mengabaikan masalah XAUTHORITY, yang menyebabkan pesan kesalahan aktual pada baris subjek.
kiko
7

Mencoba

xhost +local: 

sebelum menjalankannya.

Jeff Schaller
sumber
itu berhasil. Terima kasih, saya pikir ini adalah jawaban terpendek!
loved.by.Yesus
1

Yang ini berhasil untuk saya. Jadi saya meninggalkan jawaban ini di sini.

 export DISPLAY=:1.0
PSN
sumber
0

Bagi saya kesalahannya adalah:

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

Saya bermain dengan .Xauthority tetapi tidak melakukan apa pun kecuali menyembunyikan bagian "cookie MIT", bukan kesalahan xcb_connection. Pada akhirnya itu berhasil hanya dengan menggunakan jawaban @PSN ( export DISPLAY=:1.0).

fwiw saya menggunakan debian 9.

marrco
sumber