使用 systemd-networkd + iwd 代替 Network Manager
这两天用 Network Manager 总感觉反应很慢,有的时候扫不到网络,有的时候一个网络需要很长时间才能连接上,于是考虑换一套网络管理工具。
于是选择了 Systemd 内置的 systemd-networkd。但是还得配上一个服务用来管理无线适配器,我选择了比较熟悉的 iwd 和一个长得挺好看的 TUI 配置界面 impala。
安装软件包
1 | sudo pacman -S iwd impala |
为了防止没网找不到配置的文档,我们先不要停用/卸载 Network Manager,等待万事俱备再切换。
配置 systemd-networkd
编辑 /etc/systemd/network/25-wireless.network
,写入:
1 | [Match] |
无线适配器的名字应该形如 wlp2s0
,这里支持通配符,所以写的 wl*
在使用指定 DNS 的时候需要配置 systemd-resolved,它默认的备用 DNS 是 Cloudflare 家的,以防万一我们需要给他改成国内其他公共 DNS。这里我改的是阿里。
把 /etc/systemd/resolve.conf
中 [Resolve]
字段下的 FallbackDNS
改成自己想改的 DNS。
1 | FallbackDNS=223.5.5.5 |
启用服务
1 | systemctl disable NetworkManager --now |
然后使用 impala 联网就好了。执行 impala
命令,Tab 切换到选择网络的地方,按上下键选择网络,按空格输入密码即可。(如果你有 DE 的话应该可以直接从 DE 的设置进行网络连接)
如果还有问题,进行撤销:
1 | systemdctl disable systemd-networkd systemd-resolved iwd --now |
找文档自己想办法去吧。