З моменту написання минулого статті по русифікації операційної системи FreeBSD пройшло досить багато часу, яке вносить у наше життя і в адміністрування деякі корективи. Про ці зміни і піде мова нижче ...
Після недавнього оновлення до FreeBSD 11- RELEASE виявив, що деякі налаштування по русифікації серверної ОС не працюють. В логах помилок при завантаженні з'явилися повідомлення про неможливість завантаження кодової сторінки і т.д.
Як виявилося, у FreeBSD починаючи з релізу 10.1, впровадили новий драйвер консолі - vt (newcons). До цього ж моменту використовувався драйвер консолі syscons. Про новий драйвер (який тепер впровадили в ядро GENERIC і зробили драйвером системної консолі за замовчуванням - звідси і помилки) ви можете почитати тут.
Приступимо до виконання локалізації (усі операції проводилися на FreeBSD 11.0- RELEASE -p2). Дамо команду для виявлення всіх доступних російських локалей в системі:
Будемо використовувати локаль ru_RU.UTF-8.
1. Русифікація локальної консолі (даний пункт не потрібно і не впливає на роботу віддалених text-mode емуляторів терміналів, таких як putty або openssh)
Всі доступні російські keymaps тепер знаходяться по шляху:
Вибирайте з цього для вказівки в /etc/rc.conf. виходячи з наступного:
- keymap = "ru" - перемикання на російську клавішею CAPS Lock;
- keymap = "ru.shift" - перемикання на російську клавішею CAPS Lock, але верхній ряд на клавіатурі by default буде цифровий;
- keymap = "ru.win" - перемикання на російську клавішами CTRL + SHIFT.
Фонти знаходяться по шляху:
- vgarom-8 × 8.fnt - матриця 8 × 8 з підтримкою російських символів;
- vgarom-8 × 14.fnt - матриця 8 × 14 з підтримкою російських символів;
- vgarom-8 × 16.fnt - матриця 8 × 16 з підтримкою російських символів (використовується за умовчанням);
- vgarom-16 × 32.fnt - матриця 16 × 32 з підтримкою російських символів (для wide моніторів).
Таким чином, в файлі /etc/rc.conf наші настройки повинні виглядати приблизно так:
Якщо ви використовуєте ядро GENERIC. для однозначного включення нового драйвера консолі внесіть в /boot/loader.conf наступне:
Тип емульованого терміналу для UTF -8 консолі тільки xterm. Так що / etc / ttys в частині що стосується повинен виглядати так:
2. Локалізація login shells і використання login class
При використанні в русифікації login класу необхідно привести настройки класу "russian" в файлі /etc/login.conf до наступного вигляду:
Після чого обов'язково перебудуйте хеш-базу командою:
Тепер залишилося перевести необхідних користувачів на цей новий клас командою:
Перевірити зроблене можна командою vipw:
Для настройки русифікації в shell (я використовую bash), в файл / etc / profile внесіть наступні рядки:
У домашньому каталозі користувачів створюємо файл .login_conf і заносимо туди наступні рядки:
Ось, в принципі, і все.
Перевіряємо висновок locale:
І який-небудь простенької команди:
Забавно, що на момент написання статті handbook ще не був Підправлено ...