/ etc / X11 / Xsession & LightDM

8

J'utilise Lubuntu 14.10. Il semble que LighDM n'invoque /etc/X11/Xsessionque si cela lui est demandé par l'utilisateur. En fait, il n'y a pas d'ombre dans l' lightdm-sessionemballage.

  • startxla ligne de commande (enrouler autour de xinit pour des valeurs par défaut raisonnables) utilise ~/.xinitrcs'il existe, sinon utilise /etc/X11/xinit/xinitrc.
  • /etc/X11/xinit/xinitrcsources /etc/X11/Xsession, qui redirige la sortie vers .xsession-errors.
  • /etc/X11/Xsessionsources ~/.xsessionrcs'il existe, puis s'exécute ~/.xsessionsi exécutable, sources sinon.

Que se passe-t-il lors de l'utilisation de lightdm? S'il ne source pas /etc/X11/Xsession, comment pourrait-il éventuellement rediriger les erreurs vers le fichier d'erreur ~/.xsession-errors(je n'ai pas trouvé d'informations sur d'autres scripts en /etc/X11/Xsession.d/)?

La page de manuel pour les documents Xsession ~/.xsessionrcet ~/.xsession. Il dit que ce ~/.xsessionrcn'est que pour définir des variables et l' ~/.xsessionest pour exécuter des commandes, mais ~/.xsessionne provient que si je crée un *.desktopfichier personnalisé /usr/share/xsessions/pour cela. Dois-je créer un /etc/X11/Xsession.d/fichier personnalisé (comme 40x11-common_xsessionrcWorks for ~/.xsessionrc), ou simplement utiliser ~/.xsessionrcpour ajouter des scripts?

Aussi, j'aimerais savoir comment x-window-manager et x-session-manager fonctionnent à travers des alternatives. J'ai remarqué qu'ils semblent fonctionner si non ~/.xinitrcet ~/.xsessionexistent, et apparemment ils ne fonctionnent que lors de l'exécution de startx.

Merci d'avance pour n'importe quelle réponse.

Giuseppe Di Chiacchio
la source
Au fait, j'aurais une autre question. L'homme d'Ubuntu suggère de créer un fichier * .desktop personnalisé dans / usr / share / xsessions avec la ligne Exec = / etc / X11 / Xsession afin de définir les paramètres personnalisés dans ~ / .xsession. Cela signifie, exécuter un autre wrapper après / usr / sbin / lightdm-session, qui dans ce cas serait / etc / X11 / Xsession; cela entraînera que tout ce qui se trouve sous /etc/X11/Xsession.d/ sera appliqué deux fois. Ne serait-il donc pas préférable de créer un script dans /etc/X11/Xsession.d/ vers le source ~ / .xsession? Toute aide appréciée.
Giuseppe Di Chiacchio
Afin d'utiliser ~ / .xsession via / usr / sbin / lightdm-session, il m'a été utile de créer un nouveau script dans /etc/X11/Xsession.d que j'ai nommé 45x11-common_xsession. Comme les variables sont toutes bien définies dans le wrapper, je viens d'ajouter les lignes suivantes: if [-r "$ USERXSESSION"]; puis . "$ USERXSESSION" fi De cette façon, le wrapper source également le fichier ~ / .xsession, après avoir sourced ~ / .xsessionrc. J'espère que cela pourrait être utile.
Giuseppe Di Chiacchio
Si vous pouvez répondre à une partie de votre question, veuillez simplement créer une réponse vous-même, c'est tout à fait normal. Les commentaires ne peuvent que se perdre.
Volker Siegel

Réponses:

0

Ce bug

Bogue n ° 1001035 «lightdm utilise un chemin codé en dur pour les erreurs .xsession, ...»: Bogues: package lightdm: Ubuntu

indique que LightDM a le chemin d'accès $HOME/.xsession-errorscodé en dur dans sa source. Et cela devrait vraiment être configurable.

Malheureusement, les gestionnaires d'affichage «modernes» semblent souvent ne plus se soucier de /etc/X11beaucoup, et réinventer la roue… mal.
Probablement parce qu'il est assez difficile de savoir pourquoi les choses sont comme elles sont. (J'ai essayé. Je ne sais toujours pas pourquoi il y a tant de fichiers / scripts et quels sont leurs objectifs.)

Par exemple, SDDM n'utilise pas .xsession-errorsdu tout et se connecte à un autre emplacement étrange, le cas échéant.


Addenda

La deuxième question devrait vraiment être distincte.
Comme je ne sais toujours pas tout, je ne peux pas m'empêcher de faire ça.
Mais je pense que je peux dire que vous ne devriez probablement pas créer un autre fichier de session personnalisé.
Peut-être que la documentation LightDM vous y aide…

À propos de la troisième question: La page de manuel de xinitet les pages de manuel associées (du même progiciel) expliquent cela. Il y a une liste d'alternatives, certaines dans $HOME, certaines dans /etc, certaines même dans les /usr/share/…sous-répertoires. Mais je pense que s'il n'y en a pas, certains défauts sont également supposés.
Désolé, cela devrait probablement être séparé aussi. Je ne poste que ce que je sais.

Evi1M4chine
la source