Modul de text chirilic linux chirilic (rus)

# Linux HowTo (cum se face)
# Cărți și ghiduri
# Materiale în limba engleză

Modul text chirilic este cel mai simplu mod de a afișa și de a introduce caractere chirilice.







Mai jos voi descrie o metodă de "a face față" driverului consolei Linux. Prin urmare, dacă încercați să rusinați consola într-un alt sistem, nu vă așteptați ca tehnicile descrise să funcționeze în ea. În schimb, consultați manualul de utilizare al terminalului și trimiteți-mi orice informație pe care o veți găsi. În acest caz, îl pot include în viitoarele versiuni ale acestui document.

Pentru informații specifice referitoare la distribuția dvs., trebuie să consultați secțiunea Cyrillizing distribuțiile.

Driverul consolei Linux este un excelent exemplu de software bine reglat. Poate schimba atat fonturile, cat si layout-urile tastaturii. Pentru informații specifice referitoare la distribuția dvs., trebuie să consultați secțiunea Cyrillizing distribuțiile.

Pentru a configura consola, puteți utiliza unul dintre cele două pachete descrise mai jos: console-tools (consultați secțiunea consoletools) sau kbd (consultați secțiunea kbd).

În versiunile anterioare de Linux, nu a existat nici o alternativă la kbd, dar pe distribuții proaspete, în loc de kbd, puteți folosi acum pachetul consoletools. Acest pachet diferă radical de predecesorul său - pachetul kbd (de exemplu, acesta nu are comanda setfont - scriptul de emulare este folosit pentru compatibilitate).

Pentru a verifica care dintre cele două pachete este prezent în sistemul dvs., ar trebui să încercați comanda consolechars. Dacă a fost executată cu succes - atunci aveți pachetul de console-tools; dacă nu - probabil veți avea comanda setfont și asta înseamnă că pachetul kbd este instalat.

Va fi util să cunoașteți schema generală a driverului consolei. Când un anumit program de utilizatori cere unui driver de consola să afișeze un caracter cu codul A, conducătorul consolei va căuta mai întâi codul A din tabelul ACM (Maparea cartelului de aplicații). Din tabel, el învață codul B conform codificării Unicode care corespunde codului A. Puteți determina codificarea utilizată de dvs. prin tabelul ACM. Apoi, driverul de consolă caută codul B în ecranul SFM Font Map. Tabelul SFM definește codificarea fontului utilizat, la fel cum ACM determină codarea. Din SFM, driverul consolei află că caracterul fontului activ are codul B în conformitate cu Unicode și trebuie afișat.

Există două modificări importante ale acestei scheme.

Limitările hardware ale computerelor moderne nu permit utilizarea fonturilor cu mai mult de 512 caractere. Prin urmare, este evident că uneori conducătorul de consolă nu poate găsi codul B în SFM. Apoi așa-numita tabelă de rezervă vine în ajutorul lui. Acest tabel definește pentru B posibilitățile aproximative B1, B2. De exemplu, dacă B este codul de caractere al "ghilimelei colțare stânga stânga", atunci B1 va fi codul de caractere al "coloanei unice de coliziune stânga", iar B2 va fi pur și simplu codul caracterului "<". Другим часто используемым применением fallback таблицы является аппроксимация псевдографических символов посредством других. Например, если используемый шрифт не имеет псевдографических символов, и вы заставите консольный драйвер использовать таблицу graph.fallback. то он начнёт чертить окна подобно следующей картинке:

Pe ecran nu arată așa de rău.

Cea de-a doua modificare importantă a schemei generale a driverului consolei este modul Unicode. Schema descrisă mai sus se referă la modul de 8 biți al șoferului. Când este în modul Unicode, se așteaptă ca programele utilizatorilor să utilizeze Unicode și se așteaptă să primească coduri de caractere de la acestea în conformitate cu Unicode. Prin urmare, ACM nu este utilizat în acest mod. Puteți oricând să comutați driverul consolei de la modul pe 8 biți la Unicode și înapoi prin comenzile unicode_start și unicode_stop.

Poate că aveți următoarea întrebare: de ce aveți nevoie de toată această procedură complicată? Ce se întâmplă dacă folosesc fonturi care au codificarea pe care o folosesc? Acest lucru este posibil, dar există unele complicații. Ai nevoie să-i spuneți că programul de caractere Pseudographic în fontul sunt deja pe celelalte locuri. Și chiar dacă ai reușit să-l facă printr-un tip special de terminale (cum ar fi Linux-koi8r), acesta va fi al doilea (deja greu de rezolvat) problema - din cauza hardware-ului caracteristici VGA, grafică de caractere orizontale se va transforma în lacrimi atunci când desen de caractere într-un font care nu se află pe aceleași poziții ca în cp437 codare (pseudo localizare în cp437 cp866 identice). Prin urmare, se recomandă să utilizați fonturile cu cp437 pe bază de codare (cp866).

