Я использую Ubuntu 16.04 с сервером Xfce desktop + VNC для доступа к нему.

У меня есть скрипт, который запускает приложение GUI и управляет им. Я могу запустить его из оболочки с помощью DISPLAY=:1 /home/script.sh и он прекрасно выполняет мое приложение в графическом интерфейсе.

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

Я пытался создать службы в /lib/systemd/system/ или /etc/systemd/system/ но он никогда не запускается. Я подозреваю, что это потому, что мне нужно передать DISPLAY=:1 чтобы сначала отобразить его в сеансе GUI моего VNC-сервера.

Когда я пытаюсь запустить службу, я получаю следующее:

[/etc/systemd/system/abc.service:5] Executable path is not absolute, ignoring: "DISPLAY=:1 /home/script.sh

Как правильно настроить его как сервис?

1 ответ1

1

Переменные среды устанавливаются с использованием одной или нескольких директив *Environment* в служебном файле. Для получения дополнительной информации см. Справочную страницу systemd.exec(5) .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .