运行需要 DISPLAY=:1 命令的脚本作为服务

运行需要 DISPLAY=:1 命令的脚本作为服务

我正在运行 Ubuntu 16.04,并使用 Xfce 桌面 + VNC 服务器来访问它。

我有一个启动和控制 GUI 应用程序的脚本。我可以从 shell 启动它,DISPLAY=:1 /home/script.sh并且它可以在 GUI 中很好地执行我的应用程序。

但是,我需要它作为服务运行,以便任何时候我关闭它或应用程序自行关闭时,script.sh都会重新启动。

/lib/systemd/system/我尝试在或下创建服务,/etc/systemd/system/但始终无法启动。我怀疑这是因为我需要先将DISPLAY=:1其渲染到 VNC 服务器的 GUI 会话中。

当我尝试启动该服务时收到以下信息:

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

我如何正确地将其设置为服务?

答案1

*Environment*使用服务文件中的一个或多个指令来设置环境变量。systemd.exec(5)有关详细信息,请参阅手册页。

相关内容