Înainte de a ajunge la afaceri, vom face față modului pe 8 biți. Nu întotdeauna driverul consolei Linux a reușit să lucreze cu Unicode. Desigur, nu exista nici ACM, nici SFM. În schimb, au folosit o hartă ecran pe 8 biți a transcodării (hartă ecran). A fost doar un tabel pentru traducerea de la o codificare (folosită de program) la alta (codarea fonturilor). De exemplu, koi2alt.trans traduce codurile KOI8-R în codurile cp866. Pentru compatibilitate, hărțile de ecran pe 8 biți sunt acum emulate folosind un tabel ACM special.







Instalarea chirilicului cu console-tools și kbd constă de obicei din:

  1. Ecranul fontului și setările SFM. Acest lucru se face folosind consolechars (consola pachete-unelte) sau setfont și mapscrn (pachet kbd).
  2. Setările ACM (sau tabelul de conversie pe ecran pe 8 biți) și tabelele de rezervă.
  3. Încărcați aspectul corespunzător al tastaturii utilizând programul de încărcare.

Cele mai multe distribuții vă permit să instalați chirilic în mod prestabilit la momentul încărcării.

Fișierele de fonturi sunt de obicei găsite în / usr / share / consolefonts de director sau / usr / lib / KBD / consolefonts, masă ACM, SFM și soluție de rezervă / usr / share / consoletrans, aspectul tastaturii în / usr / share / keymap / i386 / QWERTY.

Iată cum să instalați structura tastaturii rusești. Aici nu se utilizează tabele SFM și backback, iar în loc de ACM se folosește un tabel de conversie a ecranului pe 8 biți. Acest lucru se datorează în principal faptului că cb866 nu are tabele SFM în fonturile kbd și console-tools. Dacă doriți să profitați de toate caracteristicile driverului de console Linux și să vă bucurați de fonturi bune, utilizați consola-unelte-chirilică pachet de Victor Wagner (consultați instrumentele consolei chirilice).

În cazul în care distribuția dvs. folosește consolalele pachetelor. trebuie să efectuați următoarele acțiuni (desigur, aceste comenzi nu ar trebui să fie efectuate în mod verbală):

După executarea acestor comenzi și încărcarea fișierelor corespunzătoare, puteți schimba aspectul tastaturii pentru a introduce caracterele chirilice cu ajutorul comenzii corecte (uneori comutarea implicită este "închisă" pe Alt sau pe Caps Lock).

Din păcate, fonturile și machetele de tastatură furnizate împreună cu aceste pachete nu vă permit să profitați de toate caracteristicile driverului de consola. Prin urmare, vă recomandăm să utilizați pachetul console-tools-chirilic al lui Victor Wagner (vezi secțiunea Instrumente chirilice console).

Pentru configurare, trebuie să citiți mai întâi fișierul README. care este în livrare. Pentru a lucra cu pachetul, aveți nevoie de utilitare consoletools (Consultați secțiunea consoletools), cu toate acestea, fonturile de ecran pot fi utilizate cu cele mai recente kbd.

Toate fonturile se bazează pe codare alternativă (CP866). De ce? Deoarece utilizarea oricărei alte codări a literelor ruse ca fizică în modul text VGA conduce la faptul că pseudografiile orizontale sunt obținute cu pauze. Aceasta este o proprietate hardware a VGA, care nu este tratată deloc. Singura cale de ieșire este utilizarea fonturilor în care pseudo-graficul este situat în aceleași poziții ca și în cp437.

Pachetul include șapte seturi de fonturi de diferite grade de adecvare și funcționalitate. Toate fonturile conțin un tabel de mapare în unicode.

Pachetul de distribuție include tabele de conversie chirilică din codurile comune ale limbilor ruse, belarusi, bulgare, sârbe și ucrainene în unicode. Utilizarea acestor tabele de conversie împreună cu fonturile incluse în acest pachet vă permite să configurați consola în orice codificare chirilică necesară.

