Руссификация FreeBSD (UTF-8)
Однажды я осознал что многобайтовым кодировкам принадлжеит будущее и решил не изобретать кастыли с koi8-r.
Почему utf8:
— это удобно
— это кроссплатформенно (я, например, работаю на многих разных системах: freebsd, linux, windows и хочу везде иметь возможность беспроблемного доступа к своим файлам)
— utf8 это родная кодировка во многих системах (linux), а также в файловых системах.
— в базах данных давно самая беспроблемная кодировка — utf8 (особенно когда есть необходимость работы с несколькими языками)
— я думаю рано или поздно во freebsd все равно будет utf8 по умолчанию.
так что приступим:
/etc/login.conf:
russian|Russian Users Accounts:\ :charset=UTF-8:\ :lang=ru_RU.UTF-8:\ :tc=default:
# cap_mkdb /etc/login.conf
# pw usermod -n $username -L russian
Собственно, этого достаточно — вот так все просто
Альтернативно, либо дополнительно к вышеприведенному способу, можно прописать переменные в используемом шеле:
/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
/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
/root/.cshrc: (руту русификации не положены)
setenv LANG C setenv LC_CTYPE C setenv LC_COLLATE POSIX setenv LC_ALL C
/etc/fstab:
# NTFS data /dev/ad0s4 /mnt/data2 ntfs-3g default,rw,locale=ru_RU.UTF-8 0 0
Из консоли можно так:
# mount_ntfs -C UTF-8 /dev/ad0s4 /mnt/winda # ro mount
# mount_ntfs-3g /dev/ad0s4 /mnt/winda -o deafult,rw,locale=ru_RU.UTF-8 # right way; portinstall sysutils/fusefs-ntfs
update 280609:
Хотел сказать что вышеприведенный спрособ руссификации не затрагивает системную консоль, но этого достаточно, чтобы в юзерском шеле был utf8
Также о процессе перевода и системной консоли на utf8 можно посмотреть тут: http://www.opennet.ru/tips/info/1448.shtml
Переключение раскладки клавиатуры в X11:
/etc/X11/xorg.conf:
(в принципе, можно обойтись и без этого, если вы настроите переключение в соотвествующем оконном менеджере, но данный вариант более универсален.)
Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "XkbModel" "microsoftpro" Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:ctrl_shift_toggle,grp:lwin_switch,grp_led:scroll" Option "XkbVariant" ",winkeys" EndSection
Переключение раскладки клавиатуры в KDE:
Тут можно все сделать через kcontrol типа (Пуск -> Настройка -> Региональные и спец.настройки -> Настройка клавиатуры) но это не по джидайски. Посему идем классическим unix way:
~/.kde/share/config/kdeglobals должна быть строчка
Switch to Next Keyboard Layout=Ctrl+Shift_L;
Вообще я крайне рекомендую поизучать и сохранять этот файл. Потом настроить рабочую среду на другом компе — дело 2 минут.
xxkb индикатор раскладки c привязкой к приложению:
~./.kde/share/config/kxkbrc
[Layout] DisplayNames= EnableXkbOptions=true IncludeGroups=ru(winkeys):us LayoutList=us,ru(winkeys) Model=pc104 Options=grp:lctrl_lshift_toggle,grp_led:scroll ResetOldOptions=true ShowFlag=true ShowSingle=false StickySwitching=false StickySwitchingDepth=2 SwitchMode=WinClass Use=true
Usefull links:
http://www.lissyara.su/?id=1444 FreeBSD как десктопная система
http://community.livejournal.com/ru_linux/1147523.html русификация аудиопроигрывателей (конвертация mp3 тегов).
http://pcbsd.ru/doc/statyi/article21-2008-03-23.html PC-BSD 1.5: установка, настройка, русификация. (utf-8)
http://www.pcbsd.ru/forum/index.php/topic,93.0.html Руссификация компонентов системы
http://forum.pcbsd.org.ua/viewtopic.php?t=120 Русификация системы (koi8-r)