Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Попытка пробросить переменную окружения LANG через ssh клиент.

110 views
Skip to first unread message

Oleksandr Gavenko

unread,
Oct 7, 2011, 11:30:02 AM10/7/11
to
Прочитал мануалы. По умолчанию в /etc/ssh/sshd_config (GGG дописал для
теста, содержимое с сервера):

# Allow client to pass locale environment variables
AcceptEnv LANG LC_* GGG

На клиенте в ~/.ssh/config добавил:

# Bypass some env vars to remote host
SendEnv LANG LC_* GGG

Теперь из Cygwin:

$ mintty
$ echo $LANG
ru_RU.cp1251
$ export GGG=xxx
$ ssh $USER@$HOST
% echo $GGG
xxx
% echo $LANG
ru_RU.UTF8

Не понимаю как побороть LANG. Вроде все стартовые скрипты для shell'а
прогрепил на предмет строки 'LANG', но безрезультатно...

Помогите, подскажите...

--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/j6n5bb$8mh$1...@dough.gmane.org

Evgeny Kapun

unread,
Oct 7, 2011, 12:00:01 PM10/7/11
to
07.10.2011 19:20, Oleksandr Gavenko пишет:
> Прочитал мануалы. По умолчанию в /etc/ssh/sshd_config (GGG дописал для
> теста, содержимое с сервера):
>
> # Allow client to pass locale environment variables
> AcceptEnv LANG LC_* GGG
>
> На клиенте в ~/.ssh/config добавил:
>
> # Bypass some env vars to remote host
> SendEnv LANG LC_* GGG
>
> Теперь из Cygwin:
>
> $ mintty
> $ echo $LANG
> ru_RU.cp1251
> $ export GGG=xxx
> $ ssh $USER@$HOST
> % echo $GGG
> xxx
> % echo $LANG
> ru_RU.UTF8
>
> Не понимаю как побороть LANG. Вроде все стартовые скрипты для shell'а
> прогрепил на предмет строки 'LANG', но безрезультатно...
>
> Помогите, подскажите...
>
>
>

На сервере в /etc/pam.d/sshd:
auth required pam_env.so envfile=/etc/default/locale
Эта строчка устанавливает локаль. Чтобы отключить, рекомендуется
выполнить dpkg-reconfigure locales из-под рута и убрать локаль по
умолчанию. Если не помогает, можно попробовать закомментировать
вышеназванную строчку.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/4E8F2022...@gmail.com

Oleksandr Gavenko

unread,
Oct 10, 2011, 8:10:01 AM10/10/11
to
07.10.2011 18:52, Evgeny Kapun пишет:

> На сервере в /etc/pam.d/sshd:
> auth required pam_env.so envfile=/etc/default/locale
> Эта строчка устанавливает локаль. Чтобы отключить, рекомендуется
> выполнить dpkg-reconfigure locales из-под рута и убрать локаль по
> умолчанию. Если не помогает, можно попробовать закомментировать
> вышеназванную строчку.
>
Спасибо. Это оно!

07.10.2011 19:20, Oleksandr Gavenko пишет:

> По умолчанию в /etc/ssh/sshd_config:


>
> # Allow client to pass locale environment variables
> AcceptEnv LANG LC_*
>

> На клиенте в ~/.ssh/config добавил:
>
> # Bypass some env vars to remote host
> SendEnv LANG LC_*
>

После перезагрузки $LANG успешно устанавливается sshd сервером.


На сколько хорошо отключать локаль по умолчанию?

Всем пользователям системы нравиться русская UTF-8 локаль...

Где тогда правильней устанавливать локаль?

В силу указанных вопросов я решил закоментарить строчки из
/etc/pam.d/sshd

--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/j6umtd$ue4$1...@dough.gmane.org

Evgeny Kapun

unread,
Oct 10, 2011, 2:30:02 PM10/10/11
to
10.10.2011 16:03, Oleksandr Gavenko пишет:

> После перезагрузки $LANG успешно устанавливается sshd сервером.
>
>
> На сколько хорошо отключать локаль по умолчанию?
>
> Всем пользователям системы нравиться русская UTF-8 локаль...
>
> Где тогда правильней устанавливать локаль?
>
> В силу указанных вопросов я решил закоментарить строчки из
> /etc/pam.d/sshd

Закомментаривание этих строчек фактически отключает локаль по умолчанию при входе через SSH, но сохраняет её при других методах входа. Также можно ставить локаль через /etc/profile и ~/.profile. Например, команда
: ${LANG=ru_RU.UTF-8}; export LANG
устанавливает значение переменной окружения LANG в ru_RU.UTF-8, только если оно не было установлено ранее. При этом файлы из /etc/pam.d выполняются до /etc/profile. При входе через SSH, значения переменных передаются с клиента до выполнения файлов из /etc/pam.d.

Также можно почитать <http://wiki.debian.org/Locale>.


--
To UNSUBSCRIBE, email to debian-russ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Archive: http://lists.debian.org/4E933945...@gmail.com

0 new messages