Pachetul include un kit de generare a tastaturii, bazat pe idei sugerate de Kirill Zlobin ([email protected]). Amplasările de la tastatură sunt obținute prin procesarea preprocesorului C (/ usr / bin / cpp) al fișierului de codificare și a fișierului actual de aspect. Utilizarea macrocomenzilor pentru descrierile cheie permite determinarea combinațiilor Alt-key, Ctrl-key etc. mult mai complet decât în ​​cele mai comune scheme. atât în ​​regimurile ruse, cât și în cele latine.

Pentru a configura consola, folosesc comenzile:

Pentru a crea o configurație de tastatură, console_russian.map executați comanda:

Acesta este un layout microsoft, comutarea se face folosind tasta Windows suplimentară "taste de meniu sistem".

P.S. Pentru ucrainizare, în loc de koi8-r.acm, înlocuiți koi8-u

Pachetul kbd conține utilități de gestionare a tastaturii, în plus, vine cu o gamă largă de fonturi și layouts.

Instalarea chirilicului cu kbd constă de obicei din:

  1. Încărcați aspectul corespunzător al tastaturii utilizând programul de încărcare. Aproape în fiecare distribuție puteți instala configurația tastaturii pe care sistemul o încarcă în mod implicit la pornire, utilizând programul de instalare corespunzător (de exemplu, pentru RedHat, este / usr / sbin / kbdconfig). Puteți, de asemenea, să executați pur și simplu butoane de încărcare de la dvs.
/.profile sau fă-o cu mâinile.
  • Setările fontului ecranului. Acest lucru se face folosind programul setfont. Fișierele de fonturi sunt situate în / usr / lib / kbd / consolefonts. ATENȚIE: În versiunile mai vechi de Linux, rularea programului setfont sub X-Window ar putea agăța sistemul. Acum, în acest caz, este imprimat un mesaj de eroare.
  • Dacă sunteți un aderent al programelor care lucrează în modul text și folosind meritele pseudo-graficelor PC (cum ar fi Midnight Commander), atunci puteți prefera să utilizați fonturi cu codificare CP866 și harta de caractere a consolei. Aceasta înseamnă că consola dvs. afișează fonturile CP866, dar toate caracterele chirilice care corespund codificărilor KOI8-R sunt afișate corespunzător în CP866 și, prin urmare, arată corect. Avantajul acestei metode este că vă permite să utilizați caracterele pseudo-grafice ale codării CP866.

    Mai jos sunt comenzile care vă permit să obțineți acest efect.

    Atunci când rusificarea tuturor consolelor la încărcarea sistemului în loc de o linie

    utilizați linia

    -- rupe toate terminalele.

    O secvență magică este necesară pentru a transcoda ieșirea de caractere pe ecran dacă utilizați fonturile CP866. Funcționează și asta e suficient pentru o viață liniștită. Cu toate acestea, dacă sunteți curios, uitați-vă la documentația pentru pachetul kbd.

    Acum, probabil că doriți să verificați corectitudinea cyrilismului consolei.

    Corect configurați bash (partiție bash) sau tcsh (partiție tcsh) - acest pas este necesar. reporniți-l, apoi apăsați tasta de control dreapta. Asigurați-vă că puteți imprima corect în limba rusă. Tasta "q" trebuie să se potrivească cu "d", "w" corespunde cu "c", etc. (qwerty-> jutsuken).

    Din moment ce există în prezent numeroase distribuții Linux. butonul de comutare din consola poate fi diferit. De obicei, acesta este Alt sau Caps Lock - aceasta depinde de aspectul tastaturii.

    Dacă aveți probleme neprevăzute, este mai bine să vă întoarceți la aspectul nativ (adică SUA). Pentru aceasta, urmați acești pași:

    ATENȚIE: În versiunile mai vechi de Linux, driverul consolei nu poate salva această stare atunci când se transferă gestionarea X-Window. Prin urmare, după ce părăsiți X (sau comutați la consolă), trebuie să reporniți fontul rusesc.

    Cel mai probabil, un fișier binar a fost copiat în consola, unde a fost întâmplat întâmplător o secvență ESC aleatorie. apoi:

    sau cu o consolă de lucru:

    Treceți la fontul descărcat

    (poate că va trebui să supraîncărcați fonturile, dar asta se uită la modul în care a izbucnit consola.)

    Dacă un program care folosește blesteme cădea, e mai ușor

    În RedHat, toate acestea se fac prin resetare; setsysfont

    resetare - de la ncurses

    Consultați "om console_codes" și "man stty"







    Articole similare

    Trimiteți-le prietenilor: