Материал из Xgu.ru
Перейти к: навигация, поиск
- Автор: Сидорук Анатолий Николаевич
|
Язык статьи отличается от языка, принятого на xgu.ru. На что обратить внимание:
|
Содержание
- 1 Русификация консоли
- 2 Пользовательская локаль
- 3 Русский man
- 4 Проверка
- 5 Использование готового архива man
[править] Русификация консоли
Русифицировал консоль в /etc.rc.conf там все указал стандартно
font8x16="cp866-8x16" scrnmap="koi8-r2cp866" keymap="ru.koi8-r"
ну по ходу и в
./etc/ttys cons25r
[править] Пользовательская локаль
сидел по root и сразу ему прописал пременные чтоб не было крякозяблов на его консоли командами:
setenv LANG ru_RU.KOI8-R pw usermod root -L russian
потом перезапустил консоль командной /etc/rc.d/syscons и вышел из системы и потом снова залогинился рутом прверил русификацию консоли командами date и ls
oblenergy# date вторник, 12 ноября 2013 г. 19:20:38 (EET) oblenergy# ls -Al total 7458 drwxr-xr-x 3 root wheel 512 16 авг 2010 .cache -rw-r--r-- 2 root wheel 798 19 июл 2010 .cshrc -rw-r--r-- 1 root wheel 7 30 авг 2010 .forward -
ну напоследок ввел несуществующую команду чтоб посмотреть, что мне ответят на великом и могучем русском:
oblenergy# jkjklj jkjklj: Команда не найдена. oblenergy#
Как видно, все русифицировалось
[править] Русский man
Дальше перешел к закачке уже существующих переведенных русских ман страниц и документации для FreeBSD, которые я раньше стягивал через cvsup и который уже не работает теперь
Для этого сначала думал установить с портов subversion
#whereis subversion /usr/ports/devel/subversion #
Но установил его из пакетов, чтоб быстрее было, потом им затянул то что мне надо для сборки доументации тянул не по «https» протоколу, а по «svn» c ключем «co»_ и указал скачать в *|/usr/doc (каталога не, было она сама его создала)|* командой
svn co snv://svn0.us-west.FreeBSD.org/doc/head /usr/doc
Каталог /usr/doc вышел довольно обьемный
а весь процесс занял минут 25
(нужно было бы наверно указать что нужно
стянуть только все русское так как ето указывалось прежде
в cvsup. Но не стал рабиратся место то на дисках счас хватет
не то что раньше)
root@gat:~ # ls -Al /usr/doc/ total 100 drwxr-xr-x 4 root wheel 512 12 ноя 18:24 .svn -rw-r--r-- 1 root wheel 1400 12 ноя 18:20 Makefile -rw-r--r-- 1 root wheel 387 12 ноя 18:16 README drwxr-xr-x 4 root wheel 512 12 ноя 18:20 bn_BD.UTF-8 drwxr-xr-x 5 root wheel 512 12 ноя 18:14 da_DK.ISO8859-1 drwxr-xr-x 7 root wheel 512 12 ноя 18:14 de_DE.ISO8859-1 drwxr-xr-x 7 root wheel 512 12 ноя 18:21 el_GR.ISO8859-7 drwxr-xr-x 9 root wheel 512 12 ноя 18:17 en_US.ISO8859-1 drwxr-xr-x 7 root wheel 512 12 ноя 18:21 es_ES.ISO8859-1 drwxr-xr-x 8 root wheel 512 12 ноя 18:21 fr_FR.ISO8859-1 drwxr-xr-x 8 root wheel 512 12 ноя 18:17 hu_HU.ISO8859-2 drwxr-xr-x 7 root wheel 512 12 ноя 18:21 it_IT.ISO8859-15 drwxr-xr-x 7 root wheel 512 12 ноя 18:15 ja_JP.eucJP drwxr-xr-x 5 root wheel 512 12 ноя 18:20 mn_MN.UTF-8 drwxr-xr-x 7 root wheel 512 12 ноя 18:14 nl_NL.ISO8859-1 drwxr-xr-x 3 root wheel 512 12 ноя 18:16 no_NO.ISO8859-1 drwxr-xr-x 5 root wheel 512 12 ноя 18:15 pl_PL.ISO8859-2 drwxr-xr-x 6 root wheel 512 12 ноя 18:15 pt_BR.ISO8859-1 drwxr-xr-x 3 root wheel 512 12 ноя 18:20 release drwxr-xr-x 8 root wheel 512 12 ноя 18:20 ru_RU.KOI8-R drwxr-xr-x 13 root wheel 512 12 ноя 18:20 share drwxr-xr-x 5 root wheel 512 12 ноя 18:14 sr_YU.ISO8859-2 drwxr-xr-x 5 root wheel 512 12 ноя 18:14 tr_TR.ISO8859-9 drwxr-xr-x 6 root wheel 512 12 ноя 18:18 zh_CN.GB2312 drwxr-xr-x 6 root wheel 512 12 ноя 18:20 zh_TW.Big5
Затем я зашел в /usr/doc/ru_RU.KOI8-R/man/
root@gat:/usr/doc/ru_RU.KOI8-R/man # cd /usr/doc/ru_RU.KOI8-R/man/
Проверил наличие Makefile и посмотрел его содержимое
root@gat:/usr/doc/ru_RU.KOI8-R/man # ls -A total 32 -rw-r--r-- 1 root wheel 1123 12 ноя 18:20 FRDP.man.dist -rw-r--r-- 1 root wheel 452 12 ноя 18:20 Makefile -rw-r--r-- 1 root wheel 275 12 ноя 18:20 Makefile.inc drwxr-xr-x 2 root wheel 5120 12 ноя 19:02 man1 drwxr-xr-x 2 root wheel 512 12 ноя 19:02 man3 drwxr-xr-x 2 root wheel 512 12 ноя 19:02 man5 drwxr-xr-x 2 root wheel 512 12 ноя 19:02 man8
Содержимое Makefile:
# $FreeBSD: head/ru_RU.KOI8-R/man/Makefile 38826 2012-05-17 19:12:14Z hrs $ # $FreeBSDru: frdp/doc/ru_RU.KOI8-R/man/Makefile,v 1.8 2007/11/21 15:56:48 ru Exp $ BINDIR= ${SHAREDIR}/man/ru_RU.KOI8-R SUBDIR= man1 man3 man5 man8 distrib-dirs: mkdir -p ${DESTDIR}${BINDIR} mtree -deU -f ${.CURDIR}/FRDP.man.dist -p ${DESTDIR}${BINDIR} makedb: makewhatis ${DESTDIR}${BINDIR} beforeinstall: distrib-dirs afterinstall: makedb .include <bsd.subdir.mk>
И выполнил сборку:
make make distrib-dirs make install make clean|
После сборки все русское лягло в /usr/share/man/ru_RU.KOI8-R/
Нада сказать прилично перевели уже начиная с 4 ветки
(man1 и man8 в размере выросли) Посмотрел размер командой du
du -nh /usr/share/man/ru_RU.KOI8-R 4,0k /usr/share/man/ru_RU.KOI8-R/cat1 4,0k /usr/share/man/ru_RU.KOI8-R/cat1aout 4,0k /usr/share/man/ru_RU.KOI8-R/cat2 4,0k /usr/share/man/ru_RU.KOI8-R/cat3 4,0k /usr/share/man/ru_RU.KOI8-R/cat4/amd64 4,0k /usr/share/man/ru_RU.KOI8-R/cat4/arm 4,0k /usr/share/man/ru_RU.KOI8-R/cat4/i386 4,0k /usr/share/man/ru_RU.KOI8-R/cat4/powerpc 4,0k /usr/share/man/ru_RU.KOI8-R/cat4/sparc64 24k /usr/share/man/ru_RU.KOI8-R/cat4 4,0k /usr/share/man/ru_RU.KOI8-R/cat5 4,0k /usr/share/man/ru_RU.KOI8-R/cat6 4,0k /usr/share/man/ru_RU.KOI8-R/cat7 4,0k /usr/share/man/ru_RU.KOI8-R/cat8/amd64 4,0k /usr/share/man/ru_RU.KOI8-R/cat8/i386 4,0k /usr/share/man/ru_RU.KOI8-R/cat8/powerpc 4,0k /usr/share/man/ru_RU.KOI8-R/cat8/sparc64 20k /usr/share/man/ru_RU.KOI8-R/cat8 4,0k /usr/share/man/ru_RU.KOI8-R/cat9 *564k /usr/share/man/ru_RU.KOI8-R/man1* 4,0k /usr/share/man/ru_RU.KOI8-R/man1aout 4,0k /usr/share/man/ru_RU.KOI8-R/man2 12k /usr/share/man/ru_RU.KOI8-R/man3 4,0k /usr/share/man/ru_RU.KOI8-R/man4/amd64 4,0k /usr/share/man/ru_RU.KOI8-R/man4/arm 4,0k /usr/share/man/ru_RU.KOI8-R/man4/i386 4,0k /usr/share/man/ru_RU.KOI8-R/man4/powerpc 4,0k /usr/share/man/ru_RU.KOI8-R/man4/sparc64 24k /usr/share/man/ru_RU.KOI8-R/man4 8,0k /usr/share/man/ru_RU.KOI8-R/man5 4,0k /usr/share/man/ru_RU.KOI8-R/man6 4,0k /usr/share/man/ru_RU.KOI8-R/man7 4,0k /usr/share/man/ru_RU.KOI8-R/man8/amd64 4,0k /usr/share/man/ru_RU.KOI8-R/man8/i386 4,0k /usr/share/man/ru_RU.KOI8-R/man8/powerpc 4,0k /usr/share/man/ru_RU.KOI8-R/man8/sparc64 *52k /usr/share/man/ru_RU.KOI8-R/man8* 4,0k /usr/share/man/ru_RU.KOI8-R/man9
Ну потом еще решил раскрасить маны в цвет чтобы было
похоже как в линуске :-)
Для этого поставил из портов
|cd /usr/ports/sysutils/most make install clean|
на запрос об опциях для libslang2 2.2.2 , я оставил всё по умолчанию:
[X] PCRE Include pcre support [X] PNG Include png support [X] ICONV Include iconv support [ ] ONIG Include Oniguruma support
После установки |/usr/ports/sysutils/most
|Посмотрел какую 9.2 версия ставит оболочку для рута (echo $shell)
root@gat:/usr/share/man/ru_RU.KOI8-R # echo $shell */bin/csh*
Видно что оболочка для рута *csh*
и затем внес изменения в файл
-rw-r—r— 2 root wheel 968 12 ноя 19:10*.cshrc*
в каталоге /root
было :
setenv EDITOR vi setenv PAGER more setenv BLOCKSIZE K
стало :
setenv EDITOR ee setenv PAGER most setenv BLOCKSIZE K
поменял там заодно редактор для рута на «ee» так как «vi» я не совсем
люблю.
Если бы шелл у рута был bash то нужно было бы делать чтото типа
|echo ?PAGER=most? >> ~/.profile echo ?export PAGER? >> ~/.profile|
в /root
Для проверки работы проверил появился ли русский ман
для команды df (в прежних версиях он точно был) и прочее (например man
uptime).
Как видите все работает. Еше раз спасибо за совет.
Точно так же думаю можно было бы собрать наверно и локуметацию в /usr/doc
но я ее установил пакетом через
pkg_add -r freebsd-doc-ru
C порта /usr/ports/misc/freebsd-doc-ru/ было бы долго
Я немного счас подрабатываю в институте на кафедре где я когда то
учился. И моим студентам больше нужны русские маны под рукой
в консоли (особенно в начале освоения FreeBSD) чем документация которую
они могут почитать в браузере на офицыальных ресурсах проекта FreeBSD
или ее скачать.
[править] Проверка
Я еще раз проверил командой locale
настройки консоли после русификации
чтобы убедится что все правильно
(Как то вчера об этом забыл написать)
root@gat:~ # locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL=
И посмотрел сколько русских ман-ов теперь есть
в версии 9.2 Оказалось что уже 939 файлов
лежит в /usr/share/man/ru_RU.KOI8-R/man1
Последний раз ето делал на 7-й ветке то было
меньше. где-то около 700.с лишним
Ну и тут удобно смотреть какой точно русский ман доступен
например в списке файл есть kill.1.gz и kilall.1.tz
они же ман для этих команд
если нет на команду ман на русском в /usr/share/man/ru_RU.KOI8-R/man1
то отроется ман на английском языке из /usr/share/man/en.ISO8859-15/man1
_Тоесть если локаль русская то ищутся маны русские если их __
__нет то тогда cтандартно английские __
_
Проверим
root@gat:~ # ls -Al /usr/share/man/ru_RU.KOI8-R/man1/ | grep kill
-r—r—r— 1 root wheel 2356 12 ноя 19:02 kill.1.gz
-r—r—r— 1 root wheel 2643 12 ноя 19:02 killall.1.gz
-r—r—r— 2 root wheel 3753 12 ноя 19:02 pkill.1.gz
-r—r—r— 1 root wheel 2356 12 ноя 19:02 kilall.1.gz
На команду ls например нет русского мана в /usr/share/man/ru_RU.KOI8-R/man1
root@gat:~ # ls -Al /usr/share/man/ru_RU.KOI8-R/man1/ | grep ls
-r—r—r— 86 root wheel 3049 12 ноя 19:02 else.1.gz
-r—r—r— 1 root wheel 1560 12 ноя 19:02 false.1.gz
-r—r—r— 86 root wheel 3049 12 ноя 19:02 ls-F.1.gz
-r—r—r— 1 root wheel 755 12 ноя 19:02 lsvfs.1.gz
Но зато он есть в /usr/share/man/en.ISO8859-15/man1/
root@gat:~ # ls -Al /usr/share/man/en.ISO8859-15/man1/ | grep ls
-r—r—r— 86 root wheel 2672 27 сен 07:02 else.1.gz
-r—r—r— 1 root wheel 1232 27 сен 07:02 false.1.gz
-r—r—r— 86 root wheel 2672 27 сен 07:02 ls-F.1.gz
-r—r—r— 1 root wheel 6860 27 сен 07:00 ls.1.gz
-r—r—r— 1 root wheel 584 27 сен 07:03 lsvfs.1.gz
система будет по команде «man ls» раз локаль русская искать сначала ман
файл ls.1.gz в /usr/share/man/ru_RU.KOI8-R/man1/ а раз его там нет то
только потом будет
искать английский стандартный вариант в /usr/share/man/en.ISO8859-15/man1/
и затем успешно его откроет. Тоесть важна правильная руссификация консоли
и локали
root@gat:~ # ls -Al /usr/share/man/ru_RU.KOI8-R/man1 | more total 936 -r--r--r-- 2 root wheel 3396 12 ноя 19:02 [.1.gz -r--r--r-- 86 root wheel 3049 12 ноя 19:02 alias.1.gz
—
и т д —
-r—r—r— 1 root wheel 1414 12 ноя 19:02 kenv.1.gz
-r—r—r— 1 root wheel 680 12 ноя 19:02 keylogin.1.gz
-r—r—r— 1 root wheel 970 12 ноя 19:02 keylogout.1.gz
-r—r—r— 1 root wheel 2356 12 ноя 19:02 kill.1.gz
-r—r—r— 1 root wheel 2643 12 ноя 19:02 killall.1.gz
-r—r—r— 1 root wheel 1086 12 ноя 19:02 ldd.1.gz
-r—r—r— 86 root wheel 3049 12 ноя 19:02 limit.1.gz
-r—r—r— 2 root wheel 3039 12 ноя 19:02 link.1.gz
-r—r—r— 2 root wheel 3039 12 ноя 19:02 ln.1.gz
— и т д—
—
-r—r—r— 2 root wheel 3918 12 ноя 19:02 yppasswd.1.gz
-r—r—r— 1 root wheel 1814 12 ноя 19:02 ypwhich.1.gz
root@gat:~ #
</pre>
Если выложите то дадите ссылку. Сам почитаю. И людям посоветую
читаем русский ман
командой
root@gat:~ # man man
И как видим там про поиск манов написано на нашем родном
и могучем русском языке о чем я написал ранее
система будет по команде «man ls» раз локаль русская искать сначала ман
файл ls.1.gz в /usr/share/man/ru_RU.KOI8-R/man1/ а раз его там нет то
только потом будет
искать английский стандартный вариант в /usr/share/man/en.ISO8859-15/man1/
и затем успешно его откроет. Тоесть важна правильная руссификация консоли
и локали.
[править] Использование готового архива man
В продолжение темы решил выслать вам во вложении к письму
весь свой архив с русскими манами который я «смейчил».
Путь к архиву:
- ru_RU.KOI8-R.tgz
Может тоже выложите у себя пусть народ пользуется
Может кто то не захочет их «мейчить» так как я писал
ну тогда пусть возьмет готовые, настроит себе «русскую локаль»
так, как я опишу ниже и также вам писал раньше. Ну и тогда сразу он
сможет пользоваться русскими ман-страницами.
Архив нужно положить в /usr/share/man/ потом «разтарить» в этом же
каталоге
tar -xf ru_RU.KOI8-R.tgz
потом проверить командой «locale» правильно ли настроена русская
локализация (она же в народе называется «локаль») системы
для отображения русских ман страниц, их поиска и кодировки
Для этого нужно запуститить команду «locale»
Вывод должен быть таким:
root@voe.lutsk.ua # locale *LANG*=ru_RU.KOI8-R *LC_CTYPE*="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" *LC_ALL=*
Для пояснения укажем следующее:
- LC_ALL, LC_CTYPE, LANG* —— это переменные которые задают
предпочтительный язык для справочных страниц при их вызове
и использовании
Если это так то дальше сразу можно проверить открываются ли русские ман
страницы
которые были разархивированы. Выполнив стандартную команду работы с ман
страницами «man man»
Посмотреть насколько корректно они отображаются.
root@gat # man man
Если все же вместо читабельного русского текста видно «крякозябры» то
нужно правильно
настроить консоль на русскую локализацию системы сделав по порядку
следующие действия:
1 . в файле /etc.rc.conf правильно прописать шрифты и кодировки
Чтобы было так:
font8x16=»cp866-8×16″
scrnmap="koi8-r2cp866" keymap="ru.koi8-r"
2. в файле /etc/ttys прописать что о консоль будет у нас будет с
русской локализацией и на 25 строк
при указанном в шрифте в файле /etc/rc.conf ---
(font8x16=»cp866-8×16)
Чтобы было так:
ttyv0 "/usr/libexec/getty Pc" cons25r on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25r on secure ttyv2 "/usr/libexec/getty Pc" cons25r on secure ttyv3 "/usr/libexec/getty Pc" cons25r on secure ttyv4 "/usr/libexec/getty Pc" cons25r on secure ttyv5 "/usr/libexec/getty Pc" cons25r on secure ttyv6 "/usr/libexec/getty Pc" cons25r on secure
3. выполнить следующие команды для указания переменных среды LANG
setenv LANG ru_RU.KOI8-R
pw usermod root -L russian
4. перезапустить консоль командой:
/etc/rc.s/syscons
5. выйти из системы и потом снова в ней залогинится.
6. Проверить установки русской локализации которые задавались
Для этого выполнить команду «locale».
Если все сделано правильно то ответ на эту команду обязательно для корректной
работы русской локализации системы должно быть следующее:
LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL=
Ну и потом проверить открываются ли русские ман страницы и насколько коректно
они обображаются. Для этого можно выполнить стандартную команду работы с ман
страницами вызвав команду «man man».
Должно быть «все по-русски» ну кроме цвета. Цвет нужно настраивать
отдельно.
Все описанное выше будет точно работать (ну кроме цвета конечно) Я это сегодня
проверил на виртуальной тестовой машине на VirtualBOX Поставил на него
специально старенькую FreeBSD 6.4 так как не у все же пользователей FreeBSD
стоит на данный момент времени версия 9 или 9.2. Потом на закинул на тестовою
манину 6.4 по ftp свой архив RU.KOI8-R.tgz который сделал на версии 9.2
распаковал его там и все заработало Так что те у кого версии ОС ниже 9.2 могут
тоже пользоватся моим архивом.
1. Локализация консоли
необходим только в случае работы за локальной консолью.
Данный пункт локализации не требуется и не влияет на работу удаленных text-mode эмуляторов терминалов, таких как putty или openssh.
Итак, начиная с релиза FreeBSD 10.1 в системе для Russian UTF-8, в консольном драйвере vt (4) имеются:
— клавиатурные мапперы/переключатели:
# ls -la /usr/share/vt/keymaps/ | grep ru
-r--r--r-- 1 root wheel 16228 Nov 12 06:04 ru.kbd
-r--r--r-- 1 root wheel 16234 Nov 12 06:04 ru.shift.kbd
-r--r--r-- 1 root wheel 16232 Nov 12 06:04 ru.win.kbd
— фонты:
# ls -la /usr/share/vt/fonts/
-r--r--r-- 1 root wheel 8452 Nov 12 06:04 gallant.fnt
-r--r--r-- 1 root wheel 8742 Nov 12 06:04 vgarom-8x14.fnt
-r--r--r-- 1 root wheel 9864 Nov 12 06:04 vgarom-8x16.fnt
-r--r--r-- 1 root wheel 5384 Nov 12 06:04 vgarom-8x8.fnt
-r--r--r-- 1 root wheel 5400 Nov 12 06:04 vgarom-thin-8x16.fnt
-r--r--r-- 1 root wheel 2704 Nov 12 06:04 vgarom-thin-8x8.fnt
Шрифт gallant.fnt – красивый но не поддерживает кириллические символы.
Консольный драйвер vt (4) по умолчанию использует для работы режим VGA разрешением 640×480×16 (vt_vga).
Для использования UTF-8, необходимо произвести следующие действия:
— добавить в /boot/loader.conf
строку:
kern.vty=vt
означает использование консольного драйвера vt вместо syscons
Согласно информации на https://wiki.freebsd.org/Newcons VT не поддерживает экранные заставки и выключение монитора в частности.
Поэтому все вопросы, касающиеся этой темы, можно считать решенными. Ответ на вопрос, как сделать включение заставки в VT, ответ – НИКАК
Если потребуется собрать собственное ядро, только с новым драйвером консоли, необходимо в ядро добавить:
#-- закомментарить *vga*, *sc* и оставить только *vt*
#device vga # VGA video card driver
#device sc
device vt
device vt_vga
ps. ядро GENERIC 10.1 уже собрано с поддержкой vt (4) (man vt
).
— добавить в /etc/rc.conf
#-- Russians keymap, uncomment that you preffer
# CAPS switch to russian
keymap="ru"
# SHIFT switch to russian, top keyboard raw as number
#keymap="ru.shift"
# CTRL+SHIFT switch to russian
#keymap="ru.win"
#-- font load
font8x16="vgarom-8x16"
Шрифт vgarom используется системой по умолчанию, можно не задавать, указан как пример задания фонта, когда появится выбор. верхнее означает что на данный момент можно использовать, как это было и ранее, три варианта клавиатурного маппинга, любой который Вам удобнее, раскомментарьте один, который Вам предпочтительней (выше это keymap=«ru»):
— keymap="ru"
– переключение на русский клавишей CAPS Lock
— keymap="ru.shift"
– переключение на русский клавишей CAPS Lock, но верхний ряд на клавиатуре по умолчанию будет цифровой
— keymap="ru.win"
– переключение на русский клавишами CTRL+SHIFT
выбор фонтов пока отсутствует, по умолчанию в наличии пока лишь следующие:
gallant.fnt – красивый, но не поддерживает русский
vgarom-8×8.fnt – матрица 8×8 с поддержкой русских символов
vgarom-8×14.fnt – матрица 8×14 с поддержкой русских символов
vgarom-8×16.fnt – матрица 8×16 с поддержкой русских символов
vgarom-thin-8×8.fnt
vgarom-thin-8×16.fnt
Консольные фонты Terminus, можно скачать:
фонт 8×16: ter-u16.fnt
чуть другой фонт 8×16: ter-u8x16.fnt
фонт 16×32: ter-u32.fnt
загрузить вручную, например:
# vidcontrol -f ter-u32.fnt
или положить в /usr/share/vt/fonts/
и настроить /etc/rc.conf
, например:
font8x16="ter-u8x16.fnt"
Шрифты 16×32 нужны(удобны) для широкоформатных мониторов, для загрузки фонта ter-u32.fnt (16×32), нужно изменить скрипт /etc/rc.d/syscons или использовать /etc/rc.local и /etc/rc.conf.local для загрузки 16×32 фонтов.
Тип эмулируемого терминала для UTF-8 консоли: xterm
Начиная с 9.0, для syscons (4) драйвера и очень важно – для vt (4) драйвера, в /etc/ttys
необходимо использовать тип эмулируемого терминала xterm:
ttyv0 "/usr/libexec/getty Pc" xterm on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" xterm on secure
ttyv2 "/usr/libexec/getty Pc" xterm on secure
ttyv3 "/usr/libexec/getty Pc" xterm on secure
ttyv4 "/usr/libexec/getty Pc" xterm on secure
ttyv5 "/usr/libexec/getty Pc" xterm on secure
ttyv6 "/usr/libexec/getty Pc" xterm on secure
ttyv7 "/usr/libexec/getty Pc" xterm on secure
Ранее, syscons (4), для KOI8-R тип эмулируемого терминала cons25r, для KOI8-U – cons25u. Для CP437 (VGA default) – cons25, US-ASCII – cons25w.
При использовании KMS драйверов: i915kms
или radeonkms
в /boot/loader.conf
добавить:
kern.vt.fb.default_mode="1024x768"
Для использования vt (4) драйвера в text-mode, /boot/loader.conf
:
hw.vga.textmode=1
Если ядро собрано с поддержкой обоих драйверов: *sc*(4) и *vt*(4), старый драйвер можно вернуть, задав в /boot/loader.conf
:
kern.vty=sc
2. Локализация login shells и использование login class.
Описан в FreeBSD HandBook и выполняется как обычно, локализация login shell’ов и может быть использована совместно с настройкой login class через описание его в /etc/login.conf
Локализация представляет из себя следующую конструкцию:
LanguageCode_CountryCode.Encoding
где: LanguageCode_Country Code Description можно выбрать одно из значений:
en_US English, United States ru_RU Russian, Russia
команда покажет все присутствующие в системе locale:
# locale -a | more
Работа с charater set (charset) для языков, например:
– ISO8859-1, ISO8859-15, KOI8-R, CP1251, CP437 и тд и тп описана в multibyte (3), а список charsets для языков можно найти в IANA Registry
FreeBSD использует Xorg-compatible locale encodings.
1) использование login класса
— можно отредактировать /etc/login.conf
и изменить настройки класса «russian» или создать отдельный класс russianu
a) изменяем класс russian в /etc/login.conf
russian|Russian Users Accounts:
:charset=KOI8-R:
:lang=ru_RU.KOI8-R:
:tc=default:
на
russian|Russian Users Accounts:
:charset=UTF-8:
:lang=ru_RU.UTF-8:
:tc=default:
или
b) создаем в дополнение к классу «russian», новый класс «russianu»
russianu|Russian Users Accounts UTF-8:
:charset=UTF-8:
:lang=ru_RU.UTF-8:
:tc=default:
По завершении перестраиваем хеш-базу:
# cap_mkdb /etc/login.conf
Все, осталось перевести пользователей которым нужен UTF-8 на новый класс используя на выбор: passwd (1), pw (8), chpass (1), vipw (8)
Пример:
# pw user mod alex -L russianu
2) настройка locale в shell/bash/csh/tcsh
для настройки локализации в шелах, необходимо соответствующим образом настроить тот или иной shell, см. соответствующий man
Настройка локализации в login shell’ах сводится как минимум к заданию переменных:
LANG
MM_CHARSET
в пользовательских файлах: ~/.login_conf
и/или пользовательских стартап
shell файлах: ~/.profile, ~/.bashrc, или ~/.cshrc.
sh/bash:
export LANG=ru_RU.UTF-8
export MM_CHARSET=UTF-8
csh/tsch:
setenv LANG ru_RU.UTF-8
setenv MM_CHARSET UTF-8
Или в системных стартап shell файлах: /etc/profile
и /etc/csh.login
Для bash необходимо создать в домашней директории файл
.inputrc
set convert-meta Off
set input-meta On
set output-meta On
Перекодировка имен файлов и директорий.
— необходимо установить и использовать утилиту convmv, из пакетов или портов
# pkg install converters/convmv
# make -C /usr/ports/converters/convmv install clean
# man convmv
пример использования:
# convmv -f koi8-r -t utf-8 *
# convmv -f koi8-r -t utf-8 --notest *
# convmv -r -f koi8-r -t utf-8 --notest *
При использовании утилиты convmv, возможны проблемы с перекодированием отдельных символов.
Перекодировка содержимого файлов.
Можно воспользоваться утилитами iconv и recode:
— iconv (интегрирована в FreeBSD 10.x)
— /usr/ports/converters/libiconv
в более ранних версиях
примеры использования:
iconv:
# man iconv
# iconv -c -f koi8-r -t utf-8 inputfile
# iconv -c -f koi8-r -t utf-8 inputfile > outputfile
# iconv -c -f koi8-r -t utf-8 < inputfile > outputfile
recode:
# make -C /usr/ports/converters/recode install clean
# man recode
# recode koi8-r..utf-8 inputfile
# recode koi8-r..utf-8 < inputfile > outputfile
При использовании утилиты iconv, возможны проблемы с перекодированием отдельных символов, утилита recode, работает более адекватно.
Удаленный терминальный доступ.
Для удаленного терминального доступа из системы с UTF-8 локализацией к системам с locale отличной от UTF-8, можно воспользоваться утилитой luit:
пример использования luit (man luit
):
# luit -encoding "KOI8-R" slogin username@host.domain
в качестве encoding использовать charset соответствующие удаленному locale, в данном примере KOI8-R
Удаленный терминальный доступ из Windows в Unix-like OS с locale UTF-8:
— использование утилиты putty, настройка:
Putty -> Window -> Translation -> Remote character set: UTF-8
3. Локализация Xorg
осталась неизменной, так как основная масса DE, WM и X-Apps в настоящее время ориентирована на работу с UTF-8, больше не нужно использовать shell-wrapper’ы или переопределять переменную LANG для их запуска.
фонты в Xorg:
— при использовании locale == ru_RU.UTF-8
, необходимо использовать фонты с поддержкой iso10646
— misc содержат исправленные фонты iso10646, но по умолчанию не прописаны в fonts.aliases
, если есть привычка использования алиасов, придется прописать их самостоятельно.
Например, как советует Markus Kuhn Unicode fonts and tools for X11.
— фонты misc с iso10646 и остальные фонты с iso10646, необходимо указывать первыми в xorg.conf
например так:
FontPath "/usr/local/lib/X11/fonts/misc/"
FontPath "/usr/local/lib/X11/fonts/100dpi/"
FontPath "/usr/local/lib/X11/fonts/75dpi/"
FontPath "/usr/local/lib/X11/fonts/terminus-font/"
FontPath "/usr/local/lib/X11/fonts/bitstream-vera/"
FontPath "/usr/local/lib/X11/fonts/dejavu/"
FontPath "/usr/local/lib/X11/fonts/freefont/"
FontPath "/usr/local/lib/X11/fonts/unifont/"
FontPath "/usr/local/lib/X11/fonts/local/"
FontPath "/usr/local/lib/X11/fonts/webfonts/"
FontPath "/usr/local/lib/X11/fonts/urw/"
FontPath "/usr/local/lib/X11/fonts/cyrillic/"
FontPath "/usr/local/lib/X11/fonts/artwiz-ru/"
FontPath "/usr/local/lib/X11/fonts/freefont-ttf/"
FontPath "/usr/local/lib/X11/fonts/urwfonts-ttf/"
FontPath "/usr/local/lib/X11/fonts/TTF/"
FontPath "/usr/local/lib/X11/fonts/OTF/"
FontPath "/usr/local/lib/X11/fonts/Type1/"
Вы можете установить собственные предпочтения.
посмотреть установленные фонты:
# fc-list
# ls -laR /usr/local/etc/fonts/
— посмотреть фонты iso10646
# xlsfonts | grep iso10646
# xlsfonts | grep "-misc-fixed-medium" | grep iso10646
# xlsfonts | grep "-misc-fixed-medium-r-semicondensed" | grep 10646
графические эмуляторы терминала с encoding, примеры с KOI8-R:
— mate-terminal, gnome-terminal:
# sh -c "export LANG=ru_RU.KOI8-R CHARSET=KOI8-R; gnome-terminal --geometry 80x35 --disable-factory"
# sh -c "export LANG=ru_RU.KOI8-R CHARSET=KOI8-R; mate-terminal --geometry 80x35 --disable-factory"
# sh -c "export LANG=ru_RU.KOI8-R CHARSET=KOI8-R; xfce4-terminal"
переменные среды LANG,CHARSET в соответствии с использованием locale, например на удаленной стороне, или для локальной работы с файлами в KOI8-R – xterm с encoding
# xterm -en [koi8-r|cp1251|...]
4. Локализация Applications (приложений).
Зависит исключительно от написания приложения в соответствии со стандартом i18n и работой с базами termcap в случае xBSD или terminfo в случае Linux или SYSV-based для эмулируемого терминала TERM.
К сожалению, консольных фонтов пока, очень мало, не говоря уже о хороших и красивых фонтах.
Некоторые фонты и клавиатурный маппинг от Александра Рыбалко, можно найти:
https://people.freebsd.org/~ray/newcons/fonts/
https://people.freebsd.org/~ray/newcons/newcons_kbd/
https://people.freebsd.org/~emaste/newcons/
Пример конвертации bdf фонта в fnt используя vtfontcvt и его загрузку используя vidcontrol, см: https://wiki.freebsd.org/Newcons
Минимум позволяющий работать в консоли с UTF-8:
— отображение – /usr/bin/less
(использовать в качестве PAGER)
— редактирование – /usr/bin/vi
, редактор Vi в 10.1 собран с поддержкой wide-char
— псевдографика в mc выглядит красиво, встроенный редактор поддерживает utf-8
— любимый многими, простой редактор /usr/bin/ee
не поддерживает utf-8, отображает криво, но позволяет набирать текст «вслепую».
— настройку chrasets и работу samba3x, samba4x – не проверял
Все вышенаписанное проверено на реальном железе с FreeBSD 10.1 и в гостевой FreeBSD 10.1 под VirtualBox, включая Xorg и несколько DE и WM.
Практика:
— используем syscons (4) для работы в консоли с KOI8-R, CP1251, CP866
— используем vt (4) для работы в консоли только с UTF-8
Вывод: наконец можно постепенно избавиться от разнообразия: CP866,CP1251,KOI8-R и тд и тп и использовать одну универсальную кодировку UTF-8.
источник: http://unix1.jinr.ru/~lavr/vt/vtcons.html
Содержание
- Русификация FreeBSD -2 Дневник Максим Боголепов
- Русификация FreeBSD -2
- FreeBSD. Настройка Locale. CP1251, KOI8-R, UTF-8
- Поддержка LOCALE
- UTF-8 SSH Free BSD — настройка кодировки и сервера
- Почему лучше изменить кодировку KOI-8R на UTF 8 во FreeBSD
- Как во FreeBSD изменить кодировку на UTF-8
- Как настроить SSH подключение во Free BSD
- Как сделать веб-интерфейс во FreeBSD
- UTF-8 в консоли и терминале FreeBSD 10.2
- Настройка локализации Windows кодировки в FreeBSD
- Русификация FreeBSD
- Материал из Xgu.ru
- Содержание
- [править] Русификация консоли
- [править] Пользовательская локаль
- [править] Русский man
- [править] Проверка
- [править] Использование готового архива man
Русификация FreeBSD -2 Дневник Максим Боголепов
Русификация FreeBSD -2
С момента написания прошлой статьи по русификации операционной системы FreeBSD прошло довольно много времени, которое вносит в нашу жизнь и в администрирование некоторые коррективы. Об этих изменениях и пойдёт речь ниже… |
После недавнего обновления до FreeBSD 11- RELEASE обнаружил, что некоторые настройки по русификации серверной ОС не работают. В логах ошибок при загрузке появились сообщения о невозможности загрузки кодовой страницы и т.д.
Как оказалось, во FreeBSD начиная с релиза 10.1, внедрили новый драйвер консоли – vt (newcons). До этого же момента использовался драйвер консоли syscons. Про новый драйвер (который теперь внедрили в ядро GENERIC и сделали драйвером системной консоли по умолчанию – отсюда и ошибки) вы можете почитать тут.
Драйвер vt(4) может работать как в текстовом, так и в графическом режиме VGA , благодаря последнему и реализована поддержка UTF -8 в консоли (чем мы в последствии и воспользуемся). Также реализована интеграция с KMS видео драйверами для переключения между Xorg и виртуальными терминалами.
Приступим к выполнению локализации (все операции производились на 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 следующее:
Или же при сборке своего собственного ядра закомментируйте строки с vga и sc, оставив относящееся к vt без изменения:
Тип эмулируемого терминала для UTF -8 консоли только xterm! Так что /etc/ttys в части касающейся должен выглядеть так:
2. Локализация login shells и использование login class
При использовании в русификации login класса необходимо привести настройки класса “russian” в файле /etc/login.conf к следующему виду:
После чего обязательно перестройте хеш-базу командой:
Теперь осталось перевести необходимых пользователей на этот новый класс командой:
Проверить сделанное можно командой vipw :
Для настройки русификации в shell (я использую bash), в файл /etc/profile внесите следующие строки:
В домашнем каталоге пользователей создаём файл .login_conf и заносим туда следующие строки:
Вот, в принципе, и всё.
Проверяем вывод locale :
И какой-нибудь простенькой команды:
Забавно, что на момент написания статьи handbook ещё не был поправлен…
Rating: 4.7/5(7 votes cast)
Источник
FreeBSD. Настройка Locale. CP1251, KOI8-R, UTF-8
Поддержка LOCALE
Рассмотрим на примере KOI8-R. При необходимости коррективы вносим нужной нам кодировки (UTF-8, CP1251)
Для поддержки LOCALE следует установить 2 переменные:
В файле /etc/login.conf есть специальный класс:
russian login class
С помощью vipw следует каждому пользователю вашей системы изменить 5-е поле файла /etc/passwd если вы не хотите использовать этот метод — можно сделать следущее:
В файле /etc/profile следует написать: а в /etc/csh.login напишем :
UTF-8 SSH Free BSD — настройка кодировки и сервера
Потребность создать виртуальный сервер с удаленным доступом может появиться у любого человека. Реализация этой затеи может проходить на всех известных ОС, включая разные версии Windows, Linux, Debian и другие.
Но чаще всего виртуальный сервер создают в ОС FreeBSD, так как это операционная система как раз подходит для этих решений.
Но есть у нее некоторые недостатки, которые лучше решить еще в процессе настройки, а именно нетипичная для других ОС кодировка KOI-8R, а также возможные проблемы с безопасностью и работой веб-интерфейса.
Почему лучше изменить кодировку KOI-8R на UTF 8 во FreeBSD
Настройка иной кодировки — это не просто прихоть от нечего делать, а хорошее решение, ведь многие, кто создает сервер по SSH протоколу работают с UTF-8. Это уже практически мировой стандарт, который нельзя игнорировать. Придет момент, когда ваш SSH сервер станет неактуальным из-за того, что у вас стоит не UTF-8. Кроме того, если вам нужно удаленное управление компьютером для работы с хостом сайта, то KOI-8R может вызвать проблемы и сбои, в которых вы навряд ли сразу же разберетесь. UTF-8 сразу работает бесперебойно и надежно, так что вам придется подредактировать ваш Free BSD «из коробки» и изменить в ОС кодировку.
Как во FreeBSD изменить кодировку на UTF-8
Для начала вам нужно найти файл /etc/login.conf. В нем вы найдете строку russian (её может и не быть), в которой вам необходимо напротив charset и после lang прописать нужную нам кодировку UTF-8.
После этого еще в консоли нужно обязательно запустить команды:
Указанных действий достаточно, что бы вы могли работать по SSH во FreeBSD с нормальной, человеческой кодировкой UTF-8.
Как настроить SSH подключение во Free BSD
Очень важна правильная настройка сервера FreeBSD по SSH протоколу. Если у вас будет стоять стандартная настройка конфигураций, ваш сервер будет не в безопасности. И хоть SSH считается наиболее защищенным протоколом для создания удаленного доступа, в нем есть слабые места, и они находятся в стандартных конфигурациях файла sshd_config.
Именно его вам и нужно будет отредактировать. В данной статье разберем основные опции, которые вам стоит изменить.
Настройка файла sshd_config начинается с запрета входа для root пользователя. Для этого вам нужно изменить опцию PermitRootLogin, которая дословно переводится как «Разрешение для root-пользователя логиниться». Если у вас стоит опция forced-commands-only, without-password или просто написано yes, то это плохой знак — значит root-пользователь может зайти к вам на сервер, зарегистрировавшись по открытому ключу или даже без пароля. Вам же лучше прописать параметр no — тогда root-пользователь никак не сможет попасть на сервер. А если root не зайдет на сервер, то ни один юзер не сможет внести фатальные изменения на компьютер. Так что будьте с root осторожны!
Следующим шагом вам необходимо указать иное значение порта, который прописан в файле конфигураций. Если у вас будет оставаться стандартный Port 22, то хакерам для входа не нужно будет прописывать дополнительно значение порта, а значит они легко смогут подобраться к форме авторизации и попытаются взломать сервер. Если же вы укажите другое значение порта, то им нужно будет указывать -p Port №, чего они не смогут сделать, если не будут знать новый порт. Чтобы изменить порт, достаточно вместо 22 написать другую цифру.
Очень часто в стандартных настройках в качестве способа аутентификации указана парольная авторизация. Это в корне не верный способ аутентификации, ведь пароли могут перехватить, как это делали с предыдущим протоколом Telnet. Потому-то и была выпущена вторая версия протокола SSH, которая поддерживает аутентификацию по публичному ключу. Вам необходимо возле опции PasswordAuthentication прописать no, а там, где PubkeyAuthentication прописать yes. Тогда пользователю нужно будет сгенерировать у себя на устройстве открытый ключ и перенести его к вам на сервер.
Как сделать веб-интерфейс во FreeBSD
Если вы хотите просматривать данные сервера в виде страницы web формата, то вам понадобится, например, Shellinabox. Такое решение вам понадобится, если нет Putty-клиента и вы привыкли к web браузерам. Выглядит Shellinabox, конечно, не так, как стандартный web браузер, поскольку содержимое сервера совсем не похоже на код сайта. Но тем не менее, с Shellinabox удобнее будет работать на хосте.
Иногда во время работы с Shellinabox возникает проблема — интерфейс закрывается и появляется надпись: «Web session closed». И эта надпись может появляться каждый раз после попытки авторизоваться. Что бы web интерфейс Shellinabox заработал, нужно перенастроить файл /etc/hosts. Надпись «Web session closed» пропадет и Shellinabox заработает, когда вы пропишите имя вашего хоста в опциях.
UTF-8 в консоли и терминале FreeBSD 10.2
До сегодняшнего дня забивал на русификацию консоли UTF-8, во времена старых версий FreeBSD — это было непросто сделать, да и юникод в шелле использовать стал совсем недавно. Но, как оказалось — это совсем несложно, вдобавок решил дополнить заметку локализацией шелла.
Добавляем в файл /boot/loader.conf
Добавляем в файл /etc/rc.conf способ переключения раскладки в консоли клавишами CTRL+SHIFT
Проверяем тип консоли в файле /etc/ttys, должно быть xterm
Редактируем класс «russian» в файле /etc/login.conf, должно получиться следующее:
Обновляем /etc/login.conf.db командой:
Локализуем shell, я использую tcsh, для него редактируем файл
/.cshrc, добавив в него две следующие строки:
Пользователю необходимо прописать класс russian, командой:
Где, user_name — имя пользователя.
При создании нового пользователя можно сразу прописать нужный нам класс командой:
Вот и все, перезайдите в shell, для локализации терминала, консоль русифицируется после повторного входа в систему, либо после перезагрузки системы.
Настройка локализации Windows кодировки в FreeBSD
Вносим следующие изменения/добавляем в файл /etc/login.conf:
или можно оставить оригинал для KOI-8R поддержки и добавить класс win:
Источник
Русификация FreeBSD
Материал из Xgu.ru
Автор: Сидорук Анатолий Николаевич
Язык статьи отличается от языка, принятого на xgu.ru.
Вы можете улучшить статью, приведя текст статьи к принятым у нас нормам.
На что обратить внимание:
- орфография
- стиль
- вики-разметка
Содержание
[править] Русификация консоли
Русифицировал консоль в /etc.rc.conf там все указал стандартно
[править] Пользовательская локаль
сидел по root и сразу ему прописал пременные чтоб не было крякозяблов на его консоли командами:
потом перезапустил консоль командной /etc/rc.d/syscons и вышел из системы и потом снова залогинился рутом прверил русификацию консоли командами date и ls
ну напоследок ввел несуществующую команду чтоб посмотреть, что мне ответят на великом и могучем русском:
Как видно, все русифицировалось
[править] Русский man
Дальше перешел к закачке уже существующих переведенных русских ман страниц и документации для FreeBSD, которые я раньше стягивал через cvsup и который уже не работает теперь
Для этого сначала думал установить с портов subversion
Но установил его из пакетов, чтоб быстрее было, потом им затянул то что мне надо для сборки доументации тянул не по «https» протоколу, а по «svn» c ключем «co»_ и указал скачать в *|/usr/doc (каталога не, было она сама его создала)|* командой
Каталог /usr/doc вышел довольно обьемный а весь процесс занял минут 25 (нужно было бы наверно указать что нужно стянуть только все русское так как ето указывалось прежде в cvsup. Но не стал рабиратся место то на дисках счас хватет не то что раньше)
Затем я зашел в /usr/doc/ru_RU.KOI8-R/man/
Проверил наличие Makefile и посмотрел его содержимое
И выполнил сборку:
После сборки все русское лягло в /usr/share/man/ru_RU.KOI8-R/ Нада сказать прилично перевели уже начиная с 4 ветки (man1 и man8 в размере выросли) Посмотрел размер командой du
Ну потом еще решил раскрасить маны в цвет чтобы было
Для этого поставил из портов
на запрос об опциях для libslang2 2.2.2 , я оставил всё по умолчанию:
После установки |/usr/ports/sysutils/most |Посмотрел какую 9.2 версия ставит оболочку для рута (echo $shell)
Видно что оболочка для рута *csh*
и затем внес изменения в файл
-rw-r—r— 2 root wheel 968 12 ноя 19:10*.cshrc*
в каталоге /root
поменял там заодно редактор для рута на «ee» так как «vi» я не совсем люблю.
Если бы шелл у рута был bash то нужно было бы делать чтото типа
Для проверки работы проверил появился ли русский ман для команды df (в прежних версиях он точно был) и прочее (например man uptime).
Как видите все работает. Еше раз спасибо за совет. Точно так же думаю можно было бы собрать наверно и локуметацию в /usr/doc но я ее установил пакетом через
pkg_add -r freebsd-doc-ru
C порта /usr/ports/misc/freebsd-doc-ru/ было бы долго
Я немного счас подрабатываю в институте на кафедре где я когда то учился. И моим студентам больше нужны русские маны под рукой в консоли (особенно в начале освоения FreeBSD) чем документация которую они могут почитать в браузере на офицыальных ресурсах проекта FreeBSD или ее скачать.
[править] Проверка
Я еще раз проверил командой locale настройки консоли после русификации чтобы убедится что все правильно (Как то вчера об этом забыл написать)
И посмотрел сколько русских ман-ов теперь есть в версии 9.2 Оказалось что уже 939 файлов лежит в /usr/share/man/ru_RU.KOI8-R/man1
Последний раз ето делал на 7-й ветке то было меньше. где-то около 700.с лишним Ну и тут удобно смотреть какой точно русский ман доступен например в списке файл есть kill.1.gz и kilall.1.tz они же ман для этих команд если нет на команду ман на русском в /usr/share/man/ru_RU.KOI8-R/man1 то отроется ман на английском языке из /usr/share/man/en.ISO8859-15/man1
_Тоесть если локаль русская то ищутся маны русские если их __ __нет то тогда cтандартно английские __ _ Проверим
# ls -Al /usr/share/man/ru_RU.KOI8-R/man1/ | grep kill -r—r—r— 1 root wheel 2356 12 ноя 19:02 kill.1.gz -r—r—r— 1 root wheel 2643 12 ноя 19:02 killall.1.gz -r—r—r— 2 root wheel 3753 12 ноя 19:02 pkill.1.gz -r—r—r— 1 root wheel 2356 12 ноя 19:02 kilall.1.gz
На команду ls например нет русского мана в /usr/share/man/ru_RU.KOI8-R/man1
# ls -Al /usr/share/man/ru_RU.KOI8-R/man1/ | grep ls -r—r—r— 86 root wheel 3049 12 ноя 19:02 else.1.gz -r—r—r— 1 root wheel 1560 12 ноя 19:02 false.1.gz -r—r—r— 86 root wheel 3049 12 ноя 19:02 ls-F.1.gz -r—r—r— 1 root wheel 755 12 ноя 19:02 lsvfs.1.gz
Но зато он есть в /usr/share/man/en.ISO8859-15/man1/
# ls -Al /usr/share/man/en.ISO8859-15/man1/ | grep ls -r—r—r— 86 root wheel 2672 27 сен 07:02 else.1.gz -r—r—r— 1 root wheel 1232 27 сен 07:02 false.1.gz -r—r—r— 86 root wheel 2672 27 сен 07:02 ls-F.1.gz -r—r—r— 1 root wheel 6860 27 сен 07:00 ls.1.gz -r—r—r— 1 root wheel 584 27 сен 07:03 lsvfs.1.gz
система будет по команде «man ls» раз локаль русская искать сначала ман файл ls.1.gz в /usr/share/man/ru_RU.KOI8-R/man1/ а раз его там нет то только потом будет искать английский стандартный вариант в /usr/share/man/en.ISO8859-15/man1/ и затем успешно его откроет. Тоесть важна правильная руссификация консоли и локали
-r—r—r— 1 root wheel 1414 12 ноя 19:02 kenv.1.gz -r—r—r— 1 root wheel 680 12 ноя 19:02 keylogin.1.gz -r—r—r— 1 root wheel 970 12 ноя 19:02 keylogout.1.gz -r—r—r— 1 root wheel 2356 12 ноя 19:02 kill.1.gz -r—r—r— 1 root wheel 2643 12 ноя 19:02 killall.1.gz -r—r—r— 1 root wheel 1086 12 ноя 19:02 ldd.1.gz -r—r—r— 86 root wheel 3049 12 ноя 19:02 limit.1.gz -r—r—r— 2 root wheel 3039 12 ноя 19:02 link.1.gz
-r—r—r— 2 root wheel 3039 12 ноя 19:02 ln.1.gz
— и т д— — -r—r—r— 2 root wheel 3918 12 ноя 19:02 yppasswd.1.gz -r—r—r— 1 root wheel 1814 12 ноя 19:02 ypwhich.1.gz root@gat:
Если выложите то дадите ссылку. Сам почитаю. И людям посоветую
читаем русский ман командой
И как видим там про поиск манов написано на нашем родном и могучем русском языке о чем я написал ранее
система будет по команде «man ls» раз локаль русская искать сначала ман файл ls.1.gz в /usr/share/man/ru_RU.KOI8-R/man1/ а раз его там нет то только потом будет искать английский стандартный вариант в /usr/share/man/en.ISO8859-15/man1/ и затем успешно его откроет. Тоесть важна правильная руссификация консоли и локали.
[править] Использование готового архива man
В продолжение темы решил выслать вам во вложении к письму весь свой архив с русскими манами который я «смейчил».
Может тоже выложите у себя пусть народ пользуется Может кто то не захочет их «мейчить» так как я писал ну тогда пусть возьмет готовые, настроит себе «русскую локаль» так, как я опишу ниже и также вам писал раньше. Ну и тогда сразу он сможет пользоваться русскими ман-страницами.
Архив нужно положить в /usr/share/man/ потом «разтарить» в этом же каталоге
потом проверить командой «locale» правильно ли настроена русская локализация (она же в народе называется «локаль») системы для отображения русских ман страниц, их поиска и кодировки Для этого нужно запуститить команду «locale» Вывод должен быть таким:
Для пояснения укажем следующее:
- LC_ALL, LC_CTYPE, LANG* —— это переменные которые задают
предпочтительный язык для справочных страниц при их вызове и использовании
Если это так то дальше сразу можно проверить открываются ли русские ман страницы которые были разархивированы. Выполнив стандартную команду работы с ман страницами «man man» Посмотреть насколько корректно они отображаются.
Если все же вместо читабельного русского текста видно «крякозябры» то нужно правильно настроить консоль на русскую локализацию системы сделав по порядку следующие действия:
1 . в файле /etc.rc.conf правильно прописать шрифты и кодировки
2. в файле /etc/ttys прописать что о консоль будет у нас будет с русской локализацией и на 25 строк
3. выполнить следующие команды для указания переменных среды LANG
setenv LANG ru_RU.KOI8-R pw usermod root -L russian
4. перезапустить консоль командой:
5. выйти из системы и потом снова в ней залогинится.
6. Проверить установки русской локализации которые задавались Для этого выполнить команду «locale».
Если все сделано правильно то ответ на эту команду обязательно для корректной работы русской локализации системы должно быть следующее:
Ну и потом проверить открываются ли русские ман страницы и насколько коректно они обображаются. Для этого можно выполнить стандартную команду работы с ман страницами вызвав команду «man man».
Должно быть «все по-русски» ну кроме цвета. Цвет нужно настраивать отдельно.
Источник
Adblock
detector