我想在特定时间段自动关闭显示器(例如 07:00 到 11:00 之间)。是否有任何命令可以在 crontab 文件中设置?有没有更好的方法?
总之:
07:00 自动关闭显示器。
11:00 自动打开显示器。
- 屏幕保护程序和锁屏已被禁用!
答案1
假设您使用默认gnome 屏幕保护程序对于 Ubuntu,打开终端并按照说明运行下一个命令:
mkdir -p bin
-如果您还没有目录,此命令将bin
在您的文件夹中创建一个目录。home
gedit ~/bin/screen_on_or_off.sh
screen_on_or_off.sh
- 这将在 gedit 中创建新文件。复制并粘贴下一个脚本:
#!/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 条目
crontab -e
(默认情况下这将编辑当前登录用户的 crontab)并添加以下行:*/1 * * * * /home/$USER/bin/screen_on_or_off.sh #change $USER with your username
我已经设置了每分钟的 cron 任务,但你可以按照自己的意愿或你认为更好的方式进行更改。参见http://en.wikipedia.org/wiki/Cron在这个意义上。
- 保存文件并使用 检查新的 crontab 条目
crontab -l
。
现在您的屏幕将在每天 7 点至 11 点之间关闭。
答案2
更新且更简单的答案,将其放入 cron 中:
0 07 * * * export DISPLAY=:0 && xset dpms force off
0 11 * * * export DISPLAY=:0 && xset dpms force on