красное смещение не является системным сервисом; он работает во время сеанса входа в систему, поскольку ему необходим доступ к серверу X11. Так что, в основном, он должен запускаться автоматически так же, как и большинство графических программ:
Способ 1
Добавьте файл redshift.desktop
в каталог автозапуска XDG, ~/.config/autostart/
:
[Desktop Entry]
Type=Application
Name=Redshift
Exec=/usr/bin/redshift
Это работает со средами рабочего стола, которые следуют спецификации XDG Autostart; это включает в себя GNOME, KDE, Xfce и многие другие. В некоторых это доступно для редактирования через графические интерфейсы (например, gnome-session-properties
в GNOME).
Способ 2
Добавьте следующую строку ...
redshift &
... в ваш ~/.xprofile
. Это работает с большинством дисплеев дисплеев (однако, gdm, kdm, lightdm, lxdm, sddm - не тонкие).
Если вы используете инструмент startx , ~/.xprofile
по умолчанию не используется, поэтому вместо этого вам придется обновить скрипт ~/.xinitrc
- добавить эту же строку где-нибудь перед запуском диспетчера сеансов.
Способ 3
Если вы используете диспетчер отображения, такой как GDM, вы можете запустить программу перед входом в систему, чтобы она также применялась к экрану входа в систему. Как это сделать, зависит от дисплеев дисплеев, но в GDM это можно сделать, отредактировав /etc/gdm/Init/Default
. (Отказ от ответственности: я не пробовал, и это может быть неправильный файл.)
Вещи, которые не будут работать
Сценарий инициализации системы не будет работать, поскольку он работает независимо от графических сеансов - у него не будет ни правильного $DISPLAY
ни правильного набора $XAUTHORITY
; если вы жестко закодируете их, это может привести к попытке подключиться к неправильному дисплею (например, вы жестко закодировали DISPLAY=":0"
но ваш сеанс начинается с :1
); и если вы сделаете так, чтобы он попробовал все дисплеи, сценарий все еще может запуститься до запуска любого дисплея X11.
@reboot
будет работать как правильный пользователь (а не как su
/sudo
), но в остальном он имеет те же проблемы, что и сценарии системной инициализации.