Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

scripten oder vergleichbares von GPhoto2 --shell

58 views
Skip to first unread message

Robert Stephan

unread,
Feb 14, 2017, 3:00:02 PM2/14/17
to
Google glüht und das Internet habe ich nun leergelesen, mit anderen Worten,
ich bin am Ende meiner bescheidenen Fähigkeiten.

Ausgangspunkt, meine Knipse (Fotoapparat) soll den Focus verstellen, ein Bild
aufnehmen, Focus verstellen Bild … und so weiter.

Der Aufruf "ghoto2 --set-config /main/actions/manualfocusdrive=6" führt zu gar
nichts, heißt so viel wie es passiert nicht das Erwartete.

Starte ich Gphoto2 im shellmode, also "gphoto2 --shell" erhalte ich eine
interaktive Shell, in der der Befehl "set-config /main/actions/
manualfocusdrive=6" genau das tut was ich will.
Nur finde ich keinen Weg in dieser "Gphoto2shell" ein script aufzurufen das
irgendeine Aktion ausführt.

Immerhin bietet diese Shell eine Befehlswiederholung mittel den Pfeiltasten,
scheint also eine Art Historie zu beinhalten.
100 mal beide Aktionen per Tastatur aufrufen möchte ich mir aber ersparen.

Dokumentiert ist das ganze natürlich traumhaft, also eine sehr überschaubare
Man Page die über Gemeinplätze kaum hinausgeht. Zum Shellmode finde ich, außer
der Befehlsreferenz, gar keine Doku.

Ich suche nicht unbedingt eine fertige Lösung, aber einen Hinweis oder Tip wo
ich noch suchen, oder was ich noch versuchen kann.

Ein schmutziger Hack der einfach stumpf die beiden Befehlszeilen wiederholt in
ein Terminalfenster schreibt wäre zur Not auch willkommen.

Grüße

Robert

Schlüßel ID= 6E9BF134
Fingerprint=68C1 F1BC C3E0 EA52 0CE7 FB95 7E1B 7D60 6E9B F134
signature.asc

Stefan Klein

unread,
Feb 14, 2017, 3:20:02 PM2/14/17
to
Hallo Robert,

Am 14. Februar 2017 um 20:53 schrieb Robert Stephan
<robert....@entenhof-im-ried.de>:

>
> Starte ich Gphoto2 im shellmode, also "gphoto2 --shell" erhalte ich eine
> interaktive Shell, in der der Befehl "set-config /main/actions/
> manualfocusdrive=6" genau das tut was ich will.
> Nur finde ich keinen Weg in dieser "Gphoto2shell" ein script aufzurufen das
> irgendeine Aktion ausführt.

Hast du mal versucht ein "shellscript" zu schreiben welches diese
shell verwendet?

---8<-------8<-------8<-------8<----
#!/pfad/zu/gphoto2 --shell
set-config /main/actions/manualfocusdrive=6
set-config /main/actions/manualfocusdrive=7
set-config /main/actions/manualfocusdrive=8
---8<-------8<-------8<-------8<----

Es ausführbar zu machen und eben auszuführen?

Ich kenne gphoto nicht. Das ist ein reiner Schuss ins Blaue.

Grüße,
Stefan

Robert Stephan

unread,
Feb 14, 2017, 4:00:02 PM2/14/17
to
> Hast du mal versucht ein "shellscript" zu schreiben welches diese
> shell verwendet?
>
> ---8<-------8<-------8<-------8<----
> #!/pfad/zu/gphoto2 --shell
> set-config /main/actions/manualfocusdrive=6
> set-config /main/actions/manualfocusdrive=7
> set-config /main/actions/manualfocusdrive=8
> ---8<-------8<-------8<-------8<----
>
> Es ausführbar zu machen und eben auszuführen?
>
> Ich kenne gphoto nicht. Das ist ein reiner Schuss ins Blaue.
>
> Grüße,
> Stefan

Habe ich schon versucht, klappt nicht.
Eine Erschwernis kommt noch dazu, ich muß nach starten der gphotoshell noch
einmalig eine Taste am Foto drücken damit der manualfocusdrive funktioniert.
Den Versuch per shellscript habe ich darum mit Befehlen unternommen die ohne
weitere Aktion von mir auskommen.

Ich müßte vermutlich irgendwie die Standard Ein und Ausgabe der "GPhotShell"
umbiegen.

ein "echo capture-image | gphoto2 --shell" ergibt ein Bild.

Grüße

Robert
signature.asc

Christoph Johannes Kleine

unread,
Feb 14, 2017, 4:20:02 PM2/14/17
to
Das ist doch schon mal gut. Ergibt denn auch

"echo capture-image | gphoto2 --shell set-config /main/actions/manualfocusdrive=6"
ein Bild? Dann könnte man sich so eine Zeile per Skript erstellen lassen welches hinten dann die gewünschte Fokuszahl ändernt. Das ganze ergibt dann deine 100 Zeilen in eine Datei speichern und aufgerufen. Nur als Idee.
Gruß



signature.asc

Sascha Reißner

unread,
Feb 14, 2017, 6:20:02 PM2/14/17
to
Am Dienstag, den 14.02.2017, 20:53 +0100 schrieb Robert Stephan:
> Google glüht und das Internet habe ich nun leergelesen, mit anderen Worten,
> ich bin am Ende meiner bescheidenen Fähigkeiten.
>
> Ausgangspunkt, meine Knipse (Fotoapparat) soll den Focus verstellen, ein Bild
> aufnehmen, Focus verstellen Bild … und so weiter.
>
> Der Aufruf "ghoto2 --set-config /main/actions/manualfocusdrive=6" führt zu gar
> nichts, heißt so viel wie es passiert nicht das Erwartete.
>
> Starte ich Gphoto2 im shellmode, also "gphoto2 --shell" erhalte ich eine
> interaktive Shell, in der der Befehl "set-config /main/actions/
> manualfocusdrive=6" genau das tut was ich will.
> Nur finde ich keinen Weg in dieser "Gphoto2shell" ein script aufzurufen das
> irgendeine Aktion ausführt.

Könnte es an den Schrägstrichen liegen? Daß diese von der Shell (Bash)
uminterpretiert werden?
Versuch mal:

# ghoto2 --set-config '/main/actions/manualfocusdrive=6'

Oder (was ich auf http://www.gphoto.org/doc/remote/ gefunden habe):

# ghoto2 --set-config manualfocusdrive=6

Ist auch nur geraten. Habe genauso wie Stefan kein gphoto2 installiert.

--
mfG Sascha

GPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x92BBDD596C5FDC0F
GPG fingerprint: 5A68 F665 44E6 0E50 001C 75A6 92BB DD59 6C5F DC0F

Gott bevorzugt gewöhnliche Menschen. Darum schuf er so viele von
ihnen.
-- Abraham Lincoln
signature.asc

Stefan Klein

unread,
Feb 15, 2017, 5:40:03 AM2/15/17
to
Am 14. Februar 2017 um 21:52 schrieb Robert Stephan
<robert....@entenhof-im-ried.de>:
>> Hast du mal versucht ein "shellscript" zu schreiben welches diese
>> shell verwendet?
>>
>> ---8<-------8<-------8<-------8<----
>> #!/pfad/zu/gphoto2 --shell
>> set-config /main/actions/manualfocusdrive=6
>> set-config /main/actions/manualfocusdrive=7
>> set-config /main/actions/manualfocusdrive=8
>> ---8<-------8<-------8<-------8<----
>>
>> Es ausführbar zu machen und eben auszuführen?
>>
>> Ich kenne gphoto nicht. Das ist ein reiner Schuss ins Blaue.
>>
>> Grüße,
>> Stefan
>
> Habe ich schon versucht, klappt nicht.
> Eine Erschwernis kommt noch dazu, ich muß nach starten der gphotoshell noch
> einmalig eine Taste am Foto drücken damit der manualfocusdrive funktioniert.

Nach jedem starten der gphoto shell?

> Den Versuch per shellscript habe ich darum mit Befehlen unternommen die ohne
> weitere Aktion von mir auskommen.
>
> Ich müßte vermutlich irgendwie die Standard Ein und Ausgabe der "GPhotShell"
> umbiegen.
>
> ein "echo capture-image | gphoto2 --shell" ergibt ein Bild.

Vielleicht per bash o.ä. ein 2tes Script mit folgendem Aufbau generieren:

gphoto2 --shell << EOF
set-config /main/actions/manualfocusdrive=6
capture-image
set-config /main/actions/manualfocusdrive=7
capture-image
set-config /main/actions/manualfocusdrive=8
capture-image
EOF


Wenn du die Taste am Foto, auch bei mehreren Aufrufen nur einmal
drücken musst könntest du den Aufruf von gphoto in eine Shell Funktion
mit Parametern packen, entweder eben mit echo oder heredoc.

Grüße,
Stefan

Robert Stephan

unread,
Feb 19, 2017, 12:40:02 PM2/19/17
to
Sodele, eine Rückmeldung.
Versuche mit langer Befehlszeile ala echo -e
"befehl1\nbefehl2\nbefehl1\nbefehl2\nbefehl1\nbefehl2\n" | gphoto2 --shell
haben erste Erfolge gebracht. So wirklich hat das aber nicht funktioniert.
Das Hilfsscript "autoexpect" aus dem Paket "expect" hat zu einem lauffähigen
Script geführt, nach händischer Anpassung ist das jetzt mal ein gangbarer Weg.
signature.asc
0 new messages