Hallo, bzgl. dem "FEH" Bildbetrachter für Linux (bzw. verwende es jetzt aufm Raspberry).. per feh -F -D 3 directory wird eine slideshow gestartet. Per Tastatur kann dann z.B. mit der H-Taste die slideshow pausiert werden. Wie simuliere ich die H-Taste per Kommando-Befehl?? Danke
Schau mal hier den Link: http://xmodulo.com/simulate-key-press-mouse-movement-linux.html Hab das dort stehende Beispiel etwas umgebastelt und es hat bei mir funktioniert, also es pausiert alle 2 sekunden feh, bzw. hebt die Pause auf. Ob das zweite sleep nach dem Fokussieren wirklich nötig ist musst du mal ausprobieren.
1 | #!/bin/bash
|
2 | |
3 | for i in {1..30} |
4 | do
|
5 | WID=`xdotool search --name "feh" | head -1` |
6 | echo $WID |
7 | xdotool windowfocus $WID
|
8 | sleep 1
|
9 | xdotool key "h"
|
10 | sleep 1
|
11 | done
|
hope that helps vgs
ok. ja danke, habe auch an xdotool gedacht...(schade ist nicht anders möglich) ABER da ist noch ein anderes Problem bevor ich das nutzen kann, also wenn ich mit einem script den "feh" starte... wird der weitere Code im script gar nicht mehr ausgeführt. Ich bekomme es nicht hin, auch mit zwei scripten... sobald "feh" gestartet ist wird jeder weitere code im script ignoriert, wieso?
epikao schrieb: > ABER da ist noch ein anderes Problem bevor ich das nutzen kann, > also wenn ich mit einem script den "feh" starte... wird der weitere > Code im script gar nicht mehr ausgeführt. Dann hänge mal ein & dahinter.
Anders beschrieben: ich kann per script nicht gleichzeitig zwei programme starten, also: ./main.py && feh -D 3 "/..." GEHT NICHT? es wird immer nur das erstere ausgeführt, wieso?
epikao schrieb: > Anders beschrieben: > > ich kann per script nicht gleichzeitig zwei programme starten, also: > > ./main.py && feh -D 3 "/..." > > GEHT NICHT? es wird immer nur das erstere ausgeführt, wieso? Wenn du das so schreibst, sollte das zweite schon ausgeführt werden, aber erst, nachdem das erste erfolgreich (also mit Return-Code 0) beendet wurde.
epikao schrieb: > ./main.py && feh -D 3 "/..." > > GEHT NICHT? es wird immer nur das erstere ausgeführt, wieso? Weil das eben heisst: fuehre "main.py" aus und wenn dessen Ergebnis true ist dann "feh..." Das Ergebnis(exitcode) bekommst Du aber erst zum Ende. asdfgghhjj
dann probier es mal so: feh -D 3 "/..." & ./main.py & Dein Konstrukt argeitet die programme in der angegebenen Reihenfolge ab: ./main.py && feh -D 3 "/..." Das logische und (&& ) dazwischen sorgt sogar dafuer dass das zweite Programm nicht gestartet wird wenn das erste (./main.py) false zurueckliefert.
wenn ich schreibe: feh... && main.py dann wird main.py nie ausgeführt... also müsste ich das zweite ausführen egal ob was zurückkommt oder nicht, geht das? (also egal ob true, oder ein return)
feh -D 3 "/home/...." & ./main.py das funktioniert. Danke
mit Python funktioniert es aber nicht: call(["feh", ... "&", "./main.py"]) startet feh, bringt aber dann den Fehler: & does not exist - skipping
epikao schrieb: > (schade ist nicht anders möglich) Frage? Es gab mal ein xsendkey https://web.archive.org/web/people.csail.mit.edu/adonovan/hacks/xsendkey.html Die FensterID kriegt man z.B. einfach mit wmctrl simples vereinfachendes skript dazu http://kyoto.github.io/sendkeys/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.