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

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

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

WiFi Radar是用于管理WiFi配置文件的Python / PyGTK2实用程序。 它使您可以扫描可用网络并为首选网络创建配置文件。 在启动时,运行WiFi雷达将自动扫描可用的首选网络并连接到它。 您可以拖放首选网络以排列配置文件优先级。 1

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

 sudo apt-get install wifi-radar 

通过软件中心安装

要运行它,

 sudo wifi-radar 

WiFi雷达有一个新版本2.0,可以从他们的网站下载。 或者从这里下载

1来源: Ubuntu Geek

显然在2014年,NM团队引入了这样一个function – 为不同的网络指定优先级。 现在有connection.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优先级。 但是,有办法实现你想要的。


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的“命令行界面”,这意味着您需要在终端中键入命令,这对于某些人来说可能是nmcli 。 我将在下面描述更多如何使用它。

等离子体-nm(kde5-nm-connection-editor)

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

无线雷达

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

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

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

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

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

Emacs的/ VI

如果你是一个铁杆极客,睡觉时嘟嘟嘟嘟的代码,你需要做的就是在文件/etc/NetworkManager/system-connections/foo添加“autoconnect-priority:10”行。 见nm-settings(5)。


完整的解释与示例

nmclikde5-nm-connection-editor都可以编辑各个网络kde5-nm-connection-editor优先级。 只有nmcli可以显示所有当前设置优先级的列表。 两者都假设你知道更高的数字表示更高的优先级,而零是默认值。 如果没有其他可用的东西,允许使用负数并将网络标记为“最后的手段”(请参阅man nm-settings并搜索“autoconnect-priority”。)

nmcli和plasma-nm make的更改由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这样的巨大正数。不要担心这一点,因为它仍然可以正常工作。

如何使用等离子体-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(最后手段)。 单击“确定”保存更改。

等离子体-nm的连接编辑器面板

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

运行nm-connection-editor

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

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

</div><!-- #comment-## -->

	<div class=