вторник, 27 ноября 2012 г.

Cygwin SSH LANG (codepage)

Иногда приходится пользоваться виндой, например когда ноут слишком крутой и половина его возможностей не реализованы в линуксе в достаточной мере.

Поэтому мне пришлось сидеть на винде, и мне понадобились утилиты для работы, такие как grep, ssh-client, whois и другие. Для SSH я не захотел использовать Putty, т.к. не люблю отрывать руки от клавиатуры. По горячим клавишам у меня запускается Cygwin, в нем я набираю команду и подключаюсь по ssh к нужному серваку, некоторые утилитки пришлось компилировать вручную в cygwin, т.к. в репозитории они отсутствовали, но сегодня речь только про ssh.



В cygwin при использовании SSH может возникнуть такая проблема, на удаленном сервере некорректно отображаются кириллические символы.
Если на удаленном сервере набрать echo $LANG то увидим пустое значение
Для начала нужно настроить кодировку в Cygwin



далее нужно прописать такие строки в файле ~/.ssh/config
Host *
 SendEnv LANG LC_*

В итоге ssh клиент будет пробрасывать локальную переменную LANG в удаленную консоль.