我更喜欢在启动计算机时设置自己的网络,但我更喜欢在输入密码时更早地启动并进行网络连接。
可悲的是,根据systemd-analyze critical-chain
的说法,我正在等待NetworkManager.service
的启动。
是否有一种方法可以改变这种情况,使其仍能完成网络事务,而不是延迟启动?
graphical.target @8.083s
└─multi-user.target @8.083s
└─postfix.service @8.075s +7ms
└─postfix@-.service @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
发布于 2023-01-28 18:25:42
/etc/systemd/system/network-online.target.d/override.conf
)类型命令sudo systemctl edit network-online.target
粘贴以下配置行
[Unit]
After=graphical.target
这将在/etc/systemd/system/network-online.target.d/override.conf
创建一个覆盖配置,该配置将部分覆盖/etc/systemd/system/network-online.target
。
/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
阅读特殊系统单元手册
严格要求配置网络连接的network。目标单元应该引入network-online.target (通过Wants=类型依赖关系)并在之后进行排序。此目标单元旨在引入延迟进一步执行的服务,直到网络充分设置为止。确切地说,这需要由网络管理服务的实现来完成。多用户.目标用于建立多用户系统(非图形化)的特殊目标单元.这是用图形画出来的。多用户系统所需的单元在安装过程中应将其单元的Wants=依赖项添加到此单元中。这是通过单元的安装部分中的WantedBy=multi-user.target配置的最佳方法。graphical.target 用于设置图形登录屏幕的特殊目标单元。这吸引了多个用户目标。在安装过程中,图形化登录所需的单元应该将其单元的Wants=依赖项添加到此单元(或多用户.目标)。这是最好的配置通过WantedBy=graphical.target在单位的安装部分。
https://askubuntu.com/questions/1451560
复制相似问题