Edit : J'aurais dû mentionner dans ma question initiale que j'utilisais le client SSH MacPorts, car il s'est avéré qu'il y avait deux causes principales. Voir ma propre réponse ci-dessous.
Lorsque je me connecte en SSH à ma machine OSX, les paramètres linguistiques ne sont pas correctement définis :
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Il faut utiliser une locale UTF-8. Elle devrait ressembler à ceci :
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
J'utilise OSX 10.11.6 (El Capitan), et j'ai activé le serveur SSH dans les préférences système.
J'utilise putty comme client sur ma machine Windows. Lorsque j'utilise la même configuration de putty pour me connecter à un serveur Linux, les informations locales sont correctes.
Lorsque je lance un terminal local sur la machine OSX, les paramètres linguistiques sont corrects. Si je lance ensuite ssh localhost
J'ai le même problème : aucune locale n'est définie.
Il semble que mon serveur SSH OSX ignore ou rejette les informations locales du client. J'ai ce qui suit dans mon fichier (non modifié) /etc/ssh/sshd_config
:
AcceptEnv LANG LC_*
À ma connaissance, c'est tout ce qui est nécessaire.
Ma configuration putty envoie TERM=xterm-256color
qui est respecté ; c'est seulement l'information locale qui ne fonctionne pas, et pour répéter, cela se produit lorsque j'utilise la fonction ssh localhost
d'OSX à lui-même, donc je ne pense pas que putty soit le problème ici.
Je n'accepterai pas les réponses qui suggèrent de définir les paramètres locaux dans mon .profile
Il y a beaucoup de réponses ici qui suggèrent cela, mais c'est un piratage, pas une solution.