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

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

切换到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.

并从 systemctl 中:

NetworkManager.service                              loaded active running       Network Manager

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

答案1

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

还有ubuntu 的解决方法,但我认为这对 Arch 用户不起作用,因为他们不再使用 init 脚本。我打赌他们的修复可以移植,但我systemd对此了解不够。

这是一个办法来自 Fedora 论坛,看起来可行:

  • 右键单击网络管理器小程序
  • 编辑连接
  • 点击无线的选项卡(如果您正在使用该选项卡)
  • 选择您的连接并单击编辑按钮
  • 前往IPv4 设置标签
  • 点击路线按钮
  • 查看 ”仅将此连接用于其网络上的资源。
  • 按确定
  • 取消选中“可供所有用户使用
  • 节省

答案2

我在 CentOS 7 上遇到了这个问题,我以 root 身份执行了此操作:

systemctl mask network

该命令会阻止network.service。这是因为network.service,做NetworkManager.service同样的事情,有时,一项服务不允许另一项服务正常工作。

相关内容