shell de login Zsh no Ubuntu

3

Eu tenho uma nova instalação do Ubuntu Natty. Eu mudei meu shell para zsh.

Quando eu faço o login, ele não aparece no meu arquivo ~ / .zprofile. O gnome não é executado em um shell de login do seu shell escolhido? É sempre sh?

Eu fui cavar em / etc / gdm e descobri que o gdm sempre origina ~ / .profile se ele existe, mas eu não consegui encontrar nada que sugerisse que estava fazendo algo específico para o meu shell escolhido.

Alguém pode me ajudar a entender o que está acontecendo aqui?

    
por Jeremy Cantrell 16.05.2011 / 17:11

2 respostas

1

O GDM (versão 2, não tenho certeza sobre 3) lê somente /etc/profile , ~/.profile , /etc/xprofile e ~/.xprofile . Tudo é executado com sh .

Uma possível solução é usar ~/.xprofile e obtê-lo do seu ~/.zprofile se você não quiser duplicar o material em vários arquivos. Lembre-se de que ~/.xprofile é proveniente de sh , portanto você não pode usar nenhuma sintaxe zsh ou comandos nele.

    
por 16.05.2011 / 22:55
1

O shell de login afeta apenas sessões de modo de texto (ou seja, quando você digita sua senha no modo de texto ou quando você faz login remotamente), e não na sessão de modo gráfico (ou seja, quando você digita sua senha na GUI).

Para ter um único arquivo para as definições de tempo de login, coloque tudo em ~/.profile e forneça isso de ~/.zprofile . Uma maneira fácil é fazer com que seu ~/.zprofile contenha a linha única

emulate sh -c '~/.profile'

O Gdm organiza para carregar ~/.profile como parte da configuração da sessão, então você está totalmente coberto.

Veja também Zsh não acessa ~ / .profile .

    
por 17.05.2011 / 01:51