我一直尝试使用 rc.local 和 crontab 方法在启动时启动我的脚本,但都不起作用
这是我的脚本内容:
#!/bin/bash
sudo hue spectrum 2
exit 0
以下是我的 crontab 内容(减去注释):
@reboot /home/ben/Documents/startup_scripts/hue+.sh
编辑:我尝试使用 echo 命令来模拟我在一行中输入密码,但遗憾的是,这也不起作用。以下是该版本的脚本:
#!/bin/bash
echo <mypassword> | sudo -S hue spectrum 2
exit 0
编辑 2:我确实使用了 sudo crontab 文件,hue 命令启动了 NZXT CAM 软件的开源版本,让我可以控制计算机中的 NZXT 设备(冷却器、风扇、LED 等),这里还有“hue.log”文件,供那些要求它的人使用
/home/ben/Documents/startup_scripts/hue+.sh: line 2: hue: command not found
我不知道为什么它说没有找到命令,这个命令 100%适用于 sudo
编辑 3:我将自己添加到组“dialout”,现在该命令无需 sudo 即可运行,但不幸的是,日志文件与之前完全相同,并且脚本在启动时仍然不起作用
/home/ben/Documents/startup_scripts/hue+.sh: line 2: hue: command not found
答案1
将脚本添加到root
的 crontab。
sudo crontab -e
您现在可以省略sudo
脚本中的。
答案2
这个解决方案可能对我来说很特殊,但我在 crontab 文件中添加了 sleep 命令,以便为计算机提供更多时间,它奇迹般地起作用了,没有理由它不应该在没有 sleep 命令的情况下起作用,但它似乎已经解决了这个问题