V etom razdele kratko opisyvayutsya sposoby nastrojki kirillicy, kotorye specifichny dlya razlichnyh distributivov Unix. Sposoby raznyatsya ne tol'ko ot distributiva k distributivu, no i ot versii distributiva
Dlya nastrojki kirillicy prezhde vsego polezno prochitat' razdely Nastrojka tekstovoj mody, Nastrojka X Window i tol'ko posle etogo (znaya chto vy delaete) obratit'sya k podrazdelam etogo paragrafa.
Primer rusifikacii konsoli koi8. Provereno dlya versii 6.3
Zapustite programmu konfiguracii i administrirovaniya yast pod superpol'zovatelem.
Dlya vybora konsol'nogo shrifta v menyu "System administration" sleduet
vybrat' punkt "Set the console font". YA rekomenduyu vybrat' kakoj-libo shrift
iz serii "Cyr_a8x" (u menya stoit shrift Cyr_a8x16.pcfu.gz
) - sdelajte
etot shrift "As standart font".
Dalee v menyu "System administration" vyberete punkt "Change configuration file". Sredi predlozhennyh dlya izmeneniya peremennyh nas interesuyut
CONSOLE_FONT - konsol'nyj shrift (kak pomenyat' etu peremennuyu bylo opisano ranee - mozhno menyat' ee i zdes')
CONSOLE_SCREENMAP - ustanovite peremennuyu ravnuyu koi2alt
CONSOLE_MAGIC - ustanovit' ravnuyu "(K" (kavychki ne pisat')
KEYTABLE - rekomenduyu ustanovit' ravnuyu ru3.map.gz
(pereklyuchatel'
pravyj Alt - raskladka standartnaya) ili ru4.map.gz
(pereklyuchatel'
CapsLock - raskladka dlya Windows klaviatury)
CONSOLE_UNICODEMAP - cyralt.uni
RC_LANG - mozhno ustanovit' ravnoj ru_RU.KOI8-R
Vse eto mozhno sdelat' podredaktirovav fajl rc.local v /etc/
.
P.S. Esli pri ustanovke ukazat', chto vash yazyk "russkij" (LANGUAGE=russian), to vse nastroitsya avtomaticheski (nu, pochti)
Delajte tak zhe, kak opisano v razdele X Window - nastrojka nichem ot standartnoj nastrojki ne otlichaetsya.
Iz chego zhe sdelana rusifikaciya v RedHat? Kak izvestno, v Linux sushchestvuyut dva konkuriruyushchih paketa upravleniya shriftami i klaviaturoj : kbd i consoletools. V RedHat 5.x dlya rusifikacii konsoli primenyalsya paket kbd. V RedHat 6.x primenyaetsya uzhe drugoj paket - consoletools. Raznicy mezhdu nimi radikal'noj net, no eto, uvy, delaet nesovmestimym paket initscripts dlya versij RedHat 5.x i 6.x.
Rusifikaciya (i voobshche vklyuchenie nacional'nyh ustanovok) v Linux RedHat 5.2 osushchestvlyaetsya iz paketa initscripts. Ne budem vdavat'sya v podrobnosti raboty SYSV init, opishem kratkij put'. Predpolagaetsya, chto chitatel' dannogo teksta umeet pol'zovat'sya paketom RPM, kotoryj ves'ma vazhen v RedHat.
Klaviatura v RedHat 5.2 na
nizhnem urovne upravlyaetsya utilitoj loadkeys iz paketa kbd-096a-8
.
Paket standartnyj, RedHat lish' dobavil tuda neskol'ko novyh raskladok.
Zapuskaetsya loadkeys iz
/etc/rc.d/init.d/keytable
, upravlyayushchij fajl :
/etc/sysconfig/keyboard
. Tam
propisyvaetsya edinstvennaya peremennaya KEYTABLE:
/etc/sysconfig/keyboard : ============ KEYTABLE=ru1 ============
Est' interaktivnaya utilita smeny
raskladki : kbdconfig, kotoraya
na samom dele lish' propisyvaet znachenie v
/etc/sysconfig/keyboard
.
Fajly klaviaturnyh raskladok lezhat v
/usr/lib/kbd/keymaps/
.
Mne nravitsya raskladka
ru_win_ctrl.map.gz
ot
IP Labs.
Pereklyuchenie po pravomu Ctrl, tochka i zapyataya
v russkom registre, kak v Windows, t.e. ryadom s pravoj
knopkoj Shift. (Na moej klaviature narisovano
imenno tak). Nado polozhit' etot fajl v
/usr/lib/kbd/keymaps/i386/quwerty/
, zapustit'
kbdconfig i vybrat' ru_win_ctrl.
(Hotya i rodnaya raskladka ru1 tozhe
nichego (tochka i zapyataya na Shift 6, Shift 7 )).
Vklyuchit' novuyu raskladku na hodu mozhno zapustiv:
/etc/rc.d/init.d/keytable start
Konsol' v RedHat 5.2 na nizhnem urovne upravlyaetsya utilitami setfont i mapscrn iz paketa kbd-096a-8.
Vse, chto neobhodimo sdelat', eto vypolnit' sleduyushchie komandy :
$ setfont Cyr_a8x16 $ mapscrn koi2alt
Krome togo, neobhodimo pereklyuchit'
Charset G1
na vnov' zagruzhennyj shrift. Dlya etogo nuzhno
na vse virtual'nye konsoli /dev/vty*
vyvesti "magicheskuyu" posledovatel'nost' ESC (K.
$ echo -ne "\033(K"
K sozhaleniyu, s rusifikaciej konsoli v RedHat ne vse tak prozrachno, kak s klaviaturoj. Otdel'noj "podsistemy" dlya upravleniya konsol'yu net. A esli delat' vse po RedHat-ovski, to voznikayut problemy.
RedHat rekomenduet ispol'zovat' "novyj" format, s UNICODE tablicej:
$ setfont Cyr_a8x16 -u koi8
K sozhaleniyu, na "novom" formate spolzayut ramki na mc i v drugih programmah. V RedHat 6 primenyaetsya drugoj paket: consoletools i drugaya versiya initscripts, tam vse sdelano nemnogo po-drugomu.
No poprobuem vykrutitsya ! ;-)
Vse utility zapuskayutsya iz fajla
/sbin/setsysfont
(na samom dele eto shell-skript),
parametry dlya kotorogo zhivut v /etc/sysconfig/i18n
.
Ne ochen' ponyatno, kakovo otnoshenie mezhdu i18n
i shriftami, no tem ne menee eto tak.
/etc/sysconfig/i18n ===== SYSFONT= UNIMAP= =====
Ne ochen' ponyatno, otkuda posylat'
ESC (K. Mozhno posylat' ego naprimer iz ~.profile
Delajte tak zhe, kak opisano v razdele X Window - nastrojka nichem ot standartnoj nastrojki ne otlichaetsya.
|tot razdel posvyashchen kirillizacii Debian 2.2.(esli kakie-libo dejstviya nado sovershit' dlya mladshih versij etogo distributiva - eto budet otmecheno osobo).
V fajle /etc/environment
isprav'te LANG=C
na LANG=ru_RU.KOI8-R
. Esli vy hotite,
chtoby u root byli russkie soobshcheniya i on mog vvodit'
russkie bukvy v X Window, sdelajte tozhe samoe v /root/.bashrc
.
Esli versiya vashego distributiva men'she 2.2, to dopolnitel'no vypolnite komandu
# mv /usr/share/locale/ru_SU /usr/share/locale/ru_RU.KOI8-Rs privilegiyami pol'zovatelya root.
Zachem zhe my udalyaem ru_SU i delaem lokal' s takim bol'shim imenem? Vse potomu, chto SU eto sokrashchenie strany Sudan, a eta lokal' prednaznachena dlya lyudej iz Rossii, govoryashchih po russki. Mozhno bylo by ostavit' ru_RU skazhite vy. No ru_RU uzhe sushchestvuet, eto lokal' s kodirovkoj ISO-8859-5. Poetomu sleduet postavit' ru_RU.KOI8-R.
Esli v sisteme vse eshche installirovan paket kbd
, to zamenite ego na
console-tools
. Vstav'te v /etc/console-tools/config
:
SCREEN_FONT=Cyr_a8x16 APP_CHARSET_MAP=koi2alt.trans
Vypolnite komandu
cp /usr/share/keymaps/i386/qwerty/ru1.map.gz /etc/console-tools/default.map.gz
s privilegiyami pol'zovatelya root.
Pervyj vopros kotoryj voznikaet - zachem gruzit' kakoj-to APP_CHARSET_MAP?
Dejstvitel'no, esli zagruzit' shrift KOI8-R, to mozhno budet ne
gruzit' kartu perekodirovki (APP_CHARSET_MAP). V
etom sluchae vmesto simvolov psevdografiki budut poyavlyat'sya russkie
bukvy 'D', a inogda dazhe 'YO'. CHtoby poborot' eto, mozhno sdelat' svoj
tip terminala (v debian est' linux-koi8). No gorazdo proshche i
gramotnee postavit' cp866
shrifty i
vklyuchit' tablicu perekodirovki. Poslednij shag - kopirovanie karty
klaviatury. ru1 rasschitana na 102-knopochnuyu klaviaturu
bez MicroSoft'ovskih klavish.
Esli versiya vashego distributiva men'she 2.2, to vmesto
console-tools
vam pridetsya vospol'zovat'sya
paketom kbd
- v etom sluchae nastrojki budut sleduyushchie:
Vstav'te v /etc/kbd/config
:
CONSOLE_FONT=Cyr_a8x16 CONSOLE_MAP=koi2alt.
Vypolnite komandu
# cp /usr/share/keymaps/i386/qwerty/ru1.map.gz /etc/default.map.gz
s privilegiyami pol'zovatelya root.
Ustanovite paket xfonts-cyrillic so vtorogo CD. Zatem vypolnite komandu
# ln /usr/X11R6/lib/X11/fonts/cyrillic /usr/X11R6/lib/X11/fonts/local
Teper' zagruzite XF86Setup i skazhite, chto hotite
Russian
klaviaturu. Esli vy ne hotite
pol'zovat'sya xdm, to v /etc/inittab
izmenite
id:2:initdefault:
na id:1:initdefault:
. Inache,
vam nado budet vstavit' strochku
. /etc/environment export LANG
v nachale inicializacionnogo scenariya xdm (/etc/init.d/xdm
).
Zatem v fajle /etc/X11/xdm/xdm-config
v konce vstav'te strochku
DisplayManager.exportList: LANG
Zachem sozdavat' simvolicheskuyu ssylku na
/usr/X11R6/lib/X11/fonts/cyrillic
? Delo v tom, chto
XF86Setup esli vidit katalog
/usr/X11R6/lib/X11/fonts/local
, to stavit ego na pervoe mesto
v sekcii "Files" fajla /etc/X11/XF86Config
.
Zachem delat' takie slozhnye vykrutasy s xdm? CHtoby xdm vosprinyal russkuyu lokal'.
|tot razdel yavlyaetsya sil'no sokrashchennoj versiej (tol'ko kirillizaciya)
Slackware-7-INSTALL-RUS.HOWTO
(s) 1999 Vyacheslava Kaloshina (multik@sw.ru, multik@istu.edu)
Dlya kirillizacii sleduet vypolnit' sleduyushchie dejstviya:
/etc/rc.d/rc.font.sample
v rc.font
i dobavit' sleduyushchee soderzhanie
setfont Cyr_a8x16 mapscrn koi2alt for n in 1 2 3 4 5 6; do echo -ne "\033(K" > /dev/tty$n done loadkeys ru.map
.inputrc
sleduyushchego soderzhaniya v katalog /etc/skel
$if Bash set convert-meta off set output-meta on set input-meta on set show-all-if-ambiguous on "\e[1~" beginning-of-line "\e[2~" " " "\e[3~" delete-char "\e[4~" end-of-line "\e[C" forward-char "\e[D" backward-char "\e[A" previous-history "\e[B" next-history "\e[21~": "exit\C-m" # F10 - Exit from shell $endif
exit
.
/etc/profile
sleduet dobavit'
export LANG=ru_RU.KOI8-R export NLSPATH=/usr/share/locale/ru_RU/ export LESSCHARSET=koi8-r
/usr/share/locale/ru_RU/
.
cd /usr/share/locale localedef -c -f /usr/share/i18n/charmaps/KOI8-R -i \\ /usr/share/i18n/locales/ru_RU \\ ru_RU.KOI8-R ln -s ru_RU.koi8r ru_RU.KOI8-Rsimvolami
\\
oboznacheno prodolzhenie stroki - eti strochki nado
vvodit' v odnu stroku
locale.alias
-
dobavit' strochku
ru ru_RU.KOI8-R
Vse, Slackware na nizhnem urovne rusificirovana.
Delajte tak zhe, kak opisano v razdele X Window - nastrojka nichem ot standartnoj nastrojki ne otlichaetsya.
No mozhno postupit' kak sovetuet Vyacheslav Kaloshin (hotya etot sposob ne ochen'-to i pravil'nyj, no tozhe rabotaet):
Skopirujte fajl .Xmodmap v svoj domashnij katalog. |tot fajl obespechit vvod russkih bukv po pravoj knopke Alt.
Prover'te v /etc/XF86Config
, sekciyu "Keyboard",
dobav'te tuda strochku XkbDisable
,
inache vysheprivedennyj sposob rusifikacii ne budet rabotat'.