Wenn ich versuche, einen Befehl auf einem Remote-Host auszuführen
ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1
Ich bekomme immer oben in der img1-Datei gemischt
^]kfswebcam -r 1280x960 -d /dev/video0 --save -\ÿØÿàJFIFÿþ>CREATOR: gd-jp
Dies führt dazu, dass die Datei kein gültiges JPEG-Bild mehr ist
Antwort1
Ich habe das Problem gefunden.
Es liegt in der Fish-Shell, wenn ich es ausführe, funktioniert es einwandfrei. Keine durcheinandergeratenen Header im JPEG-Bild/bin/bash ssh [email protected] "fswebcam -d /dev/video0 --save -" > img1
Antwort2
Dies scheint eine Echo-Konfiguration auf dem example.com
Host zu sein. Ich habe es gerade getestet ssh localhost date
und es druckt nur das Datum ohne Echo des Datumsbefehls. Versuchen Sie dies zu bestätigen, indem Sie date ausführen und prüfen Sie, ob dies auch eine erste Echozeile ergibt.
Versuchen Sie, Dateien wie .bashrc
, .profile
usw. vorübergehend zu deaktivieren, indem Sie sie umbenennen oder aus dem Home-Verzeichnis verschieben, und prüfen Sie, ob Sie immer noch ein Echo erhalten. Macht es user
einen Unterschied, wenn Sie die Login-Shell für in /bin/sh ändern?
Antwort3
Dies ist ein ziemlich umständlicher Weg, aber Sie könnten Folgendes verwenden:
ssh [email protected] "fswebcam -d /dev/video0 --save -" | tail -n +2 > img1