"Pausar a inicialização" não se aplica exatamente ao systemd; O systemd executa vários serviços em paralelo.
No entanto, adicionando "dependências" aos serviços, você pode essencialmente especificar em que ponto a "inicialização deve pausar" e aguardar pelo seu serviço.
Para o caso de uso acima, adicione a /etc/systemd/system/<service>
:
[Unit]
Description=commands to run before GUI loads
Before=display-manager.service
Isso forçará display-manager.service
a aguardar <service>
. No meu caso, <service>
envolve entrada do usuário (para os leitores que não obtiveram a conexão), efetivamente "pausando a inicialização".
Há também um comentário abaixo para outros comentaristas que expressaram ceticismo:
There is a use-case for this kind of thing - unlocking encrypted partitions. Because of bugs in systemd (bugs.freedesktop.org/show_bug.cgi?id=88483) it's not possible to unlock an encrypted multi-device Btrfs array during boot using the out-of-box systemd mechanism. You need to create your own systemd service file and this answer had the missing bit I needed in my service file after hours of trying. Thanks argle.