SSH-Server-Timeout bei localhost und Neuzuweisung unterbricht X11-Ausgabe

SSH-Server-Timeout bei localhost und Neuzuweisung unterbricht X11-Ausgabe

Ich führe ein Python-Skript auf einem Remote-Server über SSH aus, am Ende muss es jedoch ein Diagramm mit Pyplot speichern, wofür der X-Server aktiv sein muss. Da dies lange läuft, verwende ich den Befehl „screen“, lasse es stehen und setze es fort, wenn ich zurückkomme. Das Problem dabei ist, dass der fortgesetzte Bildschirm versucht, die Ausgabe auf dem X-Display vorzunehmen, das SSH bei meiner ersten Verbindung verwendet hat (z. B. localhost:15.0). Wenn ich jedoch zurückkehre, hat mir entweder die lokale Maschine oder der Server oft ein anderes Display zugewiesen (z. B. localhost:22.0), sodass der Code abbricht, da er keinen Ort für die Ausgabe findet.

Gibt es eine Möglichkeit, dieses Timeout zu stoppen oder festzulegen, welches Display ich innerhalb der SSH-Sitzung verwenden möchte? Ich habe versucht, eine Verbindung über -X und -Y herzustellen, aber es hat sich nichts geändert?

Danke!

Antwort1

Für den Anfang wäre es wahrscheinlich besser, wenn Sie einfach eine andere Plot-Bibliothek wie Matplotlib verwenden würden, die keinen X-Framebuffer erfordert.

Wenn Sie unbedingt Pyplot verwenden müssen, starten Sie Xvfb (einen virtuellen X-Server) auf der Remote-Seite und richten Sie die Variable $DISPLAY darauf statt auf die weitergeleitete X-Anzeige. Auf diese Weise wird es problemlos auf dem Bildschirm ausgeführt.

verwandte Informationen