我注意到 Zorin 每次重启/启动设备时都会启用蓝牙,而我并不想这样。请注意,无论在重启之前蓝牙是启用还是禁用,它始终处于启用状态。
因此,我创建了以下 cron 作业:
@reboot rfkill unblock bluetooth && /etc/init.d/bluetooth stop
由于该命令需要 sudo 访问权限,因此我使用的sudo crontab -e
不仅仅是crontab -e
.
现在,虽然该命令在手动运行时工作得很好,但 cron 作业不起作用;重启后蓝牙仍然启用。
怎么了?谢谢你!
OS: Zorin 16.2 (Ubuntu 20.04 LTS)
Codename: Focal
Kernel: 5.15.0-67-generic
编辑:我跟着@科德洛德的建议并将命令放入 shell 脚本中:
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
rfkill unblock bluetooth
/etc/init.d/bluetooth stop
这是我的新 cronjob:
@reboot ~/Applications/bash_scripts/disable_bluetooth.sh > ~/Applications/bash_scripts/disable_bluetooth.log 2>&1
但是,disable_bluetooth.log
重新启动设备后尚未创建此类内容。似乎 cron 作业根本没有执行。
编辑2:更正路径后/home/pixelcode/...
,日志文件确实按预期创建,并且显示:
rfkill: command not found
编辑3:我PATH
使用以下命令将其添加到根 crontab 中sudo crontab -e
:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot /home/pixelcode/Applications/bash_scripts/disable_bluetooth.sh > /home/pixelcode/Applications/bash_scripts/disable_bluetooth.log 2>&1
现在日志文件显示:
Stopping bluetooth (via systemctl): bluetooth.service.
但根据系统设置,蓝牙仍然处于启用状态。