脚本运行时 Systemd 暂停启动

脚本运行时 Systemd 暂停启动

我有一个想要在启动时运行的脚本,当它运行时我希望它暂停启动过程。

我尝试过systemd服务

[Unit]
Description=setup script
Before=default.target

[Service]
Type=oneshot
ExecStart=/my/setup/script

[Install]
WantedBy=default.target

但这会继续启动过程,因此即使我的脚本尚未完成,图形桌面仍然会运行。

这可能与 systemd 有关吗?

我正在使用 Raspbian Jessie 在 Raspberry Pi 上运行此程序。

答案1

假设您使用 gdm 作为登录管理器,

[Unit]
Description=setup script
Before=gdm.service

[Service]
Type=oneshot
ExecStart=/my/setup/script

[Install]

如果您不使用 gdm,请找出哪个服务启动 xorg 并将其放入该Before=行中。说明:有两个问题:1.在您的情况下default.target可能是指向graphical.target的符号链接。 soWants=default.target表示应该在图形目标之后启动 2.Before=default.target不起作用:目标用于在启动过程中的某些阶段启动时向 systemd 报告完成的开始,而不是当它们开始加载时。因此,只有当你想开始某件事时,使用目标才有意义该目标之前尚未达到,或者如果您想确保仅在服务完成加载后才实现该目标。

相关内容