我正在进行 Debian 11 测试。这是一台低端计算机,适用于计算机经验很少的用户,我想使用不提示用户输入密码的脚本使其保持最新状态。
遵循几个主题的建议(如here):
所以我写了一个简单的脚本
/home/user/Documents/update.sh
像这样:
#!/bin/bash
sudo apt update -y
sudo apt upgrade -y
sudo apt autoclean -y
sudo apt autoremove -y
然后我使脚本可执行:
chmod a+x /home/user/Documents/update.sh
然后我给了用户
user
visudo
的权限,以免询问密码
...
user ALL=(ALL:ALL) NOPASSWD:/home/user/Documents/update.sh, /usr/bin/apt update, /usr/bin/apt upgrade, /usr/bin/apt autoclean, /usr/bin/apt autoremove
-> 通过在终端
sh '/home/user/Documents/update.sh'
上运行命令进行测试后,脚本无需要求我输入密码即可运行。
为了在每次启动时运行脚本,我修改了
crontab -u user -e
(我也直接用crontab -e
测试过):
...
@reboot sh '/home/user/Documents/update.sh'
-> 但是在每次重启时:没有脚本启动。
作为替代方案,我尝试在
update.desktop
中创建一个 /usr/share/applications
文件,在其中双击启动脚本:
[Desktop Entry]
Name=update
Exec=sh '/home/user/Documents/update.sh'
Terminal=true
Type=Application
Encoding=UTF-8
-> 经测试,双击此文件运行脚本无需密码
然后,使用 Gnome Tweaks,我将文件
updates.desktop
添加为启动时的应用程序
-> 这就是我的第二个问题所在:脚本在启动时启动,但要求我输入密码。
然后我不明白为什么会这样(是 Gnome Tweaks 在另一个用户下运行,等等)。不管怎样,你怎么看?
我快要得到我想要的了,但我需要你的帮助,非常感谢!