首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在systemd中添加红移-使用xhost +工作

在systemd中添加红移-使用xhost +工作
EN

Ask Ubuntu用户
提问于 2018-09-17 04:27:16
回答 2查看 908关注 0票数 1

我可以从命令行运行redshift,但无法在systemd中运行。相似问题中的步骤并没有对我起作用。

Ubuntu 16.04

我的redshift.service:

代码语言:javascript
复制
$ cat /etc/systemd/system/redshift.service 
[Unit]
Description=restrict blue light
After=graphical.target

[Service]
ExecStart=/usr/bin/redshift -v 
Environment=DISPLAY=:0

[Install]
WantedBy=graphical.target

如果我从命令行运行/usr/bin/redshift,它就开始重新着色我的屏幕。如果我尝试启动服务,它会转储:

代码语言:javascript
复制
$ sudo systemctl status redshift
● redshift.service - restrict blue light
   Loaded: loaded (/etc/systemd/system/redshift.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2018-09-16 21:23:51 PDT; 4s ago
  Process: 4676 ExecStart=/usr/bin/redshift -v -l 37.35:121.99 (code=exited, status=1/FAILURE)
 Main PID: 4676 (code=exited, status=1/FAILURE)

Sep 16 21:23:51 cyberpower-linux redshift[4676]: Initialization of randr failed.
Sep 16 21:23:51 cyberpower-linux redshift[4676]: Trying next method...
Sep 16 21:23:51 cyberpower-linux redshift[4676]: No protocol specified
Sep 16 21:23:51 cyberpower-linux redshift[4676]: X request failed: XOpenDisplay
Sep 16 21:23:51 cyberpower-linux redshift[4676]: Initialization of vidmode failed.
Sep 16 21:23:51 cyberpower-linux redshift[4676]: Trying next method...
Sep 16 21:23:51 cyberpower-linux redshift[4676]: No more methods to try.
Sep 16 21:23:51 cyberpower-linux systemd[1]: redshift.service: Main process exited, code=exited, status=1/FAILURE
Sep 16 21:23:51 cyberpower-linux systemd[1]: redshift.service: Unit entered failed state.
Sep 16 21:23:51 cyberpower-linux systemd[1]: redshift.service: Failed with result 'exit-code'.

如果我运行xhost +并尝试重新启动,它就会开始对屏幕着色。我如何才能让我的系统脚本访问我的窗口服务器而不给予我的窗口服务器的所有访问权限?

提前谢谢你的任何线索..。

EN

回答 2

Ask Ubuntu用户

发布于 2018-09-17 04:51:21

更新:将服务从/etc/systemd/system/redshift.service转移到~/.config/systemd/user/redshift.servce之后,它就开始工作了。

请注意,/etc/systemd/user/redshift.service没有工作!

我仍然欢迎你给我一个答案,告诉我如何为这个主机的所有用户安装这个。

票数 0
EN

Ask Ubuntu用户

发布于 2019-08-16 22:46:28

继续重新启动它,它最终会起作用的。问题可能是,在登录之前,gdm还没有启动Xorg,因此没有显示,但我不确定。我会尝试让gdm首先作为一个需求开始,看看会发生什么。

代码语言:javascript
复制
[Unit]

After=multi-user.target 

StartLimitIntervalSec=0

[Service]

Type=simple

ExecStart=/usr/bin/redshift -O 3000

Environment=DISPLAY=:0

Restart=always

RuntimeMaxSec=60

[Install]

WantedBy=graphical.target
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1075898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档