FreeBSDПамятка: utf-8 локаль в FreeBSD

Задача: когда я работаю с машиной по ssh, хочу, чтоб всё было в utf-8.
Кстати, поддержка utf-8 локали появилась в 5-й что ли версии FreeBSD, а не в 8-й, как некоторые ошибаются.
Решение (из всех способов, что я нашёл, именно этот оказался рабочим):

В /etc/login.conf находим секцию russian|Russian Users Accounts:\ и заменяем следующие три строчки этими:
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:

Далее
cap_mkdb /etc/login.conf

Потом для каждого юзера, который будет логиниться по ssh, делаем так:
pw usermod -n юзер -L russian

Далее для тех, у кого bash, в /etc/profile добавляем:
LANG="ru_RU.UTF-8"; export LANG
LC_CTYPE="ru_RU.UTF-8"; export LC_CTYPE
LC_COLLATE="POSIX"; export LC_COLLATE
LC_ALL="ru_RU.UTF-8"; export LC_ALL

Для тех у кого не bash, надо сделать что-то аналогичное, но для их оболочки.

P.S.: Если нужно заодно сменить у этих юзеров шелл на bash, то делается это так:
pw usermod -n юзер -s /usr/local/bin/bash
  • +5
  • Q2W
  • 13 июня 2010, 18:24

Комментарии (3)

Кстати, поддержка utf-8 локали появилась в 5-й что ли версии FreeBSD а не в 8-й, как некоторые ошибаются.

Так оно так, да не совсем :)
lists.freebsd.org/pipermail/freebsd-current/2009-July/009351.html
FreeBSD already supports UTF-8 when using X11, etc. The console driver
is restricted to 8-bit character sets. When you use FreeBSD
HEAD/8.0, you can add the following to your kernel config:
Я специально выделил, что речь о поддержке utf-8 локали.
По ссылке речь о utf-8 в консоли. Той, что физическая, прям на экране.

P.S.: поменял локаль на utf-8 на FreeBSD 7.1, потому и сообщаю.
Виноват, ошибся :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.