我想在每次启动时运行一个命令(关闭蓝牙设备)。我通常使用 cron 来执行这些操作,但这个命令需要以 root 身份运行。我该怎么做?
答案1
您仍然可以使用 cron 来执行此操作。
在 /etc/crontab 中创建一个这样的条目
@reboot root /path/to/your/command
或作为根类型
crontab -e
并创建一个如下的 etry:
@reboot /path/to/your/command
/etc/crontab 是全局 crontab,因此您需要指定用户,crontab -e 调用每个用户的 crontab。
答案2
由于您已经在使用 cron,因此可以将其用作@reboot
cron 条目的时间规范。在 Debian/Ubuntu 上,该条目可以位于目录中的文件中/etc/cron.d
。
我使用 blueman 工具来配置蓝牙服务。配置应该是粘性的。
如果您想完全禁用蓝牙,您应该考虑使用systemctl
蓝牙disable
和stop
blueman-mechanism 服务。禁用将阻止在重新启动时启动服务,停止将终止任何当前正在运行的服务。
原始/过时:您可以尝试将命令放入/etc/rc.local
。此文件中的命令应在启动序列结束时运行。
正如@skrewler 所描述的,禁用驱动程序和/或软件通常是一个很好的解决方案。
答案3
您希望修改init.d
脚本/设置。这可能很复杂,并且取决于您的发行版。您可能能够编辑或创建/etc/init/bluetooth.conf
或/etc/defaults/bluetooth
。但我认为 Vixie Cron 支持 root 的 cron 作业,并且具有启动时间设置。
答案4
如果你使用的是 Fedora,请运行此命令chkconfig --level 12345 bluetooth off