Как изменить локаль командной строки после того, как CentOS решил ее изменить?
Очевидно, CentOS решил, что я голландец, и поэтому у меня не должно быть английского языка.
Помимо того, что это сильно беспокоит меня, у меня довольно трудное время, чтобы вернуть его обратно. Там, кажется, нет setlocale
функция и system-config-language
говорит мне, что я использую английскую локаль, хотя моя среда говорит иначе.
Любая помощь будет оценена.
Выход из locale
:
LANG=nl_NL.UTF-8
LC_CTYPE="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_PAPER="nl_NL.UTF-8"
LC_NAME="nl_NL.UTF-8"
LC_ADDRESS="nl_NL.UTF-8"
LC_TELEPHONE="nl_NL.UTF-8"
LC_MEASUREMENT="nl_NL.UTF-8"
LC_IDENTIFICATION="nl_NL.UTF-8"
LC_ALL=
Оба моих ~/.bashrc как ~/.bash_profile не содержат настроек локали. Дополнительно, /etc/bashrc
также не содержит ссылок на локали.
4 ответа
Если вы используете SSH, есть другой способ достижения того же результата, который работает и в iTerm. Вы должны изменить конфигурацию SSH:
sudo vi /etc/ssh_config
Найдите и закомментируйте строку, содержащую
SendEnv LANG LC_*
Я просто наткнулся на эту точно такую же проблему, и выяснил, почему это происходит в моем случае, и подумал, что поделюсь. Недавно я получил новый iMac на работе, который работает под управлением OS X Lion (предыдущей рабочей станцией была OS X Snow Leopard)
OS X Lion по умолчанию устанавливает локаль в переменной env LANG в Терминале. Это было установлено в nl_NL.UTF-8. Sshd в системе CentOS импортирует эту переменную среды в свою оболочку, когда вы вводите ssh в вашу систему CentOS.
Я решил это, отключив "Задать переменные среды локали при запуске" в настройках терминала (настройки-> расширенные)
Не знаю, запускаете ли вы OS X на рабочем столе, но суть в следующем: sshd на CentOS импортирует настройки локали с рабочей станции клиента ssh.
НТН
Если system-config-language
не поможет вам, попробуйте это.
Перейдите в каталог конфигурации системы CentOS
$ cd /etc/sysconfig
Сделайте резервную копию файла настроек языка
$ cp i18n i18n.backup
Измените файл настроек языка, чтобы разрешить использование английского языка по умолчанию. Вы можете редактировать файл, используя
nano
или жеvim
текстовые редакторы, доступные на всех системах CentOS от SSH. я предпочитаюvim
, ноnano
проще:$ nano i18n
Отредактируйте файл, включив эти строки в качестве первых трех строк файла:
$ LANG="en_US.UTF-8" $ SYSFONT="latarcyrheb-sun16" $ SUPPORTED="en_US.UTF-8:en_US:en"
Сохраните файл и перезагрузите систему. Если вы не можете перезапустить систему, вам нужно разрешение на перезагрузку
init.d
Это должно включить новую настройку языка. Если вы не можете выполнить это через SSH из-за слишком ограниченного доступа, вам, вероятно, потребуется уведомить интернет-провайдера или любого, кто имеет физический доступ к серверу.
С уважением и наилучшими пожеланиями.
По крайней мере, Fedora 16 определяет язык в командной строке GRUB. Увидеть /boot/grub/grub.conf
а также /etc/grub.conf
,
Тогда есть /etc/sysconfig/i18n
файл, который содержит настройки языка.