安排通过crontab关闭显示器?
我想自动关闭特定时间段的显示器(例如在07:00到11:00之间)。 是否有任何命令要在crontab文件中设置? 有没有更好的方法?
综上所述:
在07:00自动关闭显示器。
自动开启11:00的显示器。
- scren-saver&lock screen被禁用!
假设您正在使用Ubuntu的默认gnome-screensaver ,请打开终端并运行下一个命令,然后按说明操作:
-
mkdir -p bin
– 如果你还没有它,那么这个命令会在你的home
文件夹中创建一个bin
目录。 -
gedit ~/bin/screen_on_or_off.sh
– 这将在gedit中创建新文件screen_on_or_off.sh
。 -
复制并粘贴下一个脚本:
#!/bin/bash export DISPLAY=:0 #very important if you want to be runned by a cron job current_hour=$(date +"%k") # Defining the disable_screensaver function function disable_screensaver { # Disabling sleep time # 0 value will never turn the screen off; you can change this value as you wish: # for example to turn the screen of after 10 min, use 600 gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0 gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery 0 gsettings set org.gnome.desktop.session idle-delay 0 } # Defining the enable_screensaver function function enable_screensaver { # Enabling sleep time to 1 second gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 1 gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery 1 gsettings set org.gnome.desktop.session idle-delay 1 notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Let's go to sleep now!" } if [ "$current_hour" -ge "7" ] && [ "$current_hour" -lt "11" ]; then enable_screensaver else disable_screensaver fi exit 0
-
保存文件并关闭它。
- 返回终端并运行:
chmod +x screen_on_or_off.sh
– 授予脚本的执行访问权限。 - 只是为了测试,要运行新脚本,请输入终端
~/bin/screen_on_or_off.sh
。 -
使用
crontab -e
命令编辑crontab条目(默认情况下,这将编辑当前登录用户crontab)并添加以下行:*/1 * * * * /home/$USER/bin/screen_on_or_off.sh #change $USER with your username
我已经设置了每分钟的cron工作,但你可以随意改变或者你认为更好。 从这个意义上看http://en.wikipedia.org/wiki/Cron 。
- 保存文件并使用
crontab -l
检查新的crontab条目。
现在,您的屏幕将在7到11之间每天关闭。