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

18795
cyborg

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

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

18
Я ** люблю ** f.lux! Возможно, это спасло мне глаза в последние несколько лет, я больше не могу терпеть вычисления. Phoshi 13 лет назад 1
Интересное программное обеспечение, я загружаю сейчас, чтобы попробовать .. Dentrasi 13 лет назад 0
Это здорово, это избавит меня от жалоб на яркость экрана ночью. Corey 13 лет назад 0
Действительно, классное приложение. Shiki 13 лет назад 0
это хороший ресурс по теме https://lb.raspberrypi.org/forums/viewtopic.php?t=132637 Hernán Eche 5 лет назад 0

4 ответа на вопрос

7
stevenrjanssens

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

5
akira

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

 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
Darth Android

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

Хм, не уверен, что это сработало, есть ли где-нибудь логи для него? cyborg 13 лет назад 0
Нет, если F.Lux не войдет куда-нибудь. Вы всегда можете добавить `echo" привет! " >> ~ / .launchlog` на ваш `.xinitrc` до тех пор, пока вы точно не узнаете, а затем удалите журнал испытаний. Darth Android 13 лет назад 0
1
Ignacio Vazquez-Abrams

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