所有谷歌结果都提到了 cron 作业。它们不起作用,我严格遵循了多个指南,并且脚本从未启动。
我只需要设置亮度在早晨和黄昏时变化,这对我来说似乎是一个非常简单的任务,但令人惊讶的是我无法弄清楚。我使用brightnessctl来控制笔记本电脑的亮度,并且不需要sudo。
我正在运行 Arch Linux。安装cronie
,在终端 Icrontab -e
和我写的文件中41 17 * * * dunstify "timer"
,这是我写完后几分钟的时间,作为测试它是否运行。
我保存文件,在 systemctl 中启用并启动 cronie 服务,然后输入 crontab -l,然后出现“no crontab for Indeedwatson”。
这篇文章引导我找到了这个命令sudo crontab -u indeedwatson -e
,我可以从中创建一个确实显示crontab -l
.我不明白为什么。我使用 sudo 来创建它,但不列出它们,并且在任何情况下,所有指南都不需要该-u
标志,对我来说,这似乎是通过在没有 sudo 的情况下运行它来暗示的,它是我自己的用户。
答案1
如果不知道您使用的是哪个 Linux/Unix 发行版,或者您进行了哪些配置更改,或者您在工作中使用了哪些命令cron
,则很难确定。我会做一些假设:
- 假设您的亮度命令实际上可以从命令行运行,并且它需要
su
权限:
不要使用普通用户crontab
,而是使用root crontab
;即打开您的crontab
编辑器sudo
。这样,您的cron
作业将以所需的权限运行:
sudo crontab -e
- 假设您没有使用重定向
stderr
要获得潜在有用的&的好处stdout
,请在您的 cron 作业中尝试一下;重定向用于>>
指定文件,并2>&1
包含stderr
和stdout
:
...
0 7 * * * /full/path/to/bright-adj-pkg >> /home/user/mylog.txt 2>&1
0 19 * * * /full/path/to/bright-adj-pkg >> /home/user/mylog.txt 2>&1
...