Как запустить программу после запуска X?
Есть небольшое приложение под названием F.Lux, которое устанавливает температуру экрана в зависимости от времени суток. Версия для Linux - немного спартанская, только с консольным интерфейсом, но она прекрасно работает.
Где я могу вызвать его, чтобы он запускался после запуска X?
4 ответа
.xinitrc - тот, который нужно использовать, если вы запускаете ваш оконный менеджер оттуда. Если вы используете KDE или GNOME, вам необходимо добавить программу в сервисы, которые автоматически запускаются при входе в систему.
Прежде всего, прочитайте "человек Х":
STARTING UP
There are two main ways of getting the X server and an initial set of
client applications started. The particular method used depends on
what operating system you are running and whether or not you use other
window systems in addition to X.
вы узнаете, что в зависимости от того, как вы запускаете xserver, после запуска xserver используются 2 сценария:
- .xinitrc (когда вы запускаете сессию через
startx
(который загораетсяxinit
)) - .xsession (для того, когда вы вошли в систему через менеджер дисплеев (xdm))
(Я лично ln -s .xinitrc .xsession
, так что не важно, как я вывожу xserver).
в зависимости от того, что вы используете для входа в свою систему (и я думаю, что это либо gdm, либо kdm в наши дни), все становится немного иначе. обычно gdm и kdm (и другие дисплеи) также предлагают пользователю выбрать "пользовательский сеанс" или что-то подобное с пометкой. если вы выберете эту "пользовательскую сессию", то в основном будут запущены эти дисплеи ~/.xsession
, Вы будете нести ответственность за запуск своих приложений и среды рабочего стола / оконного менеджера.
Другое возможное решение состоит в том, чтобы выяснить, как различные среды рабочего стола / оконные менеджеры поддерживают концепцию "автозапуска". я лично избегаю этих механизмов и придерживаюсь старого доброго .xinitrc / .xsession
путь.
Пример.xinitrc будет выглядеть так:
xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox
Попробуйте разместить скрипт с именем .xinitrc
в вашем домашнем каталоге. KDE и Gnome также могут запускать скрипты / приложения при входе в систему, если вы используете один из них. я верю .Xstartup
или же .xstartup
может также делать то, что вы хотите, если .xinitrc
не делает. Мой Linux становится немного ржавым, кажется. >.>
Спецификация XDG Autostart работает для любой XDG-совместимой среды рабочего стола, включая Gnome, KDE, XFCE и другие.