Добавление красного смещения в systemd - работает с xhost +

Я могу выполнить красное смещение из командной строки, но не могу получить его работающий в systemd. Шаги в подобном вопросе не добивались цели для меня.

Ubuntu 16.04.

Мой redshift.service:

$ 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 из командной строки это начинает повторно окрашивать мой экран. Если я пытаюсь запустить сервис, он выводит:

$ 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 + и попытайтесь запуститься снова, это действительно начинает окрашивать экран. Как я могу предоставить свой systemd доступ сценария к моему серверу окна, не предоставляя всему доступ к моему серверу окна?

Заранее спасибо за любые подсказки...

1
задан 17 September 2018 в 07:27

2 ответа

Обновление: после перемещения сервиса от /etc/systemd/system/redshift.service кому: ~/.config/systemd/user/redshift.servce, это начало работать.

Отметьте это /etc/systemd/user/redshift.service не работал!

Я все еще приветствовал бы ответ, показывающий мне, как установить это для всех пользователей этого хоста.

0
ответ дан 7 December 2019 в 23:15

Продолжайте перезапускать его, и это будет наконец работать lol. Проблема могла бы состоять в том, что перед входом в систему gdm еще не запустил Xorg и таким образом нет никакого дисплея, но я не уверен. Я попытался бы иметь gdm, запущенный сначала как требование, и видел бы то, что происходит.

[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
ответ дан 7 December 2019 в 23:15

Другие вопросы по тегам:

Похожие вопросы: