Ich habe 4 verschiedene Raspberry-Geräte, die ich an 4 verschiedene Monitore angeschlossen habe. Der vorherige Techniker in meiner Firma hatte auf allen Geräten einen VNC-Server installiert und aktiviert, sodass er per Remotedesktop auf sie zugreifen und nur einen Befehl ausführen konnte.
rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1
Er hat sich nur mit jedem verbunden, um den obigen Befehl auszuführen, aber natürlich mit unterschiedlichem Benutzer und Terminalserver. Ich suchte nach einer bequemeren Möglichkeit, all das oben Genannte von meiner Fedora-Box aus zu tun und dabei die Leistung von sshpass und ssh zu kombinieren. Also habe ich zuerst versucht
sshpass -p 'somepass' ssh [email protected]
und dann laufe ich von der Sitzung aus
rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1
aber ich habe die Fehlermeldung „Display-Port konnte nicht geöffnet werden“ erhalten. Jetzt weiß ich, dass die Ergebnisse dieses Befehls oder die eines anderen Befehls in meinem Terminal angezeigt werden. Ich habe also mehrere Varianten des SSH-Befehls ausprobiert, aber das Ergebnis war entweder, dass ich rdsektop auf meinem Bildschirm sah oder der obige Fehler.
sshpass -p 'somepass' ssh [email protected] -t rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1
oder
sshpass -p 'somepass' ssh [email protected] -t -X rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1
Was ich hier erreichen möchte, ist, den Befehl rdesktop auf dem Remote-Computer auszuführen und auf diesem Fernsehbildschirm die Sitzung anzuzeigen, die ich zuvor erstellt habe. Kurz gesagt: Umgehen Sie die VNC-Anmeldung und erledigen Sie alles über SSH. Gibt es einen Weg? Ich weiß, dass ich irgendwo falsch liege, aber ich kann nicht sehen, wo ich falsch liege.
Antwort1
DisplayPort konnte nicht geöffnet werden
Dieser Befehl deutet für mich darauf hin, dass bei Ihnen wahrscheinlich keine automatische X11-Weiterleitung erfolgt. Aber Sie scheinen zu versuchen, eine X11-Anwendung von einem Remote-System aus auszuführen.
Wenn Sie vorhaben, rdesktop vom Remote-System aus auszuführen, muss der SSH-Server X11-Weiterleitung unterstützen. Das xauth
Paket muss auf dem Remote-System installiert sein. Sie müssen entweder Ihre SSH-Client-Konfiguration anpassen /etc/ssh/ssh_config
oder an Ihre Befehlszeile ~/.ssh/config
übergeben , um die X11-Weiterleitung vom Client aus zu aktivieren.-X
ssh
Die Ausführung rdesktop
vom Remote-Rechner aus ist jedoch möglicherweise nicht die beste Option. Sie haben im Grunde den gesamten Overhead einer X11-Sitzung und zusätzlich den gesamten Overhead einer RDP-Sitzung. Möglicherweise ist es besser, die Portweiterleitungsfunktionen von SSH zu verwenden und dann einen lokalen rdesktop/freerdp-Client auszuführen. Auf diese Weise können Sie die für Remote-X11-Sitzungen typische Langsamkeit umgehen.
Und natürlich noch ein letzter Hinweis: Ich empfehle Ihnen dringend, Ihre Verwendung von sshpass zu überdenken. Wenn möglich, sollten Sie stattdessen eine schlüsselbasierte Authentifizierung verwenden.