添加 systemd .service (Debian)

添加 systemd .service (Debian)

我正在关注本教程(在 Fedora 16(x86_64) 上创建我自己的 systemd 服务文件)添加一个新的 systemd .service,但它不起作用,我确实通过对我的范围进行了一些修改逐步正确。

我的conkystart.service

[单元]
描述=启动时启动 conky 的服务
After=graphical.target 多用户.target

[服务]
类型=简单
ExecStart=/usr/local/bin/conkystart.service

[安装]
WantedBy=多用户.target

我的简单脚本:

!#/bin/bash

睡眠 && 康基;

没有什么是不行的。一些建议吗?这是怎么回事?

答案1

您不能将这种方法用于 conky。这些脚本在 GUI 加载之前和您登录之前运行。您的服务已加载并尝试执行 conky,该服务会立即退出,因为没有可用的 X 屏幕。

这类事情应该通过您正在使用的任何桌面环境或窗口管理器的自动运行设置来完成。许多常见的桌面环境将.desktop运行~/.config/autostart.例如,要运行创建一个包含以下内容的conky文件:~/.config/autostart/conky.desktop

[Desktop Entry]
Type=Application
Exec=/usr/bin/conky
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=conky
Comment[en_US]=
X-GNOME-Autostart-Delay=0

答案2

conky 是您可能希望用户启动的应用程序(因为它出现在您的桌​​面上)。用systemd启动它是一个系统进程; systemd 不知道将 conky 放在哪里,也不知道以谁的身份运行它。

您使用什么桌面环境?桌面配置中通常有自动启动功能,您可以在登录后启动用户进程。

相关内容