一直在弄通过定时任务控制熄屏,在终端下的单个命令可以执行成功,写到脚本里,单个执行脚本能成功,但是写到crontab定时任务,怎么也不熄屏,但他确实执行了,看日志,是一直报错的;搜索了很多很多,基本上都是说环境变量的原因,然后试了又试,一直不行,一位大哥给我一步一步分析,后来明白了:
crontab 执行任务是在系统里面执行,执行的时候是没有终端的;
我的想法是既然没有终端我就弄个终端给你执行这条熄屏命令:
*/1 * * * * export DISPLAY=:0.0 ;gnome-terminal -x /bin/bash -c "xset dpms force off && exit 2>>/tmp/log"
export DISPLAY=:0.0 将环境变量设置为这个,才能打开终端
gnome-terminal:打开一个终端
gnome-terminal --maximize:打开一个终端后最大化
gnome-terminal --full-screen:打开一个终端后全屏
-c <string> 运行后面的字符串代表的命令或者脚本。分号表示依次执行多个命令