O Gnome 3.22 usa wayland por padrão. O gnomo no wayland não lê ~/.profile
(ou ~/.bash_profile
ou /etc/profile
). Consulte https://bugzilla.gnome.org/show_bug.cgi?id=736660 .
Eu tenho meus arquivos de inicialização configurados da seguinte maneira:
.bash_profile
não faz nada além de fonte.profile
e.bashrc
.profile
define apenas variáveis de ambiente comoPATH
eLC_MESSAGES
.bashrc
define algumas configurações e aliases específicos do bash e variáveis de ambiente para aplicativos comoless
egrep
.
O efeito (antes do wayland) foi o seguinte:
- quando eu logar graficamente
.profile
era lido e variáveis de ambiente comoPATH
eLC_MESSAGES
foram definidas. quando abro o bash dentro de um emulador de terminal, então.bashrc
era lido. - quando eu entrar em um terminal virtual, em seguida,
.bash_profile
foi lido, que por sua vez lê.profile
e.bashrc
. - quando eu faço login usando ssh, o comportamento é semelhante ao terminal virtual.
Em todos os casos .profile
e .bashrc
foi lida e meu ambiente foi criado.
Então agora o gnome 3.22 usa wayland e wayland não lê .profile
. Como posso configurar meus arquivos de inicialização para que eu tenha novamente os efeitos descritos acima?
Note que eu não insisto que certos arquivos (como .profile
) sejam lidos. O que eu quero é que meu ambiente seja configurado de maneira sensata. Isso significa que quero manter configurações específicas do bash nos arquivos de inicialização do bash e outras configurações em outros arquivos de inicialização. Também gostaria de não copiar as configurações em arquivos diferentes.
Eu uso o arch linux. Respostas para todas as distribuições são bem-vindas. Ao sugerir uma solução alternativa, descreva também os efeitos colaterais e as vantagens e desvantagens.
atualização novembro de 2017: pelo que entendi, os desenvolvedores do gnome reconheceram que as pessoas esperam que seus arquivos de configuração do shell de login ( .profile
e .bash_profile
no caso do bash) sejam originados após o login. independentemente do texto ou login gráfico. portanto, meu caso de uso descrito acima funciona novamente.
ainda assim, os desenvolvedores do gnome querem deixar de iniciar um shell de login. parece que a direção que eles estão seguindo é usar o environmentd do systemd:
https://in.waw.pl/~zbyszek/blog/environmentd.html
parece que levará um tempo até que todos os métodos de login sejam adaptados ao environmentd.