Depois de olhar para a falta de respostas que não incluem algum tipo de solução adicional, eu mesmo criei essa solução. A solução estava no arquivo unitário, afinal, eu verifiquei o systemd .unit arquivo man em "After=", que requer que um determinado alvo / serviço esteja em execução antes de iniciar a unidade atual, o "Requires=" sozinho iniciará o serviço juntamente com sua dependência simultaneamente. Aqui está uma citação desse manual:
If a unit foo.service requires a unit bar.service as configured with Requires= and no ordering is configured with After= or Before=, then both units will be started simultaneously and without any delay between them if foo.service is activated.
Portanto, se o servidor xeo x0vncserver forem inicializados ao mesmo tempo, o servidor x0vncserver falhará por não conseguir conectar-se a um servidor x inicializado. Eu precisava adicionar meu DM especificamente ao "Requires=" e "After=" para que isso funcionasse. Agora que isso é feito, funciona todas as vezes sem qualquer mágica adicional. Você precisará substituir as entradas "nodm.service" pelo gerenciador de exibição específico que estiver usando. As linhas "Restart" estão lá apenas no caso de eu decidir reiniciar a minha sessão fazendo logout, o que irá terminar o servidor X e reiniciá-lo imediatamente (desde que eu esteja usando o nodm). Não sei ao certo, mas acho que isso também se aplica ao usar um DM padrão, já que o servidor x estaria sendo executado para login e, em seguida, ser finalizado com a nova sessão de usuário x substituindo-a após o login bem-sucedido. Os únicos efeitos colaterais disso são a sessão VNC sendo desconectada e precisando ser reiniciada, mas não acho que exista uma solução para esse problema específico sem mais mágica.
Aqui está o meu arquivo x0vncserver @ .unit:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target multi-user.target nodm.service
Requires=nodm.service
[Service]
Type=simple
ExecStart=/usr/bin/x0vncserver -display %i -rfbport 5900 -securitytypes none
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
Como nota adicional, sugiro modificar a diretiva "-securitytypes" para algo mais seguro, pois estou usando isso apenas em uma rede local na qual sou o único usuário e não estou preocupado com problemas de segurança.