Je ne peux pas exécuter mes scripts ~/.xinitrc
( ~/.xsession
) lorsque je me connecte à mon ordinateur. J'utilise Xubuntu 12.10 avec vanilla lightgm comme gestionnaire de connexion. Ces deux fichiers ont la bonne autorisation (exécutable). J'ai dans mon ~/.xinitrc
, ce qui suit:
#!/usr/bin/env bash
# read ~/.Xmodmap if it exists
if [[ -f "${HOME}/.Xmodmap" ]]; then
xmodmap "${HOME}/.Xmodmap"
fi
# read ~/.Xresources if it exists
if [[ -f "${HOME}/.Xresources" ]]; then
xrdb -load "${HOME}/.Xresources"
fi
# use gnome-keyring-daemon to manage keys
/usr/bin/gnome-keyring-daemon --start --components=gpg
/usr/bin/gnome-keyring-daemon --start --components=ssh
Aucune autre commande (comme date >> "$HOME/did_start"
) n'est également en cours d'exécution.
Maintenant, apparemment, même si je supprime mes fichiers ~/.xinitrc
et ~/.xsession
, xmodmap
semble être en train de lire ~/.Xmodmap
, et ~/.Xresources
est également partiellement lu. J'ai vérifié /etc/X11/Xsession
pour voir s'il y avait des commandes qui le faisaient lire ces deux fichiers et n'en ai trouvé aucun. Que pourrait-il se passer?
EDIT: depuis que Gilles a demandé, j'utilise une session personnalisée lors de la connexion via lightdm ( /usr/share/xsessions/custom.desktop
):
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
Mais apparemment, cela démarre toujours XFCE via startxfce4
même si je ne l'ai pas dans mon ~/.xinitrc
.
Et comme Ulrich Dangel l'a souligné, il y a une ligne dans /usr/xdg/xfce4/xinitrc
laquelle lit ~/.Xmodmap
et ~/.Xresources
, et ce script est exécuté par startxfce4
. Alors ce "mystère" est maintenant résolu. Mais encore une fois, les couleurs (pour xterm
, urxvt
etc.) de ne ~/.xinitrc
sont toujours pas chargées.
Réponses:
Pour votre première question, cela dépend généralement de votre session, c'est-à-dire que le fichier dans votre exemple n'est pas nécessairement suffisant car il ne démarre pas votre WM / DE. Normalement ,
~/.xsession
ou~/.xinitrc
commencer à tout l'environnement et sont non seulement utilisés pour lancer automatiquement des programmes, à savoir qu'ils devraient contenir une ligne comme ,exec x-window-manager
mais le globalxsession
peut simplement inclure le fichier.Pour votre autre question, Debian (et probablement Ubuntu) en a
/etc/X11/Xsession.d
par exemple qui se charge~/.Xresources
. Ces fichiers sont également responsables du chargement et de la recherche du gestionnaire de fenêtres par défaut.Pour déboguer vos problèmes, vous devriez jeter un œil dans
~/.xsession-errors
ou démarrer le xserver à partir d'une console et y voir les messages d'erreur directement, c'est-à-direstartx -- /etc/X11/Xsession
la source
exec startxfce4
ligne dans mon~/.xinitrc
, XFCE démarre (c'est bizarre, autre chose doit arriver). Pour la deuxième partie, oui, ce que vous avez dit semble être le cas. Le/etc/xdg/xfce4/xinitrc
script a provoqué la lecture des deux fichiers.