AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1011772
Accepted
Bib-lost
Bib-lost
Asked: 2018-03-05 04:57:38 +0800 CST2018-03-05 04:57:38 +0800 CST 2018-03-05 04:57:38 +0800 CST

仅在以太网连接时设置自动连接到热点

  • 772

我目前每天在以下两种设置之间切换:

1) 通过 WiFi 网络连接到互联网。

2)让我的(Ubuntu 16.04)笔记本电脑通过有线连接连接到互联网,然后通过 Ubuntu 的内置热点功能与我的其他设备共享此连接。

目前,从 1 切换到 2 需要我手动通过网络管理器中的“连接到隐藏网络”对话框;同样,从 2 切换到 1 需要我手动断开热点并连接到 WiFi 网络。这不是很多工作,但我经常这样做,以至于我希望它自动化。

它不像为热点启用自动连接那么简单,因为那时它会覆盖其他网络的自动连接功能,而不是当我没有通过有线连接连接时将我连接到 WiFi 网络,我最终得到一个热点但没有互联网。所以我需要一个解决方案:

  • 每当我通过有线连接连接到互联网时,都会将我连接到热点。
  • 在没有以太网连接时断开我与热点的连接。
  • 只要它们可用并且没有以太网连接,就会自动将我连接到具有 autoconnect=true 的网络之一。

关于如何做到这一点的完整解释会很好,但也非常感谢参考一本好的(非专家)手册来设置这些规则。

networking wireless network-manager hot-spot ethernet
  • 2 2 个回答
  • 1025 Views

2 个回答

  • Voted
  1. Best Answer
    Elder Geek
    2018-03-14T13:11:45+08:002018-03-14T13:11:45+08:00

    据我了解,当您插入优于 wifi 连接的以太网电缆时,wifi 连接会自动断开。以类似的方式,断开以太网电缆自动连接到您首选的 wifi(当然前提是您在网络管理器的常规选项卡上选中了自动连接到该 Wifi 网络的复选框。在默认安装的 Ubuntu 16.04.3 上测试

    因此,如果我对您的理解正确,您只想在连接以太网电缆时自动启动笔记本电脑上的热点服务,并在断开以太网电缆连接时禁用该服务。

    使用 bash 脚本这应该相当简单,并且nmcli“nmcli”是一个强大的网络工具,允许您随意上下连接并获取大量相关信息。

    要找出您将编写脚本的连接,只需nmcli -t monitor| grep primary在通过 wifi 连接并插入以太网电缆时运行即可。您感兴趣的连接nmcli将被's包围示例: 'Wired connection 1' 逻辑是当连接 'Connection' 时会打开热点(您可能会发现有必要使用命令sleep或使用在您的脚本中进行的-w切换会nmcli等待指定的秒数,以便命令完成,然后再发出下一个命令。

    关闭连接就像nmcli 'connection name' down打开连接一样简单nmcli 'connection name' up

    注意:要通过脚本进行完全控制,您可能需要至少在网络管理器中为您的 wifi 连接禁用自动连接选项,因为它会在可用时尝试自动连接,并且可能会干扰您尝试完成的操作。摘自man nmcli:

    There may be multiple connections that apply
           to a device, but only one of them can be active on that device at any
           given time. The additional connections can be used to allow quick
           switching between different networks and configurations.
    

    因此,一旦您确定您的以太网已连接,您可以发出命令关闭 wifi 连接示例: nmcli connection my-wifi down然后打开热点连接示例: nmcli connection my-hotspot up

    有关如何根据网络连接自动运行脚本的更多信息,请参阅此。有关“nmcli”的更多详细信息,请查看手册页。这是有关如何创建热点的信息。

    • 3
  2. Bib-lost
    2018-03-16T11:58:07+08:002018-03-16T11:58:07+08:00

    为我完成的解决方案(在 Elder Geek 的帮助下找到)。

    我为所有我想自动连接的网络保持自动连接,但对热点关闭。然后,我将以下脚本(具有此 Wiki 页面上描述的正确权限)放在文件夹中/etc/NetworkManager/dispatcher.d

    !/bin/bash
    
    interf=$1
    state=$2
    
    if [ $interf = "my-ethernet-device" -a $state = "up" ]; then
        nmcli connection up 'my-hotspot'
    fi
    
    if [ $interf = "my-ethernet-device" -a $state = "down" ]; then
        nmcli connection down 'my-hotspot'
    fi
    

    到目前为止,这非常有效;每当插入以太网电缆时,甚至当计算机在插入以太网电缆的情况下启动或唤醒时,都会自动连接到热点。只要拔出以太网电缆,就会自动断开与热点的连接,然后自动连接到可用的 WiFi 网络。

    • 1

相关问题

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 如何设置默认启用网络?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve