当前位置: 首页>>技术教程>>正文


如何管理可用的无线网络优先级?

, ,

问题描述

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

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

最佳解决方案

WiFi Radar is a Python/PyGTK2 utility for managing WiFi profiles. It enables you to scan for available networks and create profiles for your preferred networks. At boot time, running WiFi Radar will automatically scan for an available preferred network and connect to it. You can drag and drop your preferred networks to arrange the profile priority. 1

安装WiFi Radar,只需按键盘上的Ctrl + Alt + T即可打开终端。打开时,运行以下命令。

sudo apt-get install wifi-radar

network-manager,wireless-access-point,ubuntu

要运行它,

sudo wifi-radar

WiFi Radar有一个新版本2.0,可以从他们的website下载。或者从Here下载

1Source:Ubuntu Geek

次佳解决方案

显然在2014年,NM团队引入了这样一个功能 – 为不同的网络指定优先级。现在有连接.autoconnect-priority。

https://www.hogarthuk.com/?q=node/8提供了有关如何通过nmcli连接NetworkManager的大量信息。

例如,使用nmcli -f NAME,UUID,AUTOCONNECT,AUTOCONNECT-PRIORITY c,您可以列出已知网络,并将其默认优先级设置为0。

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

第三种解决方案

可以在NetworkManager中上下拖动WiFi优先级吗?

简短的回答是“还没有。”截至2018年中期,Ubuntu没有像微软Windows那样容易设置WiFi优先级。但是,有办法实现你想要的。


长话短说?摘要

对于命令行,请使用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-style drag-and-drop重新排序。实际上,nmcli(顾名思义)是NetworkManager的“命令行界面”,这意味着您需要在终端中键入命令,对某些人来说可以是off-putting。我将在下面描述更多如何使用它。

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

此工具不允许重新排序drag-and-drop,但它可以与NetworkManager一起使用。尽管名称为”KDE”,但它适用于任何桌面环境(我使用GNOME进行了测试)。它提供了一个图形界面,可以编辑网络的”autoconnect-priority”。我将在下面讨论如何使用它。

无线雷达

此工具允许按要求上下移动网络优先级。但是,它实际上并未与网络管理器集成;事实上,我认为同时运行这两个是错误的。此外,尽管有图形界面,但它并不像应该的那样容易使用。不使用Wifi Radar的另一个原因是它是一个必须以root身份运行的Python脚本,这是一个潜在的安全风险。此外,根据手册页,WiFi雷达非常耗电,并且有”probably lots”的错误。

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

我更多地提到它是为了完整性,因为这是人们期望的工作,但事实并非如此。 GNOME是Ubuntu目前的默认桌面环境,它带有一个网络控制面板,根本无法显示或编辑自动连接优先级。 (顺便说一下,nmcliplasma-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)。


完整的解释与示例

nmclikde5-nm-connection-editor都可以编辑单个网络自动连接优先级。只有nmcli可以显示所有当前设置的优先级列表。两者都假设你知道更高的数字表示更高的优先级,而零是默认值。如果没有别的可用,则允许使用负数并将网络标记为”last resort”(请参阅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

KDE的NetworkManager客户端Plasma-nm允许您通过图形界面中的多次单击来更改网络的优先级。您不能使用drag-and-drop,而是必须指定一个数字。与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时,它会询问您创建”wallet”以存储凭据。我刚刚问了”Cancel”问题,它对我来说很好。

然后它会显示一个连接列表。您要编辑的连接上的Double-click。这将打开”Connection Editor”面板。选择”General Configuration”选项卡。在底部,您会看到一个标有”Priority”的框。将其从0更改为10(首选)或-10(最后手段)。单击”OK”以保存更改。

network-manager,wireless-access-point,ubuntu

由于更改是使用NetworkManager永久存储的,因此在完成优先级调整后,如果您不想安装plasma-nm,则无需保留。 (sudo apt remove plasma-nm)

第四种方案

运行nm-connection-editor

自从(网络)设置在GNOME中重新设计以来,无法再从新设置界面访问某些功能。要使用显示更多选项的旧旧版本,请运行nm-connection-editor

network-manager,wireless-access-point,ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1645.html,未经允许,请勿转载。