Debian: запустите Xvfb с помощью сценария systemd и отправьте на задний план

Я пытаюсь написать сценарий systemd, который запускает Xvfb в фоновом режиме.

Разумеется, для этого в консоли нет проблем с добавленным «&».

Но я попытался написать сценарий systemd, и когда я запустил его вручную с помощью

service xvfb start 

кажется, что он никогда не отправляется на задний план, поскольку после запуска этой команды никогда не появляется запрос.

Это сценарий:

 [Unit] Description=Xvfb After=tomcat.service [Timer] # Time to wait after booting before we run first time OnBootSec=1min [Service] Type=forking User=test Group=test ExecStart=/usr/bin/Xvfb :99 ExecStop=/bin/kill -15 $MAINPID [Install] WantedBy=multi-user.target того, как [Unit] Description=Xvfb After=tomcat.service [Timer] # Time to wait after booting before we run first time OnBootSec=1min [Service] Type=forking User=test Group=test ExecStart=/usr/bin/Xvfb :99 ExecStop=/bin/kill -15 $MAINPID [Install] WantedBy=multi-user.target 

Нужно ли мне использовать другой тип?

 Type=forking 

Является ли для процессов самим вилкой и фоном, как старые демоны стиля. Это приводит к тому, что systemd ожидает завершения процесса для выхода фона и отслеживания дочерних процессов в файлах pid или других средствах. Ваше приложение никогда не выйдет, поэтому systemd продолжает ждать.

Вместо этого вы должны использовать

 Type=simple 

для приложений, которые не представляют себя. Это приводит к тому, что демон systemd отслеживает процесс, но сразу же возвращается из systemctl эффективно systemctl его для вас. Простым является тип по умолчанию, поэтому вы можете вообще опустить флаг Type если хотите.