2017-06-28 2 views
1

Ich versuche, einen Python-Skript geschrieben in meinem lokalen Rechner auf einem Remote-Desktop mit der folgenden Befehlszeile auf Terminal auszuführen:Wie wird mit der Fehlermeldung "QXcbConnection" verfahren, wenn ein Python-Skript auf einem lokalen Computer auf einem Remote-Desktop ausgeführt wird, wenn das Plotten Teil der Ausgabe ist?

cat myscript.py | ssh [email protected] python 

Python 3 unter Anacanoda3 auf lokale und Remote-Rechnern installiert ist. Hier ist die Fehlermeldung in der Mitte des Laufes beim Versuch, die Handlung anzuzeigen:

QXcbConnection: Es konnte keine Verbindung sein

Was könnte angezeigt werden der Grund, und wie man es beheben? Es gab einige andere Posts, die sich auf die gleiche Fehlermeldung beziehen, aber aus verschiedenen Gründen/Verwendungen.

+0

versuchen Sie mit 'cat myscript.py | ssh -X [email protected] python' – eyllanesc

+0

Das funktioniert, außer dass es versucht, das Skript auf dem Remotecomputer zu suchen, anstatt es auf dem lokalen Computer zu suchen. Mit anderen Worten, mein Skript befindet sich in meinem aktuellen lokalen Computer und ich möchte es nur auf dem Remote-Desktop ausführen. – Allan

+0

versuchen Sie mit: 'cat myscript.py | ssh "DISPLAY =: 0" [email protected] python' – eyllanesc

Antwort

1

Sie müssen den Parameter -X zum Aktivieren der Fensterfreigabe verwenden.

cat myscript.py | ssh -X [email protected] python 
+0

Das ist interessant. Du hast recht. Der erste Befehl funktioniert. Was jedoch an der vorgeschlagenen Befehlszeile merkwürdig ist, ist, dass es sich nicht um die zusätzlichen Python-Codes innerhalb des Hauptcodes kümmert. Mit anderen Worten. Wenn der Code die Zeile "Einstellungen importieren" erreicht. Es denkt, dass es die Datei "settings.py" in der entfernten Maschine suchen muss, die wieder in der lokalen Maschine mit dem gleichen Namen vorhanden ist. Diese Datei initialisiert Werte, und es ist offensichtlich, dass die Ausführung des Befehls die Werte innerhalb der Version auf dem Remote-Rechner übernimmt. – Allan

+0

Gibt es eine Möglichkeit, den Befehl anzuweisen, nach den Importen in der lokalen Maschine zu suchen, anstatt "settings.py" -Module umzubenennen? – Allan

+1

Es ist, dass Katze den Inhalt der Datei kopiert, es führt es nicht aus. Dieser Text sagt zum Beispiel, dass ich meinmodule importiere, und das entfernte Python wird in den entfernten Ordnern suchen, python weiß nicht, dass das Paket woanders ist. – eyllanesc

Verwandte Themen