![连接到 Thunderbolt 基座时关闭 WiFi](https://linux22.com/image/1202905/%E8%BF%9E%E6%8E%A5%E5%88%B0%20Thunderbolt%20%E5%9F%BA%E5%BA%A7%E6%97%B6%E5%85%B3%E9%97%AD%20WiFi.png)
我有一台配备戴尔自家 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