登录
首页 >  Golang >  Go问答

通过 systemd 服务进行氮气不起作用

来源:stackoverflow

时间:2024-03-30 18:36:35 361浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《通过 systemd 服务进行氮气不起作用》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我正在编写一个工具(zxcv32/openrwc),它从 reddit 获取壁纸并使用氮气将它们设置到显示器。

为了方便安装和自动运行,我创建了一个 deb 包和一个 systemd 服务。

当服务启动时使用

sudo systemctl start openrwc@$user.service

nitrogen 出错,exit 状态为 1。 (没有其他错误消息)。是的,从终端手动运行时,由 deb 包安装的 exec 工作正常。

我比较了一下,该工具运行的命令与通过systemd服务运行或终端运行时完全相同。

示例命令

nitrogen --set-scaled /home/zxcv32/.config/openrwc/fz41kmzk1wj91.jpg --head=0

服务

[Unit]
Description=Reddit Wallpaper Changer for GNU/Linux
Requires=display-manager.service
After=display-manager.service
StartLimitIntervalSec=0

[Service]
Type=simple
ExecStart=/usr/bin/openrwc
Restart=always
RestartSec=5
User=%i

[Install]
WantedBy=graphical.target

服务可能存在什么问题?我希望用户可以选择该服务,无论他们是否想要运行它。

顺便说一句,我发现这个问题声称氮气通过服务起作用。 (也许直接通过系统服务运行氮和通过go函数运行氮是有区别的)

系统:debian 11 5.10.0-17-amd64


正确答案


发现问题。

systemd 无法访问某些环境变量。

需要在[email protected]中设置display环境变量。

[Service]
Environment="DISPLAY=:0"

以上就是《通过 systemd 服务进行氮气不起作用》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>