我有一个 TP-Link umts 路由器。大多数时候我都是通过 WLAN 连接到它。
有时路由器当然没有电源,所以我通过 USB 电缆将其连接到我的笔记本电脑。 Network-Manager-gnome 再次将其作为以太网连接连接,但不要关闭 WLAN 连接。我必须手动执行此操作。我如何告诉网络管理器网络接口 USB 0 是否可用连接但也关闭我的 wlan 连接。我可以通过 Script 来完成此操作/etc/NetworkManager/dispatcher.d/
吗?如何?或者我的配置有问题。
LANG=C cat /etc/NetworkManager/system-connections/Digiworld
[connection]
id=Digiworld
uuid=cf380e60-ae56-405e-ba6c-82913b308d14
type=wifi
timestamp=1479637021
[wifi]
ssid=Digiworld
mode=infrastructure
mac-address=20:7C:8F:01:A1:61
security=802-11-wireless-security
[wifi-security]
key-mgmt=wpa-psk
psk-flags=1
[ipv4]
method=auto
[ipv6]
method=ignore
ip6-privacy=0
和来自以太连接的conf
LANG=C cat /etc/NetworkManager/system-connections/Kabelgebundene\ Verbindung\ 2
[ethernet]
duplex=full
mac-address=92:3D:73:D7:5A:62
[connection]
id=Kabelgebundene Verbindung 2
uuid=a8358ccf-6fdb-43ec-bad8-4c406a2d0307
type=ethernet
timestamp=1487757956
[ipv6]
method=auto
ip6-privacy=0
[ipv4]
method=auto
答案1
手册nmcli-examples
页中有一个 NetworkManager 调度程序脚本示例,用于在以太网连接激活时禁用 Wi-Fi,并在以太网断开连接时再次打开 Wi-Fi:
#!/bin/bash
export LC_ALL=C
enable_disable_wifi ()
{
result=$(nmcli dev | grep "ethernet" | grep -w "connected")
if [ -n "$result" ]; then
nmcli radio wifi off
else
nmcli radio wifi on
fi
}
if [ "$2" = "up" ]; then
enable_disable_wifi
fi
if [ "$2" = "down" ]; then
enable_disable_wifi
fi
从手册页:
将此脚本命名为 70-wifi-wired-exclusive.sh 并将其放入 /etc/NetworkManager/dispatcher.d/ 目录中。有关 NetworkManager 调度程序脚本的更多信息,请参阅 NetworkManager(8) 手册页。
答案2
谢谢孟加拉的提示。但就我而言,我必须对其进行调整,因为我有一张以太网卡。如果我拔掉路由器,它会在 nmcli 中完全删除,设备节点不是静态的,也许 Umts 路由器以调制解调器模式切换。这似乎对我有用(德语)
#!/bin/bash
enable_disable_wifi ()
{
result=$(nmcli device | grep "usb0")
if [ -n "$result" ]; then
nmcli radio wifi off
else
nmcli radio wifi on
fi
}
if [ "$2" != "usb0" ]; then
enable_disable_wifi
fi
if [ "$2" = "usb0" ]; then
enable_disable_wifi
fi
大概是邋遢吧。并且脚本中没有后缀 sh。不起作用