我有一台配备戴尔自家 TB-16 底座的 XPS 13。尽管缺乏官方 Linux 支持,但只要关闭 WiFi,它就能很好地工作。这没问题,因为我的办公桌上有有线连接,但如果我尝试在底座连接的情况下启动,它将无法工作,因为它会在我登录并关闭 WiFi 之前崩溃。
我想我可以编写一些脚本来检测底座本身或者连接到底座的特定 USB 设备(例如键盘),但前提是我在系统开启时连接底座。在这种情况下,我无论如何都可以手动关闭 WiFi。
有没有办法确保每次启动时 WiFi 都不会被激活?或者,每次重启时都可以关闭它吗?由于我的笔记本电脑大部分时间都插在底座上,所以必须手动打开它并不是一件坏事。
答案1
我使用以下脚本来处理基于以太网连接是否应激活 wifi。您可能会对您的用例和连接名称(例如“eth0”)进行细微编辑。您需要根据chmod +x
需要获得许可...
有了 NetworkManager,它就位于/etc/NetworkManager/dispatcher.d/
wlan_auto_toggle.sh
#!/usr/bin/env bash
if [ "$1" = "eth0" ] || [ "$1" = "eno1" ]; then
case "$2" in
up)
logger "[Script] Ethernet connect detected. Turning Wifi radio OFF";
nmcli radio wifi off
;;
down)
logger "[Script] Ethernet disconnect detected. Turning Wifi radio ON";
nmcli radio wifi on
;;
esac
fi
以下是对 NetworkManager 事件($2)的参考,可能会有所帮助:https://developer.gnome.org/NetworkManager/stable/NetworkManager.html