Как запустить программу после запуска 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 и другие.

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