Browser per Script starten und stoppen abhängig vom Zustand des Bildschirmschoners

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
debfreak
Beiträge: 86
Registriert: 23.03.2008 20:06:14

Browser per Script starten und stoppen abhängig vom Zustand des Bildschirmschoners

Beitrag von debfreak » 20.09.2017 09:19:06

Hallo zusammen ich hänge an folgendem Script und komme einfach nicht weiter :roll:

Code: Alles auswählen

#!/bin/bash
xscreensaver-command -watch | while read -r line;do
        if [[ $line =~ ^BLANK ]] || [[ $line =~ ^RUN ]];then
                pkill chromium
                
        elif [[ $line =~ ^UNBLANK ]];then
                chromium-browser --incognito --kiosk --disable-pinch --overscroll-history-navigation=0  http://eineAdresse
            
        fi
done
Das starten des Browsers funktioniert ohne Weiteres. Wird der Browser aber durch das Script gestartet wird er nicht mehr beendet sobald der Bildschirmschoner aktiv ist. Ich verstehe nicht warum ??? Kann das irgendwie an dem tty pts/0 liegen unter dem der Browserprocess dann läuft ? Führe ich den pkill Befehl per ssh über eine weitere Konsole aus, beendet sich der Browser. Ich habe statt pkill auch schon solche Dinge versucht: ps aux | grep 'chromium-browser' | awk '{print $2}' | xargs kill hat aber alles nicht funktioniert :evil:

Ist der Browser gestartet und ich starte das Srcipt dann wird er geschlossen sobald der Bildschirmschoner aktiv ist. Wenn er dann aber beim "aufwecken" über das Script gestartet wurde lässt er sich über selbiges nicht mehr beenden...bin jetzt mit meinem Latein am Ende vielleicht hat hier ja jemand eine Idee :hail:
Zuletzt geändert von debfreak am 20.09.2017 14:42:21, insgesamt 1-mal geändert.

uname
Beiträge: 12046
Registriert: 03.06.2008 09:33:02

Re: Browser per Script starten und stoppen abhängig vom Zustand des Bildschrimschoners

Beitrag von uname » 20.09.2017 10:14:54

Vielleicht unter den Aufruf von chromium-browser ...:

Code: Alles auswählen

pid=$!
und statt pkill chromium

Code: Alles auswählen

kill $pid
Auch weiß ich nicht ob das Script optimal ist. Geht doch bestimmt auch in einen Einzeiler mit logischem Und (&&) und Oder (||).

Benutzeravatar
debfreak
Beiträge: 86
Registriert: 23.03.2008 20:06:14

Re: Browser per Script starten und stoppen abhängig vom Zustand des Bildschrimschoners

Beitrag von debfreak » 20.09.2017 12:58:54

Wenn ich das so mache bekomme ich nur die Fehlermeldung: kill: Aufruf: kill [-s Signalname| -n Signalnummer | -Signalname] und der Browser wird nicht geschlossen.

cosmac
Beiträge: 4573
Registriert: 28.03.2005 22:24:30

Re: Browser per Script starten und stoppen abhängig vom Zustand des Bildschrimschoners

Beitrag von cosmac » 20.09.2017 13:00:53

Es könnte sein, dass das Script nach dem Start des Browsers nicht weiterläuft. Bei vielen einfachen Programmen wäre das so. Dagegen hilft ein '&' am Ende der Zeile.
Außerdem sollte man die Adresse 'einklammern', damit die shell die Sonderzeichen nicht interpretiert. Also:

chromium-browser --incognito --kiosk --disable-pinch --overscroll-history-navigation=0 'http://eineAdresse' &
Beware of programmers who carry screwdrivers.

Benutzeravatar
debfreak
Beiträge: 86
Registriert: 23.03.2008 20:06:14

Re: Browser per Script starten und stoppen abhängig vom Zustand des Bildschrimschoners

Beitrag von debfreak » 20.09.2017 14:41:14

Unglaublich das fehlende & war die Ursache :hail: . Du hast mir den Tag gerettet :THX:

Antworten