Ok, eu percebi. Alguém codificou com firmeza as variáveis LC_ALL
e LANG
em /etc/profile
, então todo o restante foi ignorado. Depois de removê-los, a localidade é configurada de acordo com o ambiente transmitido pelo ssh.
Eu tenho um servidor debian com várias localidades instaladas, de_DE, en_GB e en_US. Eu quero poder fazer o login através do ssh e obter o locale definido de acordo (para en_US no meu caso, diferente para outra pessoa) Eu executei o dpkg-reconfigure locales e selecionei None como o local padrão, como mencionado aqui: link . Agora, quando eu faço o login no ssh, ainda recebo o código do idioma de_DE.
LANG=de_DE.utf8
LANGUAGE=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_PAPER="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_ADDRESS="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LC_ALL=de_DE.utf8
Eu verifiquei com ssh -v, o cliente ssh está realmente enviando a variável LANG
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Como o local ainda está sendo definido como DE e como posso desabilitar esse comportamento?
Editar: Funciona agora. Alguém forçosamente defina a localidade em / etc / profile ...
Está especificando as configurações de localidade preferidas pelo usuário em ~ / .profile apropriadas para suas necessidades?
Além disso, para poupar o aborrecimento, pare de encaminhar a localidade do seu cliente (/ etc / ssh / ssh_config, comente SendEnv LANG ...) e pare de aceitar no servidor (/ etc / ssh / sshd_config). / p>
Ou, se preferir, você pode definir um arquivo ~ / .ssh / environment com as opções desejadas. Você terá que habilitar o PermitUserEnvironment no arquivo / etc / ssh / sshd_config do servidor.
No meu caso, ao efetuar login com o ssh, nenhuma das configurações padrão de localidade ou variável de ambiente costumava funcionar. Foi porque eu tinha desativado o controle de sessão do PAM na configuração do sshd.
Verifique se você definiu
UsePAM yes
no seu arquivo /etc/ssh/sshd_config
, pelo menos isso funcionou para mim.
Tags debian localization