Si je le comprends bien, LightDM a remplacé GDM par défaut. Je me demande s’il est possible de faire exécuter ce que j’ai mis dans mon fichier .xinitrc ... ce dont j’ai besoin, c’est une option située sous "Unity" et "Unity 2D" qui indique "Exécuter une session définie par l’utilisateur".
Est-ce possible? Ça devrait être la chose la plus facile, mais je n’ai pas eu la moindre idée pour le moment. J'exporte, définit et exécute beaucoup de choses dans ce fichier, il est donc très important pour moi de contrôler cela.
Ce que je ne veux PAS, c’est une session personnalisée dans/usr/some/where, je veux seulement qu’elle exécute le contenu depuis le xinitrc de chaque utilisateur (ou similaire).
Créez un nouveau fichier /usr/share/xsessions/custom.desktop
avec:
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
Vous devriez maintenant avoir une nouvelle option de session lors de la connexion, Xsession chargera le ~/.xinitrc
de l'utilisateur.
Pour utiliser olvwm:
1) Tapez Sudo apt-get install olvwm
dans une console
2) Créer cette session:
/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application
Créez un nouveau fichier /user/share/xsessions/default.desktop
(le nom vous appartient, mais il doit avoir le suffixe .desktop
):
[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=
Maintenant, lorsque vous sélectionnez cette session dans lightdm
et que vous vous connectez, votre fichier ~/.xsession
, s'il existe, sera exécuté.
Notez que le fichier de l'utilisateur qui est exécuté est ~/.xsession
et non pas ~/.xinitrc
, comme indiqué dans la question. (~/.xinitrc
est utilisé au démarrage de la session X à l'aide du script startx
à partir d'une ligne de commande.)
Quelques explications: L’entrée Name
correspond à ce que lightdm
afficherait pour cette session. L'entrée Exec
est la chose la plus importante. Ce doit être le nom du programme qui démarre la session. Lorsque vous vous connectez, lightdm
appelle le script /etc/X11/Xsession
en lui transmettant la valeur de Exec
en tant qu'argument et Xsession
exécutera éventuellement ce programme (par exemple, il pourrait s'agir de startxfce4
pour démarrer une session xfce4
. Si l'entrée Exec
est la chaîne spéciale default
name__, alors Xsession
exécutera le fichier ~/.xsession
de l'utilisateur. (Xsession
exécuterait également ~/.xsession
s'il est appelé sans aruments.)
Désolé, je suis nouveau ici et je ne peux donc pas commenter les réponses des autres personnes, mais j'aimerais commenter la réponse acceptée, pour que les choses soient plus claires. Comme expliqué ci-dessus, ce qui va se passer avec la méthode de cette réponse est que Xsession
serait appelé par lightdm
avec un argument qui est (le chemin complet de) Xsession
name__. Donc, Xession
sera exécuté puis appelé, cette fois sans arguments. La seconde Xsession
name__, appelée sans arguments, exécutera le ~/.xsession
de l'utilisateur. Ainsi, l'action souhaitée sera éventuellement prise, mais d'une manière un peu délicate.