"Ungültiger MIT-MAGIC-COOKIE-1-Schlüssel", wenn versucht wird, das Programm remote auszuführen

21

Ich versuche, eine Anwendung (ParaView) im Client-Server-Modus auszuführen, wobei die Grafikwiedergabe auf der Remote-Seite (Server) erfolgt. Ich verwende SSH als Verbindungsmethode zum Server, möchte jedoch keine X-Weiterleitung verwenden, da dies den Renderprozess verlangsamt.

Bei jedem Versuch, die Anwendung auf dem Bildschirm des Servers zu öffnen, erhalte ich jedoch die folgende Fehlermeldung:

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

Ich habe mich eingehend mit dieser Angelegenheit befasst und das folgende vorgeschlagene Verfahren bereits erfolglos ausprobiert:

  1. Verwendet "xauth list", um den MIT-MAGIC-COOKIE-1-Wert für die Anzeige meines lokalen Hosts zu erhalten.
  2. Über ssh am Remote-Host angemeldet.
  3. Verwendet "export DISPLAY =: 0" auf dem Remote-Host.
  4. Verwenden Sie auf dem Remote-Host "xauth add", um den Cookie-Wert für die Anzeige des Remote-Hosts mit dem des lokalen Hosts zu überschreiben.

Ich bin überzeugt, dass dies das richtige Verfahren ist, aber dass ich einfach nicht die richtigen Cookies auf die richtigen Displays übertrage.

Wieder möchte ich in der Lage sein, ssh zu verwenden, um das Öffnen von Anwendungen auf dem Bildschirm des Remote-Computers zu bewirken. Im Idealfall möchte ich, dass der gesamte Prozess über xauth und nicht über xhost ausgeführt wird. Auch hier muss ich keine X-Weiterleitung verwenden. Was kann ich vermissen oder falsch machen?

CS6394
quelle
2
Befindet sich auf der Serverkonsole ein X-Server? Ich verstehe nicht, wo die Ausgabe des Programms angezeigt werden soll. Ihre Vorgehensweise ist eindeutig falsch, da Sie das Cookie des lokalen Hosts erhalten, aber nicht auf dem lokalen Host angezeigt werden. Wenn auf dem Remotecomputer ein X-Server ausgeführt wird und das Programm dort angezeigt werden soll, lesen
Gilles '

Antworten:

13

Der Wert, für den Sie verwenden, DISPLAYist falsch: Wenn Sie die SSH X-Weiterleitung nicht verwenden möchten, DISPLAYmüssen Sie die IP-Adresse Ihres X-Servers angeben (den Desktop, auf dem Sie Programme anzeigen möchten). Führen Sie auf der Fernbedienung aus

export DISPLAY=desktop:0

Ersetzen desktopdurch Ihren lokalen Hostnamen oder Ihre IP-Adresse. Möglicherweise müssen Sie auch die Konfiguration Ihres X-Servers ändern, um Remote-IP-Verbindungen zuzulassen.

Stephen Kitt
quelle
1
Dadurch wird das XAUTHORITY-Problem ignoriert, das die eigentliche Fehlermeldung in der Betreffzeile verursacht.
Kiko
6

Versuchen

xhost +local: 

bevor Sie es ausführen.

Jeff Schaller
quelle
es hat den Trick gemacht. Danke, ich denke es ist die kürzeste Antwort!
loved.by.Jesus
1

Dieser hat für mich gearbeitet. Also lasse ich diese Antwort hier.

 export DISPLAY=:1.0
PSN
quelle
0

Für mich war der Fehler:

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

Ich habe mit .Xauthority gespielt, aber es hat nichts getan, als den Teil "MIT-Cookie" auszublenden, nicht den Fehler "xcb_connection". Am Ende funktionierte es nur mit @PSN answer ( export DISPLAY=:1.0).

fwiw ich bin auf debian 9

marrco
quelle