web-dev-qa-db-fra.com

À quoi sert ".xsession"?

Quel est le but du .xsession fichier dans le dossier d'accueil? Que faut-il y mettre? Les environnements de bureau n'utilisent pas ce fichier et pour le démarrage X à partir du tty, il y a .xinitrc.

62
Mirzhan Irkegulov

Si vous vous connectez en mode texte, démarrez une session GUI avec xinit ou avec le script wrapper startx, puis xinit fait les choses suivantes:

  • Démarrez un serveur X (généralement via le script /etc/X11/xinit/xserverrc).
  • Exécutez généralement certains scripts dans /etc/X11 (Généralement /etc/X11/xinit/xinitrc), Selon la configuration.
  • Exécutez ~/.xinitrc, S'il existe. S'il n'existe pas, exécutez un client par défaut (traditionnellement xterm).
  • Une fois ~/.xinitrc Terminé, tuez le serveur X.

Si vous vous connectez en mode graphique sur un gestionnaire d'affichage X (xdm, gdm, kdm, wdm, lightdm,…), traditionnellement, ce qui est exécuté après vous être connecté est quelques scripts dans /etc/X11 puis ~/.xsession.

~/.xsession A le rôle de ~/.profile Et ~/.xinitrc Combinés: il est censé effectuer le démarrage initial de votre session (par exemple définir des variables d'environnement), puis lancer des programmes spécifiques à l'interface graphique ( généralement au moins gestionnaire de fenêtres).

De nos jours, la plupart des gestionnaires d'affichage X vous offrent le choix d'une session. Le choix d'une session particulière a lancé un environnement de bureau spécifique, un gestionnaire de session, un gestionnaire de fenêtres. Ce qui est alors exécuté est uniquement le DE/SM/WM et les programmes qu'il choisit de démarrer en fonction des fichiers de configuration qu'il choisit de lire. De nombreux environnements proposent une "session personnalisée" qui lit le traditionnel ~/.xsession.

Le démarrage d'une session X peut être compliqué de nos jours. Un bon point de départ est le script /etc/X11/Xsession pour voir comment les choses seront exécutées.

Sur mes systèmes Debian/Ubuntu, le script /etc/X11/Xsession définit la variable USERXSESSION=$HOME/.xsession. Plus tard, le script /etc/X11/Xsession.d/50x11-common_determine-startup recherche ce script et l'utilise comme session principale, si la stratégie système l'autorise dans /etc/X11/Xsession.options, et si aucune autre session n'a été demandée par le gestionnaire d'affichage.

15
Jim Paris

Je vous recommande fortement de jeter un œil dans le livre Guide de l'administrateur système X Window: pour X version 11 . Le chapitre 2 explique l'objectif de .xsession et l'ensemble du processus de configuration pour un exemple de configuration. C'est aussi un bon rappel pour toute la terminologie liée à x-window (et j'espère que vous ne serez pas effrayé :)). Vous pouvez obtenir le livre auprès de

http://archive.org/details/xwindowsystemadm08muimiss

Bien qu'il soit plutôt obsolète, vous pouvez trouver de nombreuses informations sur les concepts sous-jacents qui n'ont pas changé jusqu'à aujourd'hui et elles sont très lisibles. De plus, c'est vraiment drôle de jeter un œil à ce qui était de premier ordre à l'époque.

8
user1146332

.xsession est le script de démarrage traditionnel pour l'environnement X11. De nos jours, avec les gestionnaires de session comme kdm, ce n'est plus une grande utilité, mais sur un système configuré traditionnellement. C'est ce qui est exécuté après le démarrage de X11 avec startx.

7
Nikodemus RIP