为什么网络管理器不在启动时启动?

bst*_*rre 11 network-manager upstart

我认为这发生在几个月前,当时我从 10.04 升级到 12.04。

每当我重新启动时,网络管理器都不会启动。我必须手动运行sudo start network-manager,然后一切正常。

我已经尝试过的事情(每次尝试修复后重新启动):

  • 验证所有 /etc/rc*.d/*network-manager 链接是否以应有的方式存在。
  • 由于网络管理器的 upstart 配置文件提到了local-filesystems,并且我的 fstab 引用了未连接的 USB 硬盘,因此我在 fstab 中注释了该行。
  • sudo dpkg-reconfigure network-manager 进而 sudo apt-get install --reinstall network-manager
  • 在系统日志中寻找提示,没有看到任何跳出的东西。

我不认为我已经修改过/etc/init/network-manager.conf,但这里是供参考:

# network-manager - network connection manager
#
# The Network Manager daemon manages the system's network connections,
# automatically switching between the best available.

description "network connection manager"

start on (local-filesystems
      and started dbus
      and static-network-up)
stop on stopping dbus

expect fork
respawn

script
    # set $LANG so that messages appearing on the GUI will be translated. See LP: 875017
    if [ -r /etc/default/locale ]; then
        . /etc/default/locale
        export LANG LANGUAGE LC_MESSAGES LC_ALL
    fi

    exec NetworkManager
end script
Run Code Online (Sandbox Code Playgroud)

小智 15

'start on' 部分让你知道在 upstart 启动网络管理器之前需要发出哪些事件。

在这种情况下,它是:

  • 本地文件系统
  • 总线
  • 静态网络

如果您已启动到桌面,则可能已经发出前两个。

static-network-up 由 发出/etc/network/if-up.d/upstart script,至关重要的是,除非每个配置为“自动”的接口都已启动,否则不会发出事件/etc/network/interfaces

在我的情况下,我有一个 eth0 的剩余条目,/etc/network/interfaces其中配置为使用 DHCP,但由于没有以太网插入 eth0,DHCP 永远不会成功。

您可以告诉 upstart 发出事件,并可以使用它来检查是否缺少 static-network-up 事件。

  • 重新启动计算机,不要启动网络管理器
  • man initctl(您需要使用 sudo 运行发射命令,因此首先运行man initctl以验证发布在 Internet 上的命令没有坏处)
  • sudo initctl emit static-network-up(你可能需要在一段时间后Ctrl+C这个)
  • initctl status network-manager (检查它是否开始)

如果这解决了您的问题 check /etc/network/interfaces,请注释掉以下所有内容:

自动低速
iface lo inet环回

然后重新启动,希望网络管理器将按预期启动。


Suf*_*ian 8

在我的 Arch Linux 上,我需要运行以下命令,现在会NetworkManager自动启动:

systemctl enable NetworkManager
Run Code Online (Sandbox Code Playgroud)

这使 能够NetworkManager在启动时运行。这是我的理解。