
Я хотел бы запустить Java-программу бэкенда при запуске (на самом деле это может быть при входе пользователя в систему) с помощью systemd, которая будет использовать X-сервер для создания окна рендеринга в памяти. Окно рендеринга создается VTK для выполнения объемного рендеринга с помощью GPU, и я получу скриншоты из него.
Ниже приведен мой служебный файл, который я поместил в /etc/systemd/system
каталог.
[Unit]
Description= myservice
After=mysql.service
[Service]
User=root
Environment=DISPLAY=:0
Restart=always
Type=forking
ExecStart=/root/myservice/startup.sh
ExecStop=/root/myservice/shutdown.sh
[Install]
WantedBy=multi-user.target
после входа через GUI служба не запускается. поэтому я выполняю команду, xhost +
чтобы разрешить всем пользователям доступ к отображению и запуску systemctl start myservice
службы вручную. Тогда я получаю то, что хочу.
Мне интересно, есть ли способ, чтобы myservice запускался автоматически при входе в систему. И еще один вопрос, нормально ли устанавливать среду на фиксированный номер DISPLAY для всех компьютеров?
Я использую Ubuntu 16.04/18.04.