Wie starte ich ein Programm nach dem Start von X?

18

Es gibt eine kleine App namens F.Lux , mit der Sie die Bildschirmtemperatur basierend auf der Tageszeit einstellen können. Die Linux-Version ist ein bisschen spartanisch mit nur einer Konsolenschnittstelle, funktioniert aber einwandfrei.

Wo kann ich es aufrufen, damit es startet, nachdem X gestartet wurde?

Cyborg
quelle
1
Ich liebe f.lux! Es hat mir in den letzten Jahren wahrscheinlich die Augen gerettet, ich kann es nicht mehr ertragen, ohne es zu rechnen.
Phoshi
Interessante Software, die ich jetzt zum Ausprobieren herunterlade ..
Dentrasi
Das ist großartig, das erspart mir Beschwerden über die Bildschirmhelligkeit bei Nacht.
Corey
In der Tat, tolle App.
Apache
Dies ist eine gute Ressource zum Thema lb.raspberrypi.org/forums/viewtopic.php?t=132637
Hernán Eche

Antworten:

7

.xinitrc wird verwendet, wenn Sie Ihren Fenstermanager von dort aus starten. Wenn Sie KDE oder GNOME verwenden, müssen Sie das Programm zu den Diensten hinzufügen, die beim Anmelden automatisch gestartet werden.

stevenrjanssens
quelle
6

Lesen Sie zuerst 'Mann 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.

Sie werden feststellen, dass je nachdem, wie Sie den xserver aufrufen, nach dem Start des xservers zwei Skripte zum Starten verwendet werden:

  • .xinitrc (für den Zeitpunkt, zu dem Sie die Sitzung über gestartet haben startx(was ausgelöst wird xinit))
  • .xsession (wenn Sie sich über einen Display Manager (xdm) bei Ihrem System angemeldet haben)

(ich persönlich ln -s .xinitrc .xsession, es ist also egal, wie ich den xserver aufrufe).

Je nachdem, was Sie für die Anmeldung in Ihrem System verwenden (und ich denke, es ist entweder GDM oder KDM in diesen Tagen), werden die Dinge ein bisschen anders. normalerweise bieten gdm und kdm (und auch andere display manager) dem benutzer die auswahl der "benutzersitzung" oder einer ähnlichen beschriftung an. Wenn Sie diese "Benutzersitzung" auswählen, werden meistens diese Display-Manager gestartet ~/.xsession. Sie sind dafür verantwortlich, Ihre Anwendungen UND die Desktop-Umgebung / den Windowmanager aufzurufen.

Die andere mögliche Lösung besteht darin, herauszufinden, wie die verschiedenen Desktop-Umgebungen / Windowmanager das Konzept des "Autostarts" unterstützen. Ich persönlich vermeide diese Mechanismen und halte mich an den guten alten .xinitrc / .xsessionWeg.

Ein Beispiel .xinitrc würde so aussehen:

xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox
Akira
quelle
3

Versuchen Sie, ein Skript mit dem Namen .xinitrcin Ihrem Home-Verzeichnis abzulegen. KDE und Gnome können bei der Anmeldung auch Skripte / Anwendungen ausführen, wenn Sie eine dieser verwenden. Ich glaube .Xstartupoder .xstartupkönnte auch tun, was Sie wollen, wenn .xinitrcnicht. Mein Linux wird ein bisschen rostig, wie es scheint. >.>

Darth Android
quelle
Hmm, nicht sicher, ob es funktioniert hat, gibt es irgendwo ein Protokoll dafür?
Cyborg
Nur wenn sich F.Lux irgendwo anmeldet. Sie können echo "hello!" >> ~/.launchlogIhr .xinitrcTestprotokoll jederzeit ergänzen , bis Sie es genau wissen, und anschließend das Testprotokoll löschen.
Darth Android
1

Die XDG-Autostart-Spezifikation funktioniert für alle XDG-kompatiblen Desktop-Umgebungen, einschließlich Gnome, KDE, XFCE und andere.

Ignacio Vazquez-Abrams
quelle