为什么我必须一直重启 NetworkManager.service?

dai*_*isy 5 arch-linux networkmanager systemd

切换到systemd后,我开始使用NetworkManager.service,开机自动连上WIFI,但运行时出现如下提示nmcli con

** (process:4433): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Method "GetAll" with signature "s" on interface "org.freedesktop.DBus.Properties" doesn't exist

Error: nmcli (0.9.6.4) and NetworkManager (unknown) versions don't match. Force execution using --nocheck, but the results are unpredictable.
Run Code Online (Sandbox Code Playgroud)

来自 systemctl:

NetworkManager.service                              loaded active running       Network Manager
Run Code Online (Sandbox Code Playgroud)

现在,如果我重新启动NetworkManager.service,它就可以工作。这是为什么?

小智 5

这是一个已知问题,并且已经提交了几个错误报告

ubuntu有一个解决方法,但我认为它不适用于 Arch 用户,因为他们不再使用 init 脚本。我敢打赌他们的修复可以移植,但我对这样做的了解还不够systemd

这是来自 Fedora 论坛的解决方案,看起来很有效:

  • 右键单击NetworkManager小程序
  • 编辑连接
  • 单击无线选项卡(如果这是您使用的)
  • 选择您的连接并单击编辑按钮
  • 转到IPv4 设置选项卡
  • 点击路线按钮
  • 选中“仅将此连接用于其网络上的资源。
  • 按确定
  • 取消选中“对所有用户可用
  • 保存