На ноутбуке есть три беспроводных устройства (wifi, bluetooth и wwan) из которых постоянно используется только wifi. Чтобы не засорять эфир остальные устройства отключались вручную после загрузки. Хотя ноутбук перезагружается редко, но делать одно и тоже руками надоедает. Скрипт, который автоматически отключает bluetooth и wwan выглядит так (/usr/local/sbin/rfkill-boot-settings.sh)
#!/bin/sh
RFKILL_TYPE="bluetooth wwan"
RFKILL_BIN=/usr/sbin/rfkill
if [ ! -x "${RFKILL_BIN}" ]; then
echo "Error: rfkill is not installed" >&2
exit 1
fi
# shellcheck disable=SC2086
for RFKILL_ID in $(${RFKILL_BIN} list -n -o ID ${RFKILL_TYPE})
do
# Some devices are nested and dissapear when parent device is blocked
if ${RFKILL_BIN} list -n -o ID | grep -Eq '^\s+'${RFKILL_ID}'$'; then
echo "Disabling ${RFKILL_ID}"
${RFKILL_BIN} block ${RFKILL_ID}
else
echo "Skipping ${RFKILL_ID}"
fi
done
Автоматически запускать можно из /etc/rc.local или через systemd (/etc/systemd/system/rfkill-boot-settings.service)
[Unit] Description="Apply initial rfkill setting during boot" Requires=bluetooth.target After=bluetooth.target [Service] Type=oneshot ExecStart=/usr/local/sbin/rfkill-boot-settings.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target
Остается включить загрузку юнита
sudo systemctl enable rfkill-boot-settings.service sudo systemctl start rfkill-boot-settings.service
Если установлен Blueman, то нужно отключить автоматическую активацию bluetooth устройств. Для этого нужно зайти в настройки плагина PowerManager и отключить "Auto power-on".
Теперь только Wifi остается активным после загрузки.

Комментариев нет:
Отправить комментарий