Re: jpg im Vollbild anzeigen
Am Freitag, 25. Mai 2007 schrieb Alex Bleibtreu:
> Allerdings möchte ich nur das Bild bild.jpg für 5 Minuten anzeigen
> lassen und dann gqview beenden lassen (per kill pid ?)
Aha... Ich hatte es so verstanden, dass Du alle 5 Minuten ein neues Bild
anzeigen lassen willst... Wenn Du nur ein einziges Mal ein Bild für 5
Minuten anzeigen lassen willst, und dann soll Schluss sein, dann
brauchst Du keine Schleife:
gqview -f bild.jpg &
sleep 5m
kill %+
>
> Also z.B.
>
> #!/bin/bash
>
> while true; do
> for bild in bild.jpg; do
> gqview -f "$bild" &
> sleep 5m
> pidof gqview
> kill "ergebniss pidof" ?????
Solch ein Konstrukt hat den Nachteil, dass es schon mehrere gestartete
gqview-Instanzen geben könnte und pidof dann die PIDs von allen
liefert.
> kill %+ <- Das hatte zur folge, da gqview immer wieder neu
> gestartet wurde mit einem anderem .jpg done
Das liegt an der for-Schleife (bzw. wenn die durchgelaufen ist an der
while-Schleife).
> done 2>/dev/null
Wenn Dir "kill %+" trotzdem suspekt ist, dann:
gqview -f bild.jpg &
pid_von_gqview=$!
sleep 5m
kill $pid_von_gqview
oder kurz:
gqview -f bild.jpg &
sleep 5m
kill $!
> Wie könnte ich denn das mit dem display machen, damit es auch als
> cron-job kommt?
Das ist schwierig, und ich persönlich finde auch, dass das meistens
keine Aufgabe für cron ist, weil dieser ja erstmal herausfinden müsste,
welcher User grade X gestartet hat (und ob X überhaupt läuft bzw.
zweimal läuft...), dann dessen .Xauthority "klauen" (oder die Identität
dieses Users annehmen, was sicherlich nicht jeder will...) und dann
noch dessen DISPLAY-Variable ermitteln (wie das gehen könnte, weiß ich
leider so ad hoc nicht).
Wenn das Script ohnehin nur laufen kann, wenn ein X-Server läuft und
auch nichts weiter tun muss, als Bilder anzeigen, dann finde ich, dass
es im Allgemeinen sicherlich sinnvoller ist, das Script beim Start des
X-Servers durch ein Startup-Script des Users, der X gerade startet,
mitzustarten.
Viele Grüße von Ole
Reply to: