Edytuj: Powinienem był wspomnieć w moim pierwotnym pytaniu, że korzystam z klienta SSH MacPorts, jak się okazało, były dwie główne przyczyny. Zobacz moją własną odpowiedź poniżej.
Gdy włączam SSH do mojego komputera OSX, nie ustawia ono poprawnie ustawień regionalnych:
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Powinien to być język lokalny UTF-8. To powinno wyglądać tak:
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=
Używam OSX 10.11.6 (El Capitan) i uruchomiłem serwer SSH w Preferencjach systemowych.
Używam kit jako klienta na moim komputerze z systemem Windows. Gdy używam tej samej konfiguracji kit do łączenia się z serwerem Linux, informacje o ustawieniach regionalnych są w porządku.
Kiedy uruchamiam lokalny terminal na maszynie OSX, ustawienia regionalne są w porządku. Jeśli mam wtedy ssh localhost
ten sam problem: nie ustawiono żadnych ustawień narodowych.
Wygląda na to, że mój serwer SSX OSX ignoruje lub odrzuca informacje o lokalizacji od klienta. Mam następujące w moim (niezmodyfikowanym) /etc/ssh/sshd_config
:
AcceptEnv LANG LC_*
O ile mi wiadomo, to wszystko, co jest wymagane.
Moja konfiguracja kitu wysyła TERM=xterm-256color
, która jest honorowana; to tylko informacje o lokalizacji, które nie działają, i powtarzam, zdarza się to, gdy pochodzę ssh localhost
z OSX do siebie, więc nie sądzę, żeby tu chodziło o kit.
Nie zaakceptuję odpowiedzi, które sugerują ustawienie lokalizacji w moim .profile
; jest tu wiele odpowiedzi sugerujących, że to hack, a nie rozwiązanie.