Как запустить программу после запуска X?

18

Есть небольшое приложение под названием F.Lux, которое устанавливает температуру экрана в зависимости от времени суток. Версия для Linux - немного спартанская, только с консольным интерфейсом, но она прекрасно работает.

Где я могу вызвать его, чтобы он запускался после запуска X?

киборг
источник
1
Я люблю f.lux! Возможно, это спасло мне глаза в последние несколько лет, я больше не могу терпеть вычисления.
Фоши
Интересное программное обеспечение, я загружаю сейчас, чтобы попробовать ..
Dentrasi
Это потрясающе, это избавит меня от жалоб на яркость экрана ночью.
Кори
Действительно, классное приложение.
Apache
это хороший ресурс по теме lb.raspberrypi.org/forums/viewtopic.php?t=132637
Эрнан Эче

Ответы:

7

.xinitrc - тот, который нужно использовать, если вы запускаете ваш оконный менеджер оттуда. Если вы используете KDE или GNOME, вам необходимо добавить программу в сервисы, которые автоматически запускаются при входе в систему.

stevenrjanssens
источник
6

Прежде всего, прочитайте «человек Х»:

 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
Акира
источник
3

Попробуйте разместить скрипт с именем .xinitrcв вашем домашнем каталоге. KDE и Gnome также могут запускать скрипты / приложения при входе в систему, если вы используете один из них. Я верю .Xstartupили .xstartupмог бы делать то, что вы хотите, если .xinitrcнет. Мой Linux становится немного ржавым, кажется. >.>

Дарт Андроид
источник
Хм, не уверен, что это сработало, есть ли где-нибудь логи для него?
киборг
Нет, если F.Lux не войдет куда-нибудь Вы всегда можете добавить echo "hello!" >> ~/.launchlogк своему, .xinitrcпока не будете уверены, и впоследствии удалить журнал испытаний.
Дарт Андроид
1

Спецификация XDG Autostart работает для любой XDG-совместимой среды рабочего стола, включая Gnome, KDE, XFCE и другие.

Игнасио Васкес-Абрамс
источник