我想上下移动可用的无线接入点,设置优先级,就像我们在 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(最后选择)。单击“确定”保存更改。
由于更改会永久存储在 NetworkManager 中,因此一旦您完成优先级的调整,如果不愿意,则不必保留 plasma-nm 安装。(sudo apt remove plasma-nm
)
答案3
答案4
如果你正在使用 xfce,例如在 xubuntu 18.04 下,你可以执行以下操作:
- 进入 Wifi 小程序(右上角)
- 点击“编辑连接”
- 双击感兴趣的网络
- 点击“常规”选项卡
- 输入“自动激活的连接优先级”的值
正数表示优先级较高;负数表示优先级较低。默认优先级似乎是 0,因此我将无处不在但并非始终有效的“xfinitywifi”的优先级设置为负数,以便其他任何东西都先连接。
坦白说:我自己花了很大力气才添加这个功能,才发现这一点。这表明拖放功能可能值得添加,因为它更直观,虽然必须考虑如何将其与默认排序顺序相协调等。连接列表中的“优先级”选项卡可能是展示该功能的正确位置。