Дефолтовой кодировкой локали на системах Debian и Ubuntu является UTF-8. И это очень здорово и удобно. Жалко, что FreeBSD всё ещё не может похвататься такими достижениями, но они уже заявили, что сделают поддержку UTF-8 в следующей версии.
Так вот обнаружил, что Debian и Ubuntu параметры локали передают на другую машину по ssh и это тоже очень здорово! Заходишь на удалённую машину, а она с тобой общается на удобном тебе языке. Но это ровно до тех пор пока удалённая машина тоже поддерживает UTF-8 в локали.
А я столкнулся, что на удалённой машине русский язык представлен только в 1251. Так как мне проще разговаривать с машиной на английском, нежели тепреть 1251, то задался вопросом, как же отключить передачу локали на удалённую машину.
Знакомый подсказал, что во всём виновата строка SendEnv LANG LC_* в файле /etc/ssh/ssh_config . Если внимательно заглянуть в man ssh_config, то там об этом есть пара строк.
Note that the Debian openssh-client package sets several options as standard in /etc/ssh/ssh_config which are not the default in ssh(1):
· SendEnv LANG LC_*
· HashKnownHosts yes
· GSSAPIAuthentication yes
Надо просто убрать строку из конфига и жить счастливо. А вот, если нет возможности её убрать (например, нет рутового доступа)? К сожалению конфигурированием ~/.ssh/config отделаться не удалось 8(.
Выводы: разработчики Debian ошиблись не в том, что включили прокидывание локали, а в том, что не предусмотрели способа отключить прокидывание на пользовательском уровне.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий