我需要sudo vulkaninfo
在每次系统启动时运行该命令(我知道当系统从睡眠状态唤醒时如何执行该命令,即在 中/usr/lib/pm-utils/sleep.d/somescript
)。此命令应该是全局的,因此所有用户都会在启动时运行此命令。我尝试在 /etc/profile.d 下的 profile.d 中添加一个脚本,但这导致我无法登录。rc.local 只是本地的,所以这行不通。我有什么选择?
编辑:我需要能够从终端执行此操作,因为我正在创建一个自动化系统设置的脚本,因此程序将无法运行。因此,例如,我需要一个可以创建文件、附加命令并将文件移动到系统启动文件所在的位置的命令。
答案1
我将使用 root 的 crontab 来@reboot
实现这一点,它可以很容易地从 root 脚本进行编辑:
(crontab -l 2>/dev/null; echo "@reboot vulkaninfo") | crontab -
这会将该行添加@reboot vulkaninfo
到 root 的 crontab,该 crontab 会vulkaninfo
在每次启动时以 root 权限运行。
请注意,cron 具有最小环境,如果您的命令需要设置环境变量,请手动设置它们或获取设置它们的文件,例如$HOME/.profile
。该命令也可能在启动过程中过早执行,一个简单的sleep
命令或一个测试循环是解决这个问题的方法。
进一步阅读: