пятница, 21 января 2011 г.

FreeBSD + русская локаль UTF-8

  1. Добавляем в конфиг ядра строки:
  2. options TEKEN_UTF8
    options TEKEN_XTERM
  3. правим /etc/login.conf:
    russian|Russian Users Accounts:\
    :charset=UTF-8:\
    :lang=ru_RU.UTF-8:\
    :tc=default:


    Создаём хэш для login.conf:
    # cap_mkdb /etc/login.conf
  4. правим /etc/csh.cshrc - устанавливаем переменные окружения:
    setenv LANG ru_RU.UTF-8
    setenv LC_CTYPE ru_RU.UTF-8
    setenv LC_COLLATE POSIX
    setenv LC_ALL ru_RU.UTF-8
  5. аналогично для 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
    
  6. root должен быть англоязычным - правим /root/.cshrc:
    setenv LANG C
    setenv LC_CTYPE C
    setenv LC_COLLATE POSIX
    setenv LC_ALL C
  7. Меняем драйвер консоли 'cons25' на 'xterm' в /etc/ttys
  8. ставим порт /usr/ports/converters/convmw и с его помощью конвертируем имена файлов в UTF-8 (если было что-то названо по-русски в koi8-r):
    # convmw -f koi8-r -t utf-8 /file/path/* --notest -r