Para que um serviço seja iniciado por demanda, em vez de na inicialização / login, ative o soquete para o serviço em vez do próprio serviço.
Execute systemctl disable myservice.service
seguido de systemctl enable myservice.socket
para que o serviço seja iniciado por demanda.
Veja man systemctl
para mais detalhes.