Как изменить локаль командной строки после того, как 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 не поможет вам, попробуйте это.

  1. Перейдите в каталог конфигурации системы CentOS

    $ cd /etc/sysconfig
    
  2. Сделайте резервную копию файла настроек языка

    $ cp i18n i18n.backup
    
  3. Измените файл настроек языка, чтобы разрешить использование английского языка по умолчанию. Вы можете редактировать файл, используя nano или же vim текстовые редакторы, доступные на всех системах CentOS от SSH. я предпочитаю vim, но nano проще:

    $ nano i18n
    
  4. Отредактируйте файл, включив эти строки в качестве первых трех строк файла:

    $ LANG="en_US.UTF-8"
    $ SYSFONT="latarcyrheb-sun16"
    $ SUPPORTED="en_US.UTF-8:en_US:en"
    
  5. Сохраните файл и перезагрузите систему. Если вы не можете перезапустить систему, вам нужно разрешение на перезагрузку init.d

Это должно включить новую настройку языка. Если вы не можете выполнить это через SSH из-за слишком ограниченного доступа, вам, вероятно, потребуется уведомить интернет-провайдера или любого, кто имеет физический доступ к серверу.

С уважением и наилучшими пожеланиями.

По крайней мере, Fedora 16 определяет язык в командной строке GRUB. Увидеть /boot/grub/grub.conf а также /etc/grub.conf,

Тогда есть /etc/sysconfig/i18n файл, который содержит настройки языка.

Другие вопросы по тегам