À quoi sert «.xsession»?

62

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

Mirzhan Irkegulov
la source

Réponses:

58

Si vous vous connectez en mode texte puis démarrez une session graphique avec xinit ou avec le script wrapper startx, procédez xinitcomme suit:

  • Démarrez un serveur X (généralement via le script /etc/X11/xinit/xserverrc).
  • Généralement, exécutez certains scripts, /etc/X11généralement /etc/X11/xinit/xinitrc, en fonction de la configuration.
  • Run ~/.xinitrc, s'il existe. S'il n'existe pas, exécutez un client par défaut (traditionnellement xterm).
  • Une fois ~/.xinitrcterminé, 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 /etc/X11alors ~/.xsession.

~/.xsessiona le rôle de ~/.profileet ~/.xinitrccombiné: 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 le 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 ensuite exécuté ne concerne que 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 fournissent une «session personnalisée» qui lit le traditionnel ~/.xsession.

Gilles, arrête de faire le mal
la source
3
Je ne sais pas ce qu’est ce "beaucoup d’environnements", mais au moins kdm ignore silencieusement le fichier "~ / .xsession".
Bonjour Angel
1
@ Hi-Angel Le .xsessionfichier n'est lu que si vous sélectionnez un type de session particulier. Je sais que pour Gdm, les développeurs en amont ne veulent pas en inclure un qui fonctionne .xsessionpar défaut et le laisser à chaque distribution, et de nombreuses distributions ne se soucient pas ou ne réalisent pas le besoin. Je ne sais pas quelle est la situation de Kdm.
Gilles, arrête de faire le mal
Eh bien, vous savez, j’ai trouvé dans man kdm que kdm avait son propre fichier /etc/kde4/kdm/Xsessionà exécuter en tant qu’utilisateur juste après la connexion. Ils sont mensongers - le fichier (qui est présent) n'a jamais été touché par kdm, je l'ai même enlevé du tout, et cela n'a rien changé.
Bonjour Angel
1
@ Hi-Angel Gilles veut dire que sur votre écran de connexion graphique, vous aurez souvent un menu déroulant listant divers environnements. Si vous choisissez "KDE", cela commencera et sera ignoré .xsession, comme vous l'avez décrit. Mais si, au lieu de "KDE", vous choisissez "Session personnalisée", .xsessionsera exécuté à la place de KDE. J'utilise ceci, par exemple, parce que je lance juste xfce4-panelet FVWM 2 comme "bureau"; Si KDE était installé sur un système que j'utilisais, il serait complètement ignoré.
Curt J. Sampson
15

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

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

Jim Paris
la source
8

Je vous recommande vivement de consulter le guide Guide de l’administrateur système X Window: pour X version 11 . Le chapitre 2 explique l'objectif .xsessionet le processus de configuration complet d'un exemple de configuration. C'est aussi un bon rappel de la terminologie relative à x-window (et j'espère que vous ne serez pas effrayé :)). Vous pouvez obtenir le livre de

http://archive.org/details/xwindowsystemadm08muimiss

Bien que ce soit plutôt obsolète, vous pouvez trouver beaucoup d'informations sur les concepts sous-jacents qui n'ont pas changé jusqu'à aujourd'hui et qui sont très lisibles. De plus, il est vraiment amusant de jeter un coup d’œil sur ce qui était top à l’époque.

utilisateur1146332
la source
7

.xsession est le script de démarrage traditionnel de l'environnement X11. De nos jours, avec des gestionnaires de session tels que kdm, ce n’est plus une utilisation, mais un système traditionnel. C'est ce qui est exécuté après le démarrage de X11 avec startx.

Nikodemus RIP
la source