Read the statement by Michael Teeuw here.
cron job hdmi on and off
-
Re: [Cron Job Question](/tI used a cron job to turn my screen off and on I still want to do this I understand that the addressing of the monitor has changed and now only the code below works:
Turn off display Sunday - Thursday at 22:00
00 22 * * 0-4 wlr-randr --output HDMI-A-1 --off
Turn off display Friday - Saturday at 22:45
45 22 * * 5,6 wlr-randr --output HDMI-A-1 --off
Turn on screen Monday - Friday at 7:00
00 07 * * 1-5 wlr-randr --output HDMI-A-1 --on
Turn on screen Saturday - Sunday at 8:00
00 08 * * 6,0 wlr-randr --output HDMI-A-1 --onopic/16967/cron-job-question)
i see that running the commands:
wlr-randr --output HDMI-A-1 --off
wlr-randr --output HDMI-A-1 --on
works fine
only putting this in cron and making it work didn’t work. i think i need to point the above cron job to files to have it run by cronjob can someone give a good example of what this looks like -
-
@Sam-0 Have a look at my post about this.
-
@Sam-0 thanks I will test it and share the result with you
-
i created two files
off.sh and on.sh
they contain the following lineswlr-randr --output HDMI-A-1 --off
wlr-randr --output HDMI-A-1 --oni also created a folder
with the following rights:
cmod 777
the cron contains the following lines:
unfortunately this does not work what is wrong?# Schakel display uit zondag - donderdag om 22.00 00 22 * * 0-4 /home/username/MagicMirror/config/hdmionoff/off.sh>> /home/username/MagicMirror/config/hdmionoff/mof.log 2>&1 # Schakel display uit vrijdag - zaterdag om 22.45 45 22 * * 5,6 /home/username/MagicMirror/config/hdmionoff/off.sh>> /home/username/MagicMirror/config/hdmionoff/mof.log 2>&1 # Zet het scherm aan maandag - vrijdag om 7u00 00 07 * * 1-5/home/username/MagicMirror/config/hdmionoff/on.sh>> /home/username/MagicMirror/config/hdmionoff/mon.log 2>&1 # Zet het scherm aan zaterdag - zondag om 8u00 00 08 * * 6,0/home/username/MagicMirror/config/hdmionoff/on.sh>> /home/username/MagicMirror/config/hdmionoff/mon.log 2>&1
-
@Sam-0 are the sh files marked executable?
ls -laF in your folder to see
permissions are 3 groups of 3 settings
read/write/execute
for user, group and all others
9 settings from the right
one more for directory and 1 for systemds, user, group, other
-
-
@Sam-0 yes. although you dont need write permission, (except for user)
means anyone else could change the script -
@Sam-0 said in cron job hdmi on and off:
i created two files
off.sh and on.sh
they contain the following lineswlr-randr --output HDMI-A-1 --off
wlr-randr --output HDMI-A-1 --onDo you have
#!/bin/bash
or#!/bin/sh
at the very beginning of your shell scripts ?#! /bin/sh – Execute the file using the Bourne shell, or a compatible shell, assumed to be in the /bin directory
#! /bin/bash – Execute the file using the Bash shellYou can also put
/bin/bash
in the crontab entry (before/home/username/...
).
Then there is no way for cron to not execute it as a shell script and it will even run without the executable bit set.And what Sam mentioned: the scripts need to be executable but not necessarily writable (
chmod 755
).
This should normally do the trick.If you have
mail
installed (which mail
) you can put this at the very beginning of the crontab file:
MAILTO=username
(in my caseadmin
).
With
journalctl --since "1 day ago" --unit cron.service --no-pager
you can see if cron ran your script and withmail
you can see more details on the cron job executed.Good luck.
-
@evroom Thanks for your explanation, I have made adjustments and will check tonight if it works. I will report this back. Thanks for the effort.
-