Ich erstelle ein Skript für meine Eltern auf ihren Macs, damit sie SSH auf meinen Linux-Computer zugreifen und Befehle senden, Popups erstellen usw.
Dies ist einer meiner Befehle:
sshpass -p Password ssh maliciouzzhd@10.0.0.1 export DISPLAY=:0 & mate-session-save --force-logout
Mein Problem ist, dass der Mac das "&" als nicht im sshpass-Skript behandelt und das Argument nach der Verwendung des Mac-Terminals ohne SSH ausführt.
So
sshpass -p Password ssh maliciouzzhd@10.0.0.1 export DISPLAY=:0 & mate-session-save --force-logout
ausführen würde
export DISPLAY=:0
in der SSH-Sitzung, aber
mate-session-save --force-logout
würde im Mac-Terminal ausgeführt werden.
Wenn mir jemand dabei helfen könnte, wäre es sehr dankbar.
SSH akzeptiert ein einzelnes Argument als Befehl, nicht mehrere, daher sollte die Befehlszeile so aussehen (beachten Sie die Anführungszeichen):
sshpass -p Password ssh maliciouzzhd@10.0.0.1 "export DISPLAY=:0 & mate-session-save --force-logout"
Aber die allgemeine Idee funktioniert möglicherweise nicht, weil Sie die X11-Weiterleitung nicht zugelassen haben ( -Y
Schalter zum hinzufügen ssh
).
MaliciouZzHD
Unable to init server: Could not connect: Connection refused
Jakuje
MaliciouZzHD
Jakuje
MaliciouZzHD
Jakuje