OK, eu percebi isso. O problema era que o GLSlideshow estava esperando algo (não exatamente certo do que) para ser chamado em seu PATH, e systemd não estava dando o caminho. Então, o que foi corrigido:
[Unit]
Description=XScreensaver
[Service]
Type=simple
ExecStart=/run/current-system/sw/bin/xscreensaver -no-splash
Restart=always
Environment=HOME=/home/myusername
Environment=PATH=/run/current-system/sw/bin
[Install]
WantedBy=multi-user.target
(Observe que o caminho /run/current-system/sw/bin
é específico da minha distribuição, NixOS. É possível que, para sistemas mais padrão, por exemplo, aqueles que usam /bin
ou /usr/bin
, que isso não surja.)