Shell de connexion Zsh dans Ubuntu

3

J'ai une nouvelle installation d'Ubuntu Natty. J'ai changé ma coquille en zsh.

Lorsque je me connecte, il ne semble pas que mon fichier ~ / .zprofile soit la source. Est-ce que gnome n'est pas exécuté dans un shell de connexion de votre shell choisi? Est-ce toujours sh?

Je suis allé creuser dans / etc / gdm et ai découvert que gdm toujours sources ~ / .profile s’il existe, mais je n’ai rien trouvé qui puisse suggérer qu’il faisait quelque chose de spécifique à mon shell choisi.

Quelqu'un peut-il m'aider à comprendre ce qui se passe ici?

Jeremy Cantrell
la source

Réponses:

1

GDM (version 2, je ne suis pas sûr de 3) lit seulement /etc/profile, ~/.profile, /etc/xprofile, et ~/.xprofile. Tout est couru avec sh.

Une solution possible est d'utiliser ~/.xprofile et le source de votre ~/.zprofile si vous ne voulez pas dupliquer des choses dans plusieurs fichiers. Rappelez-vous que ~/.xprofile provient de sh donc vous ne pouvez en utiliser zsh la syntaxe ou les commandes qu'il contient.

Arrowmaster
la source
1

Le shell de connexion affecte uniquement les sessions en mode texte (c'est-à-dire lorsque vous tapez votre mot de passe en mode texte ou lorsque vous vous connectez à distance), pas la session en mode graphique (c'est-à-dire lorsque vous tapez votre mot de passe dans l'interface graphique).

Pour avoir un seul fichier pour les définitions au moment de la connexion, mettez tout dans ~/.profile, et source que ~/.zprofile. Un moyen facile est de faire votre ~/.zprofile contenir la seule ligne

emulate sh -c '~/.profile'

Gdm organise le chargement ~/.profile dans le cadre de la configuration de la session, vous êtes donc complètement couvert.

Voir également Zsh ne frappe pas ~ / .profile .

Gilles
la source
KDM exécute en fait la session dans le shell que vous avez choisi. Ainsi, tout ce que vous vous attendez à charger se charge de le faire. En ce sens, je pense que GDM fait la "mauvaise chose".
Jeremy Cantrell
@Jeremy Après avoir regardé KDM, je peux vous assurer qu'il fait les choses "dans le mauvais sens", même si cela pourrait être une bonne idée.
Arrowmaster
Quelle est votre justification pour cela?
Jeremy Cantrell