Redshift-Befehle von crontab aus auszuführen, funktioniert nicht

1251
ToonAlfrink

Über Rotverschiebung:

Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night.

Ein typischer Rotverschiebungsbefehl ist redshift -O 9999die Einstellung der Bildschirmfarbentemperatur auf 9999K. Nach einem mehrphasigen Schlafplan möchte ich einige Male am Tag die Bildschirmfarbe ändern.

Also hier ist ein Teil meiner Crontab:

LOW='redshift -O 1000' HIGH='redshift -O 9999'  30 4 * * * $LOW 45 12 * * * $LOW 45 20 * * * $LOW 0 6,15,23 * * * $HIGH 

Es tut nichts. Ich habe das Syslog überprüft, es wird ausgeführt, aber wenn ich die Ausgabe in einer Datei abfange, ist die Datei leer.

Warum funktioniert das nicht? Gibt es Alternativen zu Redshift, die ich ausprobieren kann?

3
Befehle, die von "cron" ausgeführt wurden, haben keine Shell-Umgebungsvariablen wie "DISPLAY". Überlegen Sie, was passiert, wenn Sie Ihren Befehl in cron durch "env" ersetzen. Sie müssen die Variable DISPLAY einstellen. Dan D. vor 10 Jahren 2

1 Antwort auf die Frage

3
ToonAlfrink

Danke Dan D. Das hat funktioniert:

LOW='redshift -O 1000' HIGH='redshift -O 9999' DISPLAY=:0.0  30 4 * * * $LOW 45 12 * * * $LOW 45 20 * * * $LOW 0 6,15,23 * * * $HIGH 
wie hat das funktioniert? Hat der Kommentar von Dan D. nicht gesagt, dass cron bei Rotverschiebung nicht funktioniert? xdavidliu vor 6 Jahren 0