2016-03-09 2 views
1

I`m пытается добавить xflux в качестве Systemd службы, так что он запускает при запуске, но когда я используюxflux и Systemd на Debian Jessie

# systemctl start xflux.service 

он не запускается. Мой xflux.service блок выглядит следующим образом:

[Unit] 
Description=xflux loader 
After=display-manager.service 

[Service] 
Type=forking 
ExecStart=/usr/bin/xflux -l 17 
Restart=always 

[Install] 
WantedBy=graphical.target 

I`ve пытался выразить ExecStart по-разному, как

ExecStart=/bin/sh -c "/usr/bin/xflux -l 17" 

или

ExecStart=/usr/bin/start-xflux 

'старт-поток' быть ш-сценарий с линией:

exec /usr/bin/xflux -l 17 

Nothi работало. Я всегда получаю один и тот же запрос от «статуса systemctl»:

● xflux.service - xflux loader 
    Loaded: loaded (/etc/systemd/system/xflux.service; enabled) 
    Active: failed (Result: start-limit) since śro 2016-03-09 21:53:47 CET; 43min ago 
Main PID: 4409 (code=exited, status=255) 

mar 09 21:53:47 debian systemd[1]: Unit xflux.service entered failed state. 
mar 09 21:53:47 debian xflux[4561]: [10B blob data] 
mar 09 21:53:47 debian xflux[4561]: -------- 
mar 09 21:53:47 debian xflux[4561]: Welcome to xflux (f.lux for X) 
mar 09 21:53:47 debian xflux[4561]: This will only work if you're running X on console. 
mar 09 21:53:47 debian xflux[4561]: Guessing your longitude is 15.0 based on your timezone 
mar 09 21:53:47 debian xflux[4561]: Specify it with -g to make things better. 
mar 09 21:53:47 debian systemd[1]: xflux.service start request repeated too quickly, refusing to start. 
mar 09 21:53:47 debian systemd[1]: Failed to start xflux loader. 
mar 09 21:53:47 debian systemd[1]: Unit xflux.service entered failed state. 

Я также попытался auto-xflux - без успеха. Я, очевидно, ничего не понимаю о xflux (что означает «https://github.com/jamesan/auto-xflux»?) Или systemd. Я хотел бы также добавить, что вызов

$ xflux -l 17 

из терминала работает просто отлично.

Не могли бы вы помочь?

ответ

0

Вы, вероятно, нужно добавить

[Service] 
Environment=DISPLAY=:0 

(или независимо от вашего DISPLAY номер, проверьте его с echo $DISPLAY от бега оболочки под X сессии). Кроме того, вы, вероятно, захотите запустить это под своим пользовательским экземпляром systemd вместо экземпляра системы, то есть использовать systemctl --user start xflux.service и поместить устройство в ~/.config/systemd/user/xflux.service.

https://wiki.archlinux.org/index.php/Systemd/User#DISPLAY_and_XAUTHORITY

Смежные вопросы