可以在 NetworkManager 中调高或调低 WiFi 优先级吗?

可以在 NetworkManager 中调高或调低 WiFi 优先级吗?

我想上下移动可用的无线接入点,设置优先级,就像我们在 Microsoft Windows 中所做的那样。自从使用以来,我不记得曾经成功过network-manager。也许使用 conf 文件是可能的......

我对不同的网络管理员不感兴趣。

答案1

显然是在 2014 年网络管理器团队引入了这样一个功能——为不同的网络指定优先级。现在有了connection.autoconnect-priority

本文提供了大量有关如何通过 连接 NetworkManager 的信息nmcli

例如

nmcli -f NAME,UUID,AUTOCONNECT,AUTOCONNECT-PRIORITY c

您可以列出已知网络并看到它们的默认优先级为 0。现在我已经运行

nmcli connection modify HOME-WIFI connection.autoconnect-priority 10

为我的家庭 WiFi 提供更高的优先级。我家里也有相同的工作 WiFi 点,但当我在家时需要连接到家庭 WiFi。该命令经过大量重写,/etc/NetworkManager/system-connections/HOME-WIFI并添加autoconnect-priority=10[connection]部分 - 时间将显示它是否正常工作。

答案2

可以在 NetworkManager 中调高或调低 WiFi 优先级吗?

简短的回答是“还没有。”截至 2018 年中,Ubuntu 还没有像 Microsoft Windows 那样轻松设置 WiFi 优先级的功能。不过,还是有办法实现你想要的。


TL;DR? 摘要

对于命令行使用nmcli。对于 GUI plasma-nm,。

nmcli -f autoconnect-priority,name c
nmcli c mod "mypreferred" conn.autoconnect-p 10
nmcli c mod "xfinitywifi" conn.autoconnect-p -10

或者

apt install plasma-nm
kde5-nm-connection-editor

可用的替代方案

以下是当前可用的设置 WiFi 优先级的方法,以及它们为什么不能完全回答原始问题的简要说明。

命令行工具(nmcli)

虽然此解决方案可能是最简单的方法,并且确实适用于 NetworkManager,但nmcli不允许 Microsoft Windows 风格的拖放重新排序。事实上,nmcli(顾名思义)是 NetworkManager 的“命令行界面”,这意味着您需要在终端中输入命令,这可能会让一些人感到不快。我将在下面详细介绍如何使用它。

Plasma-nm (kde5-nm-connection-editor)

此工具不允许拖放重新排序,但它可以与 NetworkManager 配合使用。尽管名称为“KDE”,但它适用于任何桌面环境(我使用 GNOME 对其进行了测试)。它提供了一个图形界面,可让您编辑网络的“自动连接优先级”。我将在下面讨论如何使用它。

无线网络雷达

此工具确实允许根据需要调高或调低网络优先级。但是,它实际上并未与 Network Manager 集成;事实上,我认为同时运行两者是一个错误。此外,尽管它具有图形界面,但使用起来并不像它应该的那样容易。不使用 Wifi Radar 的另一个原因是它是一个必须以 root 身份运行的 Python 脚本,存在潜在的安全风险。此外,根据手册页,WiFi Radar 非常耗电,并且“可能有很多”错误。

GNOME 网络控制面板(甚至不在运行中)

我提到这一点更多是为了完整性,因为这是人们期望它能起作用的,但实际上却不能。GNOME 是 Ubuntu 当前的默认桌面环境,它附带一个网络控制面板,根本无法显示或编辑自动连接优先级。(顺便说一句,nmcli两者plasma-nm都可以在 GNOME 下正常工作。)

nm-connection-editor:GNOME 的旧网络控制面板

GNOME 曾经具有设置连接优先级的功能,尽管方式笨拙,不是拖放。旧控制面板仍包含在 GNOME 中,但无法通过单击访问。相反,运行命令nm-connection-editor,然后选择 WiFi 网络,单击编辑,转到常规选项卡,然后单击“自动激活的连接优先级”旁边的 - / + 按钮。

Emacs/vi

如果您是硬核极客,在睡梦中喃喃自语,那么您需要做的就是将行“autoconnect-priority: 10”添加到文件/etc/NetworkManager/system-connections/foo。请参阅 nm-settings(5)。


完整解释并附示例

nmcli和都kde5-nm-connection-editor可以编辑单个网络自动连接优先级。Onlynmcli可以显示所有当前设置的优先级列表。两者都假设您知道数字越大代表优先级越高,并且零是默认值。允许使用负数,并且在没有其他可用选项时将网络标记为“最后的手段”(查看man nm-settings并搜索“autoconnect-priority”)。

nmcli 和 plasma-nm 所做的更改由 NetworkManager 永久存储在 /etc/NetworkManager/system-connections/ 中。

如何使用 nmcli

这是我最喜欢的解决方案,它已经随 Ubuntu 一起提供。如果您熟悉命令行,或者您有天生的语言大脑,您可能会发现此解决方案比使用鼠标更容易。另一方面,如果您想先尝试图形界面,请跳到下一节 KDE 的 plasma-nm。对于以下所有示例,您都需要打开终端来输入命令。

列出当前的优先事项

$ nmcli -f autoconnect-priority,name c 

示例输出:

AUTOCONNECT-PRIORITY  NAME
0                     Blake5Net             
0                     Caffe Ubuntu      
0                     Caffe Ubuntu Guest      
0                     Fire Hotspot          
0                     JET & Mishka             
0                     La Marzocco           
0                     Le_MX                 
0                     MobileLab             
0                     xfinitywifi           

提示:如果您的列表很长,您可能希望按优先级对它们进行排序:

nmcli -f autoconnect-priority,name c | tail -n +2 | sort -nr

如何将网络设置为首选网络

nmcli connection modify "Caffe Ubuntu" connection.autoconnect-priority 10

请注意,您可以为优先级使用任意数字。数字越大,网络越位于列表顶部。

如何将网络设置为最后手段

nmcli connection modify "xfinitywifi" connection.autoconnect-priority -10

负优先级值低于默认值 0,这意味着如果找不到其他已知 WiFi 网络,则将最后尝试它们。请注意,由于 某些版本中的错误nmcli,您可能会看到负数被列为巨大的正数,如 4294967286。不要担心这一点,因为它仍然可以正常工作。

如何使用 plasma-nm

Plasma-nm 是 KDE 的 NetworkManager 客户端,它允许您在图形界面中单击几下即可更改网络的优先级。您无法拖放,而是必须指定一个数字。与 一样nmcli,数字越大优先级越高。遗憾的是,您无法看到过去设置的其他优先级列表,因此您可能不得不猜测一个数字。就我个人而言,我只使用“10”表示首选网络,使用“-10”表示最后选择网络,除此之外我不会对它们进行区分。

您无需安装所有 KDE 即可获得 plasma-nm。(在我的机器上,运行 GNOME,完整的 KDE 软件包需要下载超过 600MB;相比之下,plasma-nm 只有 8MB)。我从命令行安装了 plasma-nm,如下所示:

sudo apt install plasma-nm

然后我输入以下命令来运行它:

kde5-nm-connection-editor

(嗯,严格来说,我并没有输入所有这些。我使用 TAB 来自动完成输入)。

如果您不使用 KDE,第一次运行 plasma-nm 时,它会询问您是否要创建一个“钱包”来存储凭证。我只需点击“取消”即可,对我来说一切正常。

然后它会显示一个连接列表。双击要编辑的连接。这将打开“连接编辑器”面板。选择“常规配置”选项卡。在底部,您将看到一个标有“优先级”的框。将其从 0 更改为 10(首选)或 -10(最后选择)。单击“确定”保存更改。

plasma-nm 的连接编辑面板

由于更改会永久存储在 NetworkManager 中,因此一旦您完成优先级的调整,如果不愿意,则不必保留 plasma-nm 安装。(sudo apt remove plasma-nm

答案3

跑步nm-connection-editor

自从 GNOME 重新设计了(网络)设置后,部分功能就无法再从新设置界面访问。要使用显示更多选项的旧界面,请运行nm-connection-editor

在 <code>nm-connection-editor</code> 中设置连接优先级

答案4

如果你正在使用 xfce,例如在 xubuntu 18.04 下,你可以执行以下操作:

  • 进入 Wifi 小程序(右上角)
  • 点击“编辑连接”
  • 双击感兴趣的网络
  • 点击“常规”选项卡
  • 输入“自动激活的连接优先级”的值

正数表示优先级较高;负数表示优先级较低。默认优先级似乎是 0,因此我将无处不在但并非始终有效的“xfinitywifi”的优先级设置为负数,以便其他任何东西都先连接。

坦白说:我自己花了很大力气才添加这个功能,才发现这一点。这表明拖放功能可能值得添加,因为它更直观,虽然必须考虑如何将其与默认排序顺序相协调等。连接列表中的“优先级”选项卡可能是展示该功能的正确位置。

相关内容