Magyarul-HOGYAN

avagy tippek és trükkök magyarul beszélő Linux-felhasználóknak.

  Verzió: 0.17
  1997. május 3.

Várom az egyéb tippeket (esetleg kérdéseket) a vbzoli@tarki.hu címre!

TARTALOM


1. Hol érhető el a Magyarul-HOGYAN?


2. Hogy lehet rávenni a bash-t és a tcsh-t, hogy magyar karaktereket is elfogadjon?

A következő sorokat kell beírni a felhasználó saját (HOME) bejelentkezési könyvtárába elhelyezett .inputrc nevű állományba:

bash használata esetén:

------------ itt vágd ki --------------------
set meta-flag on
set convert-meta off
set output-meta on
------------ itt vágd ki --------------------

tcsh használata esetén (/etc/csh.login, vagy .tcshrc):

------------ itt vágd ki --------------------
setenv LC_CTYPE ISO-8859-1
stty pass8
------------ itt vágd ki --------------------

3. A less magyarítása

Ez nagyon egyszerű. A megoldás:
------------ itt vágd ki --------------------
LESSCHARSET=latin1
export LESSCHARSET
------------ itt vágd ki --------------------
Ezt a két sort kell behelyezni a /etc/profile állományba. (Vagy a .profile-ba).

4. Latin-2 (ISO-8859-2) kódkiosztás használata

A UNIX világában elterjedt 8-bites kódkiosztás amely tartalmazza a magyar ékezetes betűket is az ISO-8859-2, azaz a latin-2 kiosztás. Ez a kódkiosztás tartalmazza a latin betűs szláv nyelvek (horvát, szlovén, szlovák, cseh, lengyel), és a magyar, román, német nyelv ékezetes betűit.

A Nyugat-Európai országok az ISO-8859-1 kódkiosztást használják (latin-1). A latin-1 kiosztás tartalmazza a magyar ékezetes betűket is (ugyanazon kóddal) az ő (o") és ű (u") kivételével. Az ő (o") és ű (u") betűk helyén a latin-1-es kiosztásban az o~ és az u^ szerepel (o tetején hullámvonal, u tetején kalap); így a latin-2-ben kódolt magyar szövegek olvashatóak latin-1-es kiosztás használatával is (jobb híján).

Latin-2 kiosztás használata konzolon

A linux rendszermag alapesetben a latin-1-es kiosztást használja úgy, hogy a latin-1-es kódokat leképezi a PC-s 437-es kódlapra. Ezzel a módszerrel csak olyan latin-1 betűket tud megjeleníteni, melyek szerepelnek a 437-es lapon. A latin-2-es kódkiosztás használatához két dolog szükségeltetik: A leképezés megváltoztatását a következő parancs végzi el:
echo -ne '\033(K'
A mapscrn paranccsal lehet egyébként a leképezést átállítani. A latin-2-es karakterkészlet betöltése (slackware linux esetén):
setfont /usr/lib/kbd/consolefonts/lat2-16.psf
A fenti két sort célszerűen a /etc/rc.d/rc.local állományba kell bemásolni.

Latin-2 betűkészletek:

A /usr/lib/kbd/consolefonts könyvtárba kell másolni az állományokat.

Latin-2 kiosztás használata X-Window felületen

Az X-Window grafikus felület is a latin-1-es kódkiosztást használja alapesetben. latin-2 bötűket találhatsz a következő helyen:

Hogyan nyomtassunk Latin-2 kódolású text file-okat bármilyen - Ghostscript által támogatott, vagy postscript - nyomtatón?

(A megoldás nem Linux specifikus, elvileg bármilyen Unix alatt működik.)

Először postscript formátumra kell hozni a szöveget. Erre számos program létezik, ezek közül a GNU enscript ismeri a Latin-2 kódrendszert. Be kell tehát szereznünk a GNU enscript programot, továbbá, mivel az Adobe fontjai nem tartalmazzák a Latin-2 karaktereket, egy olyan fontot, amely tartalmazza őket. Ilyen pl. az IBM Courier , amely benne van az XFree86 disztribúcióban: a file-ok neve cour.afm és cour.pfa, courb.afm és courb.pfa stb.

Telepítsük az enscript programot, majd helyezzük el egy alkönyvtárba a cour*.afm és cour*.pfa fájlokat, majd adjuk ki a következő parancsot ebben az alkönyvtárban:

# mkafmmap *.afm

Ezután az enscript tudomására kell hozni, hogy létezik a fenti alkönyvtár. Ehhez módosítanunk kell az enscript lokális, vagy globális konfigurációs állományában az AFMPath opciót valahogy így:

AFMPath: /usr/local/lib/psfonts/ibmcour:/usr/local/lib/enscript

Természetesen a fenti elérési útvonalak attól függenek, hogy hová telepítettük az enscriptet ill. az IBM Courier fontokat.

Ezek után egy

# enscript -Xlatin2 latin2_kodolasu_szoveg_file.txt

parancsnak a ki kell nyomtatnia az alpértelmezett nyomtatón a latin2_kodolasu_szoveg_file.txt file-t a megfelelő Latin-2 karakterekkel.

Használhatjuk filterként is az enscriptet. Ilyenkor az adott nyomtató filtere valahogy így néz(het) ki:

#!/bin/sh 
DEVICE=bj200 
RESOLUTION=360x360 
PAPERSIZE=a4 
SENDEOF=
ENCODING=latin2 

enscript -MA4 -X$ENCODING -Z -B -q -p- | 
if [ "$DEVICE" = "PostScript" ]; then 
     cat - 
else
gs -q -sDEVICE=$DEVICE \
   -r$RESOLUTION \ 
   -sPAPERSIZE=$PAPERSIZE \ 
   -dNOPAUSE \ 
   -dSAFER \ 
   -sOutputFile=- - 
fi 
if [ "$SENDEOF" != "" ]; then 
     printf "\004" 
fi 

Részletesebb információk az enscript és a Ghostscript dokumentációjában találhatók.


5. Magyar billentyűzet használata

Magyar billentyűzet használata konzolon

A linux konzolon a loadkeys használható a billentyűzetkiosztás beállítására; paraméterként egy definíciós állományt vár, melyben tetszőleges kódot rendelhetünk a billentyűkhöz. A loadkeys programot célszerűen a rendszer indításakor érdemes futtatni. A Slackware kiadásban a /etc/rc.d/rc.local állományba érdemes tenni (más kiadásban esetleg a /etc/rc-be, vagy a /etc/rc.local-ba):
/usr/bin/loadkeys /usr/lib/kbd/keytables/magyar.map
A következő kiosztások (vagy csomagokban található kiosztások) használhatók a feni magyar.map helyén (ezeket kell bemásolni a /usr/lib/kbd/keytables/ könyvtárba):

Magyar billentyűzet használata X-Window felületen

A billentyűzetet tetszés szerint át lehet definiálni akármilyen magyar kiosztás megvalósítására, akár átválthatóra is. A billentyűzet kiosztása az xmodmap programmal történik, amely bemenetéül egy szöveges definíciós állományt vár. Ezt bármikor lefuttathatjuk, de a rendszer indulásakor a HOME/.Xmodmap-ból vagy ha ez nem létezik akkor a /usr/X11R6/lib/X11/xinit/.Xmodmap-ból állítódik be a kiosztás.

Ilyen definíciós állományokat találsz a következő helyeken:

Az xmodmap állományt .Xmodmap néven a HOME könyvtárba, vagy a /usr/X11R6/lib/X11/xinit könyvtárba kell másolni. Az első esetben az adott felhasználónál érvényesül a kódkiosztás, míg a másodikban mindenkinél (lásd a /usr/X11R6/lib/X11/xinit/xinitrc-t ).

Ha a fenti szabványos xmodmap-ot (xmodmap.hu) akarod használni, akkor az XF86Config file-ban a

