再起動後にBluetoothを無効にするクローン操作が機能しないのはなぜですか?

再起動後にBluetoothを無効にするクローン操作が機能しないのはなぜですか?

私は不要なデバイスを再起動/起動するたびにZorinがBluetoothを有効にしていることに気づきました。再起動する前にBluetoothが有効になっているかどうかにかかわらず、常に有効になっています。

したがって、次のクローンタスクを作成しました。

@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

編集する:フォローする@コードロード提案し、コマンドをシェルスクリプトに入れます。

#!/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.

ただし、システム設定によると、Bluetoothはまだ有効になっています。

システムメニューの横にあるログファイルはすべてBluetoothサービスのさまざまなステータスを表示します。

関連情報