В FreeBSD 11.2 достаточно вписать в rc.conf значение keymap="ru" и указать пользователю класс russian, после чего UTF-8 нормально работает и отображается в консоли vt.
Однако в FreeBSD до 11 версии нет полноценной поддержки UTF-8 в консоли. В принципе особой необходимости в поддержке UTF-8 в текстовой консоли нет, поэтому можно в консоли продолжать использовать KOI8-R, а при запуске иксов переключаться в UTF-8. Проблему работы с UTF-8 именами файлов в текстовой консоли вполне можно решать при помощи mc, который очень удобно работает с перекодировками.
В случае если версия FreeBSD ниже 11, имеется несколько методов использования UTF-8:
Метод 1 - в текстовой консоли KOI8-R , в графическом интерфейсе X - UTF-8
Данный метод работает просто. В файл ~/.xinitrc, перед запуском оконного менеджера следует добавить такие строки:
В этом случае после выполнения команды startx получится что локаль будет UTF-8:
И собственно вот и весь переход. После чего все что делается в графическом интерфейсе - уже работает в UTF-8.
Метод 2 - локаль UTF-8 как в текстовой консоли, так и в графическом интерфейсе X
Этот метод следует использовать только в том случае, если обязательно требуется UTF-8 в качестве постоянной локали как в графическом интерфейсе X, так и в текстовой консоли, в любом другом случае достаточно первого метода. В данном же варианте нам придется создать новый класс, в котором будет описана локаль ru_RU.UTF-8 для пользователя. Для этого нам следует отредактировать /etc/login.conf, найти там класс russian:
По аналогии добавить еще один класс уже с UTF-8.
Чтобы изменения классов были занесены в базу данных, следует выполнить команду:
Чтобы UTF-8 был доступен пользователю следует из под пользователя root выполнить команду:
И у пользователя будет установлена локаль UTF-8. В графическом интерфейсе X будет все нормально, но в текстовой консоли работать с русскими именами файлов и просто с русским текстом будет невозможно, т.е. русские знаки будут отображаться в текстовой консоли некорректно.