# To set the LeftAlt to Meta, RightAlt key to ModeShift,
# RightCtl key to Compose, and ScrollLock key to ModeLock:

#    LeftAlt     Meta
#    RightAlt    ModeShift
#    RightCtl    Compose
#    ScrollLock  ModeLock
részben a
#    RightAlt    ModeShift
sor elől el kell távolítani a # jelet, engedélyezve ezzel az AltGr funkciót.

6. Magyar Slackware csomag

A hufont-0.2.tgz csomag a Slackware Linux kiadás támogatására készült. Megtalálható az alábbi helyen:

ftp://ftp.tarki.hu/pub/magyar/linux/console/hufont-0.2.tgz

Részlet a README-ből:

  1. ez Slackware package. Más disztribúciókból indítsd el a /etc/rc.d/rc.font-ot valahonnan (pl /etc/rc.d/rc.local )
  2. lehet hogy a tic nincs a PATH-ban, akkor azt a sort csináld meg kézzel a /install/doinst.sh-ból
  3. Lesz egy új terminál definíciód, console-lat2 néven. Ez a lat2-*.psf fontokkal megy, az iso02.*-al nem. Nem tudom, melyik a szabvány.
  4. a /etc/skel-ben van .inputrc, meg .joerc, de nincs .bashrc vagy ilyesmi. Az alábbi sorokat érdemes beletenni:
            export LESSCHARSET=latin1
            if [ $TERM="console" -o $TERM="linux" ]
            then
                    export TERM="console-lat2"
            fi
    	
  5. A shell scriptet meg a kbd map-et Szilike írta. És megigérte, hogy egyszer a .joerc-t megmagyarítja.

    7. Hol találhatóak magyar kiegészítések linuxhoz?

    Magyar billentyűzetkezelők és betűkészletek linux konzolhoz: X11-hez:

    8. TeX

    Létezik egy magyar elválasztó-program TeX/LaTeX alá, a HION, vigyázat, a program nem szabad szoftver. Soós Péter (sp@osb.hu) kiegészítése ezzel kapcsolatban:
    Átnéztem a HiOn (így kell írni) doksiját, és meglepve tapasztaltam, hogy a HiOn nem csak egy elvalasztóprogram a TeX-hez, hanem egyben egy kódkonverziós program is. Képes mindenféle kódolásról (CWI, 852, Latin-2, 123) mindenfélére konvertálni (CWI, Latin-2, 123, TeX) szövegfájlokat.
    Szerinte a következő paranccsal lehet linux alá lefordítani:
      cc -DF_INDEX_DEFINED -o hion hion.c
    
    Elérhető:

    9. joe

    A joe-nak a .joerc ill /usr/lib/joe/joerc file-jában be lehet állítani a -asis opciót, illetve ^T és Meta-chars-as-is menüpont alatt lehet futás közben megadni, hogy rendesen kijelezze az ékezetes betűket. Ez csak az újabb joe-val megy így, de szerintem nagyon ritka az olyan Linux, ahol régi joe van. (Magossányi Árpád, mag@tas.vein.hu)

    10. emacs

    A következőkkel kell kiegészíteni a .emacs, vagy a /usr/lib/emacs/site-lisp/default.el állományt:
    ------------ itt vágd ki --------------------
    (standard-display-european t)
    (set-input-mode (car (current-input-mode))
                    (nth 1 (current-input-mode))
                    0)
    ------------ itt vágd ki --------------------
    

    További hasznos adalékok a .emacs file-hoz (Markó István, mi@bgytf.hu):

    (require 'iso-syntax)
    
    az iso-syntax segítségével helyesen fog működni a kis és nagy betűk közötti konverzió.
    (require 'iso-transl)
    
    Az iso-transl lehetővé teszi az ékezetes betűk beírását olyan terminálokon is, amelyek nem képesek ékezetes betűkódokat generálni. Használata: Az iso-accents-mode is hasonló funkciót lát el, de használatakor elhagyhatjuk a C-x 8 prefix-et, valamint ez a mód mindig csak az adott buffer-re aktivizálódik. A M-x iso-accents-mode parancsal kapcsolhatjuk be. További információ az Emacs info file "European Display" szekciójában. Hasznos lehet még az iso-hun package is, amellyel az adott bufferben található repülő ékezetes szöveget konvertálhatjuk ISO-8859-re. Ez letölthető az ftp://ftp.bgytf.hu/pub/emacs/misc-packages/iso-hun.el címről.

    11. LyX

    Soós Pétert-től:

    Magyar karaktereket sokféleképpen elő lehet csalogatni a LyX-ből. Az egyik lehetséges megoldás (feltételezve, hogy Latin-2 kiosztású .Xmodmap file-t használunk):

    Állítsuk be a lyxrc (.lyxrc vagy system.lyxrc) file-ban a következőt:

      \fontencoding T1
    
    Ezek után, ha a Layout -> Document -> Encoding értékét Latin-2-re állítjuk, vagy a lyxrc-be beírjuk, hogy
      \inputencoding latin2
    
    akkor a LyX helyesen fogja nyomtatni a magyar ékezetes karaktereket. Célszerű Latin-2 kiosztású képernyőfontokat használni a fenti esetben, hogy már ott is jól jelenjenek meg a magyar betűk. Ehhez be kell állítani az Options -> Screen Fonts párbeszédpanelben a megfelelő fontokat, és a Font Norm értékét iso8859-2-re állítani, vagy a lyxrc-be beírni a
      \roman_font
      \sans_font
      \typewriter_font
    
    sorokba a megfelelő fontok neveit, és a következő sort:
      \font_norm iso8859-2
    
    Latin-2 fontok találhatók a kovetkező helyeken: Célszerű még a magyar helyesírásnak megfelelő idézőjelekhez a Layout -> Quotes párbeszédpanelben a idézőjelek típusát German Double értékre állítani, vagy a lyxrc file-ba a következő sorokat beírni:
      \quotes_language german
      \quotes_times 2
    
    Célszerű még a Layout -> Document -> Language értékét "magyar"-ra állítani, vagy a lyxrc-be a
      \language magyar
    
    sort beírni. Ez engedélyez bizonyos, a magyar nyelvre jellemző beállításokat (pl. dátumformátum) a TeX számára. A magyar nyelv implementálása sajnos még nem teljes a TeX rendszerben. Ha magyar elválasztást is akarunk, akkor be kell szereznünk a TeX Babel csomagjához egy magyar elválasztás file-t amely elérhető a következő címen: A fentieket a LyX 0.10.7 és a teTeX TeX disztribució 0.3.4 változatával teszteltem.

    12. Magyar vonatkozású Linuxos INTERNET források

    ftp-helyek:

    www-helyek:

    Levelezőlisták:

    Újság


    13. A témához kacsolódó leírások

    Érdemes elolvasni a linuxos konzol-fontok és unicode iránt érdeklődőknek Bartók István (bartoki@goliat.eik.bme.hu) kiváló leírását, amelyet a következő helyen találhat az érdeklődő: A fenti állományból a README tartalma: kis Linux font & console OLVASSEL, FAQ, Q&A.

    14. Közreműködők

    Külön köszönet illeti Soós Pétert aki az utóbbi időben a fő közreműködője a doksi fejlesztésének.

    Íme a Magyarul-HOGYAN fejlesztésében részt vevők listája:

    Természetesen sokat köszönhetek a többi nemzeti HOWTO-k szerzőinek, a Linux fejlesztőinek és másoknak, akiket kifelejtettem.
    Copyright (C) 1995 - 1997 Zoltán Vörösbaranyi vbzoli@tarki.hu

    Ez a dokumentum szabadon terjeszthető és módosítható mindaddig amíg a Copyright és a közreműködők listája a dokumentum része marad.