我更喜欢网络在启动计算机时自行设置,但我更喜欢更早启动并在输入密码时连接网络等等。
可悲的是,根据systemd-analyze critical-chain
我正在等待NetworkManager.service
启动期间的启动。
有没有办法改变它,以便它仍然可以进行网络操作并且不会延迟启动?
graphical.target @8.083s
└─multi-user.target @8.083s
└─postfix.service @8.075s +7ms
└─[email protected] @3.904s +4.169s
└─network-online.target @3.880s
└─network.target @3.880s
└─NetworkManager.service @3.495s +384ms
└─dbus.service @3.492s
└─basic.target @3.472s
└─sockets.target @3.472s
└─docker.socket @3.469s +2ms
└─sysinit.target @3.464s
└─snapd.apparmor.service @3.131s +332ms
└─apparmor.service @2.990s +136ms
└─local-fs.target @2.989s
└─run-snapd-ns-cups.mnt.mount @5.417s
└─run-snapd-ns.mount @4.544s
└─local-fs-pre.target @528ms
└─keyboard-setup.service @376ms +152ms
└─systemd-journald.socket @361ms
└─system.slice @354ms
└─-.slice @354ms
有两种方法:
1. 编辑覆盖配置 (
/etc/systemd/system/network-online.target.d/override.conf
)输入命令
sudo systemctl edit network-online.target
粘贴以下配置行
这将在 处创建一个覆盖配置
/etc/systemd/system/network-online.target.d/override.conf
,该配置将部分覆盖/etc/systemd/system/network-online.target
.2.直接编辑单位(
/etc/systemd/system/network-online.target
)输入命令
sudo systemctl edit network-online.target --full
After=
在部分中查找[Unit]
并将值更改为graphical.target
如果您不小心破坏了配置,您可以在 找到原始配置
/lib/systemd/system/network-online.target
。sudo systemctl edit --force --full <your-service.service>
创建新服务man systemd.unit
阅读手册multi-user.target
和图形服务之前graphical.target
(参考)man systemd.special
阅读特殊系统单位手册