Pered tem kak my nachnem nastraivat' razlichnye chasti sistemy, nam nado nastroit' paru prostyh veshchej. Bol'shinstvo utilit, opisyvaemyh nizhe, predpolagayut, chto kirillicheskie shrifty dostupny i pol'zovatel' mozhet vvodit' kirillicheskie simvoly. CHtoby eto dejstvitel'no stalo pravdoj, nam sleduet nastroit' okruzhenie dlya togo chtoby obespechit' i shrifty, i vozmozhnost' vvoda kirillicy.
Linux podderzhivaet dva interfejsa dlya otobrazheniya informacii, dve razlichnye mody. Odna iz nih eto tekstovaya moda, a drugaya graficheskaya, predostavlyaemaya sredstvami X Window. Obe eti mody trebuyut razlichnoj nastrojki, kotorye opisyvaetsya nizhe.
Voobshche, nastrojka tekstovyh rezhimov - samyj prostoj sposob pokazyvat' i vvodit' simvoly kirillicy. Odnako, imeetsya odno znachitel'noe oslozhnenie: tekstovye shrifty i raspolozhenie simvolov na klaviature zavisyat ot realizacii drajvera terminala. Sledovatel'no, ne imeetsya nikakogo obshchego sposoba dlya dostizheniya celi v razlichnyh sistem.
Nizhe, ya opishu sposob kak "spravit'sya" s drajverom Linux konsoli. Poetomu esli vy imeete druguyu sistemu, ne ozhidajte, chto eto budet rabotat'. Vzamen, prokonsul'tirujtes' s rukovodstvom po drajveru terminala i poshlite mne lyubuyu informaciyu, kotoruyu vy najdete. V etom sluchae ya smogu vklyuchit' eto v dal'nejshie versii etogo dokumenta.
Konsol'nyj drajver Linux - dovol'no horosho nastraivaemyj obrazec programmnogo obespecheniya. On mozhet menyat' kak shrifty, tak i raskladki klaviatury. CHtoby sdelat' eto, vam nuzhen paket kbd. Bol'shinstvo distributivov Linux ustanavlivayut kbd kak obyazatel'nuyu chast' sistemy.
Paket kbd soderzhit utility upravleniya klaviaturoj, krome etogo s nim postavlyaetsya shirokij vybor shriftov i raskladok.
Ustanovka kirillicy s pomoshch'yu kbd obychno sostoit iz:
loadkeys. Redhat pozvolyaet ustanovit' raskladku klaviatury,
kotoruyu sistema zagruzhaet po umolchaniyu vo vremya zagruzki. |to
konfiguriruetsya s pomoshch'yu programmy /usr/sbin/kbdconfig.
Ili vy prosto mozhete zapustit' loadkeys iz vashego
~/.profile ili sdelav eto rukami.
setfont. Fajly shriftov nahodyatsya v /usr/lib/kbd/consolefonts.
VNIMANIE: V staryh versiyah Linux, zapusk programmy setfont
pod X Windows mog zavesit' sistemu. Sejchas v etom sluchae
pechataetsya soobshchenie ob oshibke.
Esli vy yavlyaetes' priverzhencem programm, vypolnyaemyh v tekstovoj mode,
i ispol'zuyushchih dostoinstva PC psevdo - grafiki (takih kak
Midnight Commander), vy mozhite predpochest' ispol'zovat' shrifty
s Alt kodirovkoj i konsol'noj raskladkoj
(console character map). |to oznachaet,
chto vasha konsol' otobrazhaet Alt shrifty, no vse kirillicheskie
simvoly, sootvetstvuyushchie KOI-8R kodirovki sootvetstvennym obrazom
otobrazhayutsya v Alt i poetomu otobrazhayutsya pravil'no. Preimushchestvo
etogo metoda zaklyuchaetsya v tom, chto on pozvolyaet ispol'zovat'
psevdograficheskie simvoly Alt kodirovki.
Koroche, nizhe perechisleny komandy, kotorye pozvolyayut dostich' etogo effekta.
loadkeys /usr/lib/kbd/keytables/ru.map setfont /usr/lib/kbd/consolefonts/Cyr_a8x16 mapscrn /usr/lib/kbd/consoletrans/koi2alt echo -ne "\033(K" # magicheskaya posledovatel'nost'
Posle vypolneniya etih komand i zagruzki sootvetstvuyushchih fajlov, vy mozhite pereklyuchat' raskladku klaviatury dlya vvoda kirillicheskih simvolov s pomoshch'yu pravogo Control.
Magicheskaya posledovatel'nost' neobhodima dlya perekodirovki vyvoda simvolov na ekran esli vy ispol'zuete Alt shrifty. Ona rabotaet i vam ne sleduet znat' o nej chto-to bol'shee. Odnako, esli vam lyubopytno, to posmotrite v dokumentaciyu k paketu kbd.
V zaklyuchenie, dlya teh estetov, kto ne zhelaet ispol'zovat' Alt kodirovku, ya predlagayu druguyu versiyu opisannoj vyshe zagruzochnoj posledovatel'nosti, ispol'zuyushchej rodnye KOI8-R shrifty.
loadkeys /usr/lib/kbd/keytables/ru.map setfont /usr/lib/kbd/consolefonts/koi8-8x16
Odnako, ne ozhidajte krasivyh ramok v vashih programmah, ispol'zuyushchih dlya raboty menyushki v tekstovom rezhime.
Teper' vy, veroyatno, hotite proverit' eto.
Skonfigurirujte sootvetstvuyushchim obrazom bash ili tcsh
(smotrite nizhe etot shag neobhodim),
peregruzite  ego,  zatem  nazhmite  pravuyu klavishu Control.
Udostoverites',  chto  vy  mozhite  pechatat'  na russkom pravil'no.
Klavisha 'q'   dolzhna    sootvetstvovat'   "j",  'w'
sootvetstvuet "c", i t.d.
Esli u vas voznikli nepredvidennye problemy, to luchshe vsego vernut'sya k rodnoj (to est' US) raskladke. Dlya etogo sdelajte sleduyushchie telodvizheniya:
loadkeys /usr/lib/kbd/keytables/defkeymap.map setfont /usr/lib/kbd/consolefonts/default8x16
VNIMANIE: k sozhaleniyu, konsol'nyj drajver ne sposoben sohranit' eto sostoyanie (po krajnej mere bez izlishnih uhishchrenij), kogda peredaetsya upravlenie X Windows. Sledovatel'no, posle togo, kak vy vyshli iz X (ili pereklyuchaetes' na konsol'), to vy dolzhny perezagruzit' russkij shrift.
Podobno konsol'nomu rezhimu, X Windows takzhe trebuet nekotoroj nastrojki. Nastrojka vklyuchaet v sebya nastrojku vvoda i ustanovku shriftov dlya X Windows. Dannye dejstviya obsuzhdayutsya nizhe.
Prezhde vsego vy dolzhny dostat' shrifty, soderzhashchie izobrazheniya kirillicheskih simvolov v sootvetstvuyushchih mestah.
V konce 1995 goda X Window vklyuchila nabor KOI8-R shriftov razrabotannyh KOI8-R fonts, created by Cronyx. |ti shrifty yavlyayutsya takzhe chast'yu XFree86.
Nesmotrya na eto, nekotorye distributivy ne vklyuchayut kirillicheskie shrifty dlya X Windows v standartnuyu postavku. Odnim iz podobnyh pechal'nyh primerov yavlyaetsya RedHat (oni obeshchali bol'she tak ne delat' i ispravit' eto v RedHat 5.2).
Poetomu, vam sleduet proverit' ustanovleny li eti shrifty v vashej sisteme. Sprosite sistemnogo administratora, ili, esli vy- eto on i est', prover'te vashu sistemu sami, a imenno:
xlsfonts | grep koi8'.   Esli v rezul'tate
vypolneniya komandy poyavitsya spisok shriftov, to vash X server uzhe znaet
ob ih sushchestvovanii.find / -name crox\*.pcf\*dlya togo chtoby najti mestopolozhenie shriftov kirillicy v sisteme. Vy dolzhny budete sdelat' eti shrifty dostupnymi dlya X servera, kak - ya ob®yasnyu nizhe.
Esli vy ne nashli takih shriftov v vashej sisteme, to vy dolzhny ustanovit' ih sami.
Krome opisannogo vyshe sushchestvuet eshche odin nabor kirillicheskih
shriftov Cronyx v seti (po adresu
ftp.kiae.su), izvestnyj, kak paket xrus (ne putat' eto s
programmoj xruskb, ranee izvestnoj kak xrus.
Xrus imeet men'shij nabor shriftov chem v kollekcii Xfree86
(38 protiv 68).
Imeetsya takzhe bolee staroe reshenie, naprimer  paket  vakufonts
sozdannyj 
Sergeem Vakulenko,
kotoryj  stal  osnovoj  dlya  paketa vklyuchennogo v distributiv X
Windows.   Ochen' vazhno, chto imena shriftov  v  staroj  kollekcii  ne
sovpadayut so standartom polnost'yu.  Vakufonts, v  obshchem,  neplohoj paket,
no inogda mogut voznikat' razlichnye sverh®estestvennye oshibki.
Naprimer, u menya byli problemy s Maple V dlya Linux, kotoryj padal
po  neponyatnym  prichinam  s  paketom  vakufonts,  no    prekrasno
rabotal so "standartnymi" naborom.
Itak, davajte nachnem so shriftov:
XFree86-cyrillic-fonts. Ustanovit' ego i
srazu perejti k razdelu, gde ob®yasnyaetsya kak sdelat'
mestopolozhenie shriftov izvestnym X Windows.
/usr/lib/X11/fonts/cyrillic dlya nastrojki vsej sistemy, ili prosto
sozdajte katalog u sebya tol'ko dlya personal'nogo pol'zovaniya.
*.bdf fajly),
to vy dolzhny skompilirovat' ih. Dlya kazhdogo shrifta vypolnite:
bdftopcf -o <font>.pcf <font>.bdfEsli vash X server podderzhivaet szhatye shrifty, to sozhmite ih s pomoshch'yu programmy
compress (dlya poslednih versij XFree86 mozhno
szhat' shrifty s pomoshch'yu programmy gzip):
compress *.pcf (ili gzip *.pcf)Esli zhe vy vse-taki hotite pomestit' novye shrifty v uzhe sushchestvuyushchij katalog shriftov, to vy dolzhny "srastit'" staryj i novye fajly, s imenem
fonts.alias v tom sluchae, estestvenno,
esli oni oba sushchestvuyut.
fonts.dir.
Vy ne dolzhny  sozdavat' etot spisok vruchnuyu. Vmesto etogo, sdelajte:
cd <new font directory> mkfontdir .
XF86Config.  CHtoby najti ego raspolozhenie, prosmotrite
chto skazhet startx pri zapuske (V Redhat etot fajl obychno nahoditsya
v /etc/X11). Bolee podrobno smotrite man XF86Config (4/5).
xinit.  Dobav'te novyj katalog  k
fajlu zapuska xinit. Bolee podrobno smotrite xinit(1x).
~/.xinitrc  (ili ~/.Xclients, ili
~/.xsession dlya pol'zovatelej RedHat).
Dobav'te sleduyushchie komandy v etot fajl:
xset +fp <novyj katalog shriftov> xset fp rehashObratite vnimanie, na opciyu '
+fp'- eto oznachaet,  chto  novye
shrifty budut dobavleny v nachale spiska direktorij so shriftami. To
est', esli prikladnaya programma zaprashivaet, skazhem, shrift fixed, to
budet podstavlen fixed font s kirillicheskimi simvolami , chego  my
i dobivalis'.
Hotya  imeyutsya  nekotorye  problemy.  V  distributive    shriftov
kirillicy net poluzhirnogo i kursivnogo fixed  shrifta.  Moj  lyubimyj
shrift - 6x13, a tak, kak  poluzhirnye  i  kursivnye  shrifty  etogo
razmera takzhe otsutstvuyut, to ya ne mogu ispol'zovat' Emacs/XEmacs
v polnoj mere. Nadeyus', chto kto - to v konechnom schete sozdast eti
shrifty, i situaciya izmenitsya.
xfontsel(1x), chtoby udostoverit'sya chto
vy sposobny vybrat' shrifty kirillicy.CHtoby zastavit' X klienta  ispol'zovat'  shrifty  Kirillicy,  Vy
dolzhny ustanovit' sootvetstvuyushchie X resurs.  Naprimer, ya delayu
kirillicheskij shrift zadannym po umolchaniyu v moem ~/.Xdefaults:
*font: 6x13
Tak kak moi shrifty kirillicy pervye v spiske poiska shriftov (smotri
vyvod programmy 'xset q'), to
oni i podstavlyayutsya esli  programma  trebuet  kakoj-libo  shrift  s
imenem, sovpadayushchem s kakim-libo iz shriftov, lezhashchih v kirillicheskoj
direktorii.
Vot prostye primery.  Esli Vy hotite nauchit'  sootvetstvuyushchij  X
klient pol'zovat'sya kirillicheskim shriftom , to vy  dolzhny  uznat'
tip  resursa ,  kotoryj vam nado izmenit'  (mozhno  eto  sdelat'
ispol'zuya editres(1x))  i  opredelit'  ego  ili  v  baze  dannyh
resursov, ili v komandnoj stroke. Naprimer mozhno sdelat' tak:
$ xterm -font '-cronyx-*-bold-*-*-*-19-*-*-*-*-*-*-*'
...zapusti xterm s neskol'ko urodlivym shriftom;
$ xfontsel -xrm '*quitButton.font: -*-times-*-*-*-*-13-*-*-*-*-*-koi8-*'
...ustanovit Cyrillic Times shrift dlya knopki Quit programmy
xfontsel.
U tehnologii TrueType, vzyatoj na vooruzhenie operacionnymi sistemami serii Windows (on zhe Mastdie :)), net mnogih nedostatkov, kotorye prisutstvuyut pri rabote so shriftami standartnym obrazom u X. Krome togo sushchestvuet mnozhestvo kirillicheskih TrueType shriftov.
K schast'yu, eti shrifty mozhno ispol'zovat' i v X Windows. Sushchestvuet TrueType server shriftov XFSFT dlya X (govoryat, chto v skorom vremeni podderzhka TrueType budet vklyuchena v distributiv XFree86).
Ustanovochnaya procedura dovol'no prosta - prosto, delajte to, chto skazano v dokumentacii. Sleduet otmetit' odnu veshch', imeyushchuyu otnoshenie k kirillicheskoj nastrojke, eto to, chto vam sleduet ispol'zovat' opciyu perekodirovki:
xfstt ... --encoding koi8-r,windows-1251,iso8859-1
Posle etogo, novye shrifty budut dostupny dlya X Windows - etot fakt vy
mozhete proverit', zapustiv xfontsel i poigrav s ttf semejstvom
shriftov.
V  poslednih  vypuskah  X  (X11R61  i   vyshe)    imeyutsya    dva
"standartnyh"  sposoba  vvoda  s  klaviatury:   rodnoj    sposob,
rabotayushchij cherez utilitu xmodmap,  i  novyj,  nazyvaemyj Xkb
(X KeyBoard). Pervoe, chto vy dolzhny sdelat', eto otklyuchit' Xkb sposob!.
Ne davajte sebya zagipnotizirovat' ego sposobnost'yu  ustanavlivat'
"russian keyboard".  |tot sposob, vrode by,  ispol'zuet  opisanie
simvolov  kirillicy  opredelennyh  v  keysymdef.h.   |tot    fajl
opredelyaet  simvoly  dlya  mnogih  yazykov.  Edinstvennaya   problema
sostoit v tom, chto dannoe opredeleniya ne  pozvolyayut,  rabotat'  s
rasshirennoj ASCII kodovoj stranicej - ochen' mnogo programm  mogut  rabotat'
tol'ko s etoj raskladkoj! YA  pochti  ne  znayu  programm,  kotorye
razbirayutsya  s  opisaniem  simvolov  v keysymdef.h  otlichnym  ot
standartnogo 8mi bitnogo ASCII. Odnako, nasha glavnaya cel' sostoit
v tom, chtoby zastavit' rabotat' podderzhku KOI8-R. (Primechanie
perevodchika: zdes' avtor nemnogo pogoryachilsya - Xkb vpolne
rabochij sposob, pravda sposobnost' rabotat' s KOI8-R on obnaruzhil
tol'ko v poslednih versiya XFree86. Pol'zovatelyam Redhat sleduet
vzyat' versiyu XFree86-3.3.3-1.)
CHtoby otklyuchit'  podderzhku  Xkb,  v  fajle XF86Config
izuchite razdel Keyboard i zakomentirujte,  vse  stroki,
nachinayushchiesya  s Xkb (registr ne imeet znacheniya).
Vzamen, dobav'te sleduyushchuyu stroku:
XkbDisable
Programma  xmodmap  pozvolyaet  nastroit'  kody  sootvetstvuyushchie
razlichnymi simvolam i ih kombinaciyam.  |ta nastrojka osnovana na
fajle, soderzhashchem tablicu perekodirovki.
V predydushchih versiyah etogo dokumenta ya ochen' podrobno  opisyval
nastrojku  kirillicy  osnovannuyu  na  xmodmap.  |to  okazalos'
prakticheski bespoleznym.  Obshcheizvestno, chto sposob  perekodirovka
vvoda, osnovannyj na xmodmap,  yavlyaetsya,  ne-portabel'nym,  ploho
nastraivaemym, i ne okonchatel'nym.  Vashi nastrojki mogut rabotat'
s odnoj versiej XFree i sboit' pri rabote s drugoj.  Bolee  togo,
inogda rezul'tat raboty odnoj i toj zhe nastrojki sil'no  raznitsya
dlya razlichnyh serverov iz odnogo distributiva.
YA nastoyatel'no sovetuyu vam ne igrat' s xmodmap, po krajnej mere
dlya  nachala.  Vy  ne  poluchite  nichego  krome  golovnoj  boli   i
razocharovaniya.  Vmesto etogo, ya rekomenduyu vam  ustanovit'  paket
xruskb,
kotoryj  pozvolyaet  vam  skonfigurirovat'    bol'shinstvo
vhodnyh parametrov perekodirovki bez neobhodimosti stalkivat'sya s
xmodmap. Opyat' zhe  pol'zovateli Redhat Linux mogut ustanovit'
RPM paket etogo programnogo produkta.
Dlya  togo, chtoby   zastavit' bash ponyat'  8mi  bitnye  simvoly,
dolzhny  byt' ustanovleny  tri  peremennye.  Luchshe  vsego  eto
sdelat' iz  fajl  ~/.inputrc.
Dolzhny  byt' sdelany sleduyushchie  ustanovki: 
set meta-flag on set convert-meta off set output-meta on
Pomestite v .cshrc sleduyushchee:
setenv LC_CTYPE iso_8859_5 stty pass8
Esli u vas net POSIX sovmestimogo stty (tol'ko ne v Linux), zamenite poslednyuyu strochku sleduyushchej:
stty -istrip cs8
CHto kasaetsya public domain realizacii ksh - pdksh
versii 5.1.3 i vyshe, to  vy mozhete  razreshit'  8mi  razryadnyj  vvod
tol'ko dlya vi v rezhime   vvoda. Dlya etogo ispol'zujte:
set -o vi
Ustanovite peremennuyu okruzheniya LESSCHARSET:
export LESSCHARSET=koi8-r
Starye versii less  ne  podderzhivali  simvoly  KOI8-R,  no    ustanovka
sleduyushchej sistemnoj peremennoj pozvolyala eto obojti:
export LESSCHARSET=latin1
CHtoby razobrat' tekst kirillicy , vyberite opciyu full 8 bits  v
Options/Display menyu.
Esli u vas problemy v vide urodlivyh okonnyh ramok, to prokonsul'tirujtes' v razdele Linux konsol'.
off-topic: esli vy zahotite chtoby mc v okne Xterm byl v  cvete:
ustanovite peremennuyu COLORTERM:
COLORTERM= ; export COLORTERM
Udostoverites',  chto  shell  na  meste    adresata    pravil'no
ustanovlena.  Esli  vash rlogin  ne  rabotaet kak nado po umolchaniyu,
to ispol'zujte 'rlogin -8'.
Sdelajte to zhe samoe,  chto  delaetsya  dlya  csh (
csh). Fajl inicializacii v etom sluchae - .zshrc ili
/etc/zshrc.