当以太网插入时我可以自动打开热点吗?

当以太网插入时我可以自动打开热点吗?

我的路由器离我的工作空间很远,但我有一条以太网电缆延伸到那段距离。当我将它插入笔记本电脑时,有没有办法自动打开笔记本电脑的热点,以便我的手机可以连接到更强的 WiFi 信号?

此外,当以太网连接断开时,需要关闭热点。

答案1

用于nmcli d|grep -E "^eth0"|grep connected判断电缆是否连接。

编写如下脚本

AP=0
while :; do
    if nmcli d|grep -E "^eth0"|grep connected ; then
        if [[ AP -eq 0 ]]; then
            # bring hotspot up
            AP=1
        fi
    else
        if [[ AP -eq 1 ]]; then
            # turn hotspot off
            AP=0
        fi
    fi
    sleep 2
done

答案2

根据 Bob Johnson 的回答,我建议使用nmcli device show [ethernetdevice] | grep IP4.ADDRESS,它与语言无关,并且可以在连接电缆但不提供 IP 地址时阻止将 WiFi 保持为 AP:

#!/bin/bash

AP=0
while :;
do
 if nmcli device show eth0 | grep IP4.ADDRESS ; then
    if [[ AP -eq 0 ]]; then
     nmcli device disconnect wlan0
     nmcli connection up 'Shared WiFi connection name'
     AP=1
    fi
 else
    if [[ AP -eq 1 ]]; then
     nmcli connection down 'Shared WiFi connection name'
     nmcli device connect wlan0
     AP=0
    fi
 fi
 sleep 5
done

在哪里:

  • eth0是 ifname 标识的以太网设备,大多数情况下是 eth0(不是我的),您可以通过nmcli device在终端中输入来获取设备的正确名称。
  • wlan0是ifname识别的WiFi设备。
  • Shared WiFi connection name是作为 AP 共享 WiFi 的连接的名称(并不总是等同于 SSID,这取决于如何配置)。

将脚本添加到 shell 中的自动启动应用程序。它对我来说非常有效。

相关内容