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

jas*_*nes 84 network-manager wireless-access-point

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

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

小智 83

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

本文提供了有关如何通过nmcli.

例如与

nmcli -f NAME,UUID,AUTOCONNECT,AUTOCONNECT-PRIORITY c
Run Code Online (Sandbox Code Playgroud)

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

nmcli connection modify HOME-WIFI connection.autoconnect-priority 10
Run Code Online (Sandbox Code Playgroud)

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

  • 在 Ubuntu 16.04 中完美运行。真的很喜欢这种方法,因为它只使用标准工具。GNOME 3 GUI(“控制中心”中的“网络”)也不能访问优先级设置。确实是耻辱。 (6认同)
  • 来自 gnome [docs](https://developer.gnome.org/NetworkManager/stable/ref-settings.html):“autoconnect-priority:自动连接优先级。如果连接设置为自动连接,则具有更高优先级的连接将优先。默认为0。数字越大,优先级越高。” (4认同)
  • 这些功能似乎还没有到达 LTS (14.04) (?) :( (3认同)
  • 这可以通过 KDE 16.04 的网络 UI 作为“优先级”设置可见。可惜其他地方买不到。甚至 `nmtui` 都没有。 (3认同)
  • 伟大的!应该是公认的答案! (2认同)

小智 36

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

简短的回答是“还没有。” 截至 2018 年年中,Ubuntu 没有像 Microsoft Windows 那样容易设置 WiFi 优先级。但是,有一些方法可以实现您想要的。


特尔;博士?概括

对于命令行使用nmcli. 对于图形用户界面,plasma-nm.

nmcli -f autoconnect-priority,name c
nmcli c mod "mypreferred" conn.autoconnect-p 10
nmcli c mod "xfinitywifi" conn.autoconnect-p -10
Run Code Online (Sandbox Code Playgroud)

或者

apt install plasma-nm
kde5-nm-connection-editor
Run Code Online (Sandbox Code Playgroud)

可用的替代品

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

命令行工具 (nmcli)

虽然此解决方案可能是最简单的方法,并且它确实与 NetworkManager 一起使用,nmcli但不允许 Microsoft Windows 样式的拖放重新排序。事实上,nmcli(顾名思义)是 NetworkManager 的“命令行界面”,这意味着您需要在终端中输入命令,这对某些人来说可能会令人反感。我将在下面描述更多如何使用它。

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

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

无线雷达

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

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

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

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向您显示所有当前设置的优先级列表。两者都假设您知道更高的数字代表更高的优先级,并且默认为零。如果没有其他可用的方法,则允许使用负数并将网络标记为“最后的手段”(请参阅man nm-settings并搜索“autoconnect-priority”。)

nmcli 和等离子纳米所做的更改由 NetworkManager 永久存储在 /etc/NetworkManager/system-connections/ 中。

如何使用 nmcli

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

列出当前的优先级

$ nmcli -f autoconnect-priority,name c 
Run Code Online (Sandbox Code Playgroud)

示例输出:

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           
Run Code Online (Sandbox Code Playgroud)

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

nmcli -f autoconnect-priority,name c | tail -n +2 | sort -nr
Run Code Online (Sandbox Code Playgroud)

如何将网络设置为首选

nmcli connection modify "Caffe Ubuntu" connection.autoconnect-priority 10
Run Code Online (Sandbox Code Playgroud)

请注意,您可以使用任何您想要的数字作为优先级。较大的数字将网络移至列表顶部。

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

nmcli connection modify "xfinitywifi" connection.autoconnect-priority -10
Run Code Online (Sandbox Code Playgroud)

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

如何使用等离子纳米

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

你不需要安装所有的 KDE 来获得等离子纳米。(在我的机器上,运行 GNOME,完整的 KDE 包需要下载超过 600MB;相比之下,等离子纳米只有 8MB)。我从命令行安装了等离子纳米,如下所示:

sudo apt install plasma-nm
Run Code Online (Sandbox Code Playgroud)

我通过键入以下内容来运行它:

kde5-nm-connection-editor
Run Code Online (Sandbox Code Playgroud)

(好吧,从技术上讲,我没有输入所有内容。我使用 TAB 为我自动完成输入)。

如果您不使用 KDE,第一次运行 Plasma-nm 时,它会询问您是否创建“钱包”来存储凭证。我只是对这个问题点击了“取消”,它对我来说效果很好。

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

等离子纳米的连接编辑器面板

由于更改将永久存储在 NetworkManager 中,因此一旦您完成了优先级调整,如果您不想,则不必保持安装等离子纳米。( sudo apt remove plasma-nm)

  • 谢谢(这应该是公认的答案)。澄清一下:`GNOME [...] 根本无法显示或编辑自动连接优先级。` 意味着在 Gnome 中使用 `nmcli` 没有效果吗?(该工具在 Ubuntu 17.10 中仍然可用,但可能是对 Unity 的依赖?) (2认同)
  • 无需为此安装 KDE 工具。只需运行`nm-connection-editor`(包`network-manager-gnome`)。(因此,实际上 GNOME 没有内置工具来执行此操作并不是真的。只是因为他们重新设计了网络设置,因此在不知道要查找什么的情况下无法找到它。) (2认同)

Mit*_*tch 19

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

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

sudo apt install wifi-radar
Run Code Online (Sandbox Code Playgroud)

要运行它,

sudo wifi-radar
Run Code Online (Sandbox Code Playgroud)

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

1来源: Ubuntu Geek

  • 你没有拒绝这个问题,但你做了答案。这已在 12.10、13.04、13.10 和 Fedora 中进行过尝试,并且开箱即用。加上这个问题已经超过一年的事实。尝试新版本。WiFi Radar 有一个新版本 2.0,可以从他们的 [网站](http://wifi-radar.berlios.de/) 下载。该网站也有需要的文件。 (2认同)

Soc*_*cob 15

nm-connection-editor

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

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


Tom*_*ell 5

如果您使用的是 xfce,例如在 xubuntu 18.04 下,您可以这样做:

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

正数优先级更高;负数优先级较低。默认优先级似乎是 0,所以我将无处不在但并不总是工作的“xfinitywifi”的优先级设置为负数,以便其他任何东西首先连接。

忏悔:我是在为自己添加功能付出了相当大的努力后才发现这一点的。这表明拖放可能值得添加,因为它更直观地发现,尽管必须考虑如何将其与默认排序顺序等进行协调。连接列表可能是公开该功能的正确位置。