Jak uruchomić program po uruchomieniu X?

18

Jest mała aplikacja o nazwie F.Lux, która ustawia temperaturę ekranu na podstawie pory dnia. Wersja Linuksa jest trochę spartańska z tylko interfejsem konsoli, ale działa idealnie dobrze.

Gdzie mogę je wywołać, aby uruchomiło się po uruchomieniu X?

cyborg
źródło
1
Ja kocham F.lux! Prawdopodobnie uratowało mi to oczy w ciągu ostatnich kilku lat, nie mogę już bez nich wytrzymać.
Phoshi
Ciekawe oprogramowanie,
pobieram
To niesamowite, dzięki temu nie będę skarżyć się na jasność ekranu w nocy.
Corey,
Rzeczywiście, niesamowita aplikacja.
Apache
jest to dobry zasób na temat lb.raspberrypi.org/forums/viewtopic.php?t=132637
Hernán Eche

Odpowiedzi:

7

.xinitrc jest tym, którego można użyć, jeśli uruchomisz z niego menedżera okien. Jeśli używasz KDE lub GNOME, musisz dodać program do usług, które uruchamiają się automatycznie po zalogowaniu.

stevenrjanssens
źródło
6

przede wszystkim przeczytaj „człowiek X”:

 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.

dowiesz się, że w zależności od tego, jak wywołujesz Xserver, po uruchomieniu Xservera używane są 2 skrypty:

  • .xinitrc (dla kiedy uruchomiłeś sesję przez startx(który uruchamia się xinit))
  • .xsession (na wypadek zalogowania się do systemu za pomocą menedżera wyświetlania (xdm))

(ja osobiście ln -s .xinitrc .xsession, więc nie ma znaczenia, jak wywołuję Xserver).

w zależności od tego, czego używasz do logowania się do systemu (i myślę, że obecnie jest to albo gdm, albo kdm), sprawy wyglądają nieco inaczej. zwykle gdm i kdm (oraz inne menedżery wyświetlania) oferują użytkownikowi wybranie „sesji użytkownika” lub czegoś podobnego. jeśli wybierzesz tę „sesję użytkownika”, uruchomią się głównie te menedżery wyświetlania ~/.xsession. będziesz odpowiedzialny za uruchomienie aplikacji ORAZ środowisko pulpitu / menedżera okien.

innym możliwym rozwiązaniem jest sprawdzenie, w jaki sposób różne środowiska pulpitu / menedżery okien obsługują koncepcję „autostartu”. osobiście unikam tych mechanizmów i trzymam się starej, dobrej .xinitrc / .xsessiondrogi.

przykład .xinitrc wyglądałby tak:

xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox
akira
źródło
3

Spróbuj umieścić skrypt o nazwie .xinitrcw katalogu domowym. KDE i Gnome mają również możliwość uruchamiania skryptów / aplikacji podczas logowania, jeśli używasz jednego z nich. Wierzę .Xstartuplub .xstartupteż mogę robić, co chcesz, jeśli .xinitrcnie. Mój linux wydaje się trochę zardzewiały. >.>

Darth Android
źródło
Hmm, nie jestem pewien, czy to zadziałało, czy jest gdzieś dziennik?
cyborg
Nie, chyba że F.Lux gdzieś się zaloguje. Zawsze możesz dodać echo "hello!" >> ~/.launchlogdo swojego konta, .xinitrcdopóki się nie dowiesz, a następnie usunąć dziennik testu.
Darth Android
1

XDG Autostart Specyfikacja działa dla dowolnego środowiska graficznego zgodnego XDG, w tym Gnome, KDE, XFCE i innych.

Ignacio Vazquez-Abrams
źródło