Was ist der Zweck der .xsession
Datei im Home-Ordner? Was soll da reingesteckt werden? Die Desktop-Umgebungen verwenden diese Datei nicht und für den X-Start ab dem tty gibt es .xinitrc
.
Was ist der Zweck der .xsession
Datei im Home-Ordner? Was soll da reingesteckt werden? Die Desktop-Umgebungen verwenden diese Datei nicht und für den X-Start ab dem tty gibt es .xinitrc
.
Antworten:
Wenn Sie sich im Textmodus anmelden und eine GUI-Sitzung mit xinit oder dem Wrapper-Skript starten startx
, gehen Sie xinit
wie folgt vor:
/etc/X11/xinit/xserverrc
)./etc/X11
Regel einige Skripte aus (normalerweise /etc/X11/xinit/xinitrc
), je nachdem, wie sie eingerichtet sind.~/.xinitrc
, falls vorhanden. Wenn dies nicht der Fall ist, führen Sie (traditionell xterm
) einen Standard-Client aus .~/.xinitrc
beendet, töte den X-Server.Wenn Sie im grafischen Modus auf einem log in X - Display - Manager (xdm, gdm, kdm wdm, lightdm, ...), traditionell, was ausgeführt wird , nachdem Sie sich anmelden ist einige Skripte in /etc/X11
dann ~/.xsession
.
~/.xsession
hat die Rolle von ~/.profile
und ~/.xinitrc
kombiniert: Es soll den ersten Start Ihrer Sitzung durchführen (z. B. Umgebungsvariablen definieren) und dann Programme starten, die für die GUI spezifisch sind (in der Regel mindestens Window Manager).
Heutzutage können Sie bei den meisten X-Display-Managern zwischen verschiedenen Sitzungen wählen. Wenn Sie eine bestimmte Sitzung auswählen, wird eine bestimmte Desktop-Umgebung (Sitzungsmanager, Fenstermanager) gestartet. Was dann ausgeführt wird, ist nur das DE / SM / WM und die Programme, die es basierend auf den zu lesenden Konfigurationsdateien startet. Viele Umgebungen bieten eine "benutzerdefinierte Sitzung", die das Traditionelle liest ~/.xsession
.
.xsession
Datei wird nur gelesen, wenn Sie einen bestimmten Sitzungstyp auswählen. Ich weiß, dass Gdm von den Entwicklern nicht .xsession
standardmäßig ausgeführt werden soll und es jeder Distribution überlassen bleibt, und viele Distributionen kümmern sich nicht um die Notwendigkeit oder erkennen sie nicht. Ich weiß nicht, wie die KDM-Situation ist.
/etc/kde4/kdm/Xsession
, die direkt nach dem Login als Benutzer ausgeführt werden kann. Sie sind Lügen - die Datei (die übrigens vorhanden ist) wurde von kdm nie berührt, ich habe sie sogar überhaupt entfernt, und das hat nichts geändert.
.xsession
, wie Sie beschrieben haben. Wenn Sie jedoch anstelle von "KDE" "Benutzerdefinierte Sitzung" auswählen, .xsession
wird anstelle von KDE ausgeführt. Ich benutze dies zum Beispiel, weil ich gerade xfce4-panel
FVWM 2 als meinen "Desktop" ausführe ; Wenn KDE auf einem System installiert wäre, das ich gerade verwende, würde es vollständig ignoriert.
Der Start einer X-Sitzung kann heutzutage kompliziert sein. Ein guter Anfang ist das Skript, um /etc/X11/Xsession
zu sehen, wie die Dinge ausgeführt werden.
Auf meinen Debian / Ubuntu-Systemen setzt das Skript /etc/X11/Xsession
die Variable USERXSESSION=$HOME/.xsession
. Später /etc/X11/Xsession.d/50x11-common_determine-startup
sucht das Skript nach diesem Skript und verwendet es als primäre Sitzung, sofern dies gemäß der Systemrichtlinie zulässig /etc/X11/Xsession.options
ist und der Anzeigemanager keine andere Sitzung angefordert hat.
Ich empfehle Ihnen dringend, einen Blick in das Buch X Window Systemadministratorhandbuch zu werfen : für X Version 11 . Kapitel 2 erläutert den Zweck .xsession
und den gesamten Konfigurationsprozess für eine Beispielkonfiguration. Außerdem ist es eine schöne Auffrischung für die gesamte x-window-bezogene Terminologie (und ich hoffe, Sie werden nicht erschreckt :)). Sie können das Buch von bekommen
Obwohl es ziemlich veraltet ist, finden Sie viele Informationen zu den zugrunde liegenden Konzepten, die sich bis heute nicht geändert haben, und es ist sehr gut lesbar. Darüber hinaus ist es wirklich lustig, einen Blick auf das zu werfen, was damals erstklassig war.
.xsession ist das traditionelle Startscript für die X11-Umgebung. Heutzutage ist es mit Sessionmanagern wie kdm nicht mehr so nützlich, sondern auf einem traditionell eingerichteten System. Dies wird ausgeführt, nachdem X11 mit startx gestartet wurde.