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.