Vjerojatno imate QWERTZ, hrvatski odnosno slovenski raspored tipkovnice. Ako ne, poslužit ce i naljepnice s našim slovima.
Ukoliko na konzoli želite zadržati npr. postojeći američki raspored tipkovnice, ili slova odmah želite probat u X-ima skinite slovenski xmodmap s ftp://sizif.mf.uni-lj.si/pub/i18n/Xmodmap.sl.pc102. Naravno, morat ćete ga malo modificirat, a kako ja osobno ovaj način ne preferiram neću dalje objašnjavati. Pređimo na Plan B :))).
Najprije, sredimo raspored na konzoli. Držite se Domikulićevih savjeta na http://linux.hr/iso/. Ne bi trebalo biti većih problema.
Vjerojatno ćete trebat komandi setfont dodat -u switch za pravilan prikaz grafičkih simbola na konzoli. To bi npr. glasilo:
setfont /usr/share/consolefonts/lat2-14.psf -u lat1.uni
Zapnete li, pogledajte neke od mojih fajlova.
Uspjeli ste ? OK. Home, Delete, BackSpace, End rade na konzoli? Super. Prelazimo na X-e. Instalirajmo X fontove i stvar bi trebala raditi. Ne? No dobro, na adresi ISO 8859-2 Resources nabrojane su među ostalim i lokacije za download X fontova. Novije Linux distribucije uglavnom dolaze sa svim potrebnim screen latin2 fontovima.
Kompletnu kolekciju 'blizanaca' svakog iso8859-1 fonta u latin2 obliku možete skinuti s http://www.biz.net.pl/english/x-fonts/licence.html (ne trebate ništa upisati, stisnite send). Fontove mozete skinuti u bdf, pcf ili pcf.Z obliku. Najbolje u ovom trećem, kompresiranom (noviji Xserveri mogu baratati kompresiranim fontovima).
Pogledajte u Files section vašeg XF86Configa gdje vam je FontPath za X
fontove. Kod mene na Debianu je /usr/X11R6/lib/X11/fonts
. Stvorite
poddirektorij za latin2 fontove i u njemu raspakirajte arhivu. Dobit ćete
nova tri poddirektorija. Sva tri unesite na vrh (bitno) FontPatha u
XF86Configu.
Ako su vam fontovi pcf oblika, možete (ne morate) ih kompresirati s
compress *.pcf
(dobijete pcf.Z oblik), ja sam koristio
gzip *.pcf
.
Pored fontova, u svakom direktoriju morate imati fonts.dir fajl. Bilo da u direktorij dodajete novi font ili fontovima mijenjate imena (kompresiranjem npr.) obvezno nakon toga slijedi naredba
mkfontdir
Ako su fontovi u bdf obliku, konvertirajte ih. Skripta za konverziju u
Slovenian HOWTO meni ne radi, pa sam modificirao jednu dobivenu preko
Altaviste i nazvao je fontkonv
.
#!/bin/sh #skripta za bdftopcf.gz convert='bdftopcf $file | gzip > `basename $file .bdf`.pcf.gz' for file in *.bdf; do eval $convert done mkfontdir xset fp rehash || echo 'Type "xset fp rehash" if running from X-session'
xset fp rehash
potreban je da ne bi morali restartat X-e.
Svaki novodobiveni direktorij može imati i fonts.alias datoteku.
Najvjerojatnije ćete nove fontove htjeti isprobati u xtermu. Meni se svidio
fiksni font etl16-IL2.pcf.gz
(dolazi u xfntil2
paketu), pa
uglavnom njega koristim kao fiksni screen font pod xtermom i familijom.
Možete ga skinuti
http://members.xoom.com/markovicr/etl16-IL2.bdf
modificiranog za slrn u X-ima (offline newsreader kojeg kad sam
u X-ima koristim pod rxvt-om). U Navigatoru stisnite Shift i kliknite na
link radi lakšeg snimanja.
Dakle,
bdftopcf -o etl16-IL2.pcf etl16-IL2.bdf gzip etl16-IL2.pcf cp etl16-IL2.pcf.gz /usr/X11R6/lib/X11/fonts/misc-il2/ xset fp rehashU mojoj
/usr/X11R6/lib/X11/fonts/misc-il2/fonts.alias
datoteci ubačeno je:
moj -etl-fixed-medium-r-normal--16-160-72-72-c-80-iso8859-2
Zadajte naredbu
xfd -fn moj
i primjetit ćete male izmjene na fontu (rađene primitivno :-), bez xmbdfed
-a).
Sad možete npr. startati xterm:
xterm -fn moj
, ili bolje, stavit u ~/.Xdefaults
(ja
koristim /etc/X11/Xresources
) među ostalim:
XTerm*font: moj
. (bez tocke :))
Dakle, imate naša slova na konzoli, propisno ste instalirali X latin2 fontove, pokrenuli xterm i - nema naših slova :(.
Unutar Keyboard sectiona vašeg /etc/XF86Config
probali ste s
XkbLayout
ili XkbKeymap
razne stvari, bez uspjeha. Ovakav način
dobijanja hrvatskog rasporeda tipkovnice u X-ima bio bi treći i najlakši,
nadajmo se da će u budućnosti doći i do toga.
Dakle, budući da Plan C zasad ne postoji :), vratimo se Planu B. Po defaultu u Keyboard sectionu imamo:
# To disable the XKEYBOARD extension, uncomment XkbDisable.
# XkbDisable
Da, otkomentirajte XkbDisable i eto rješenja. Dobijaju se naša slova u xtermu. Doduše, mala nuspojava (barem kod mene) jest da komentar u XF86Config koji se odnosi na ServerNumLock možemo zanemariti, ali to je već drugi problem.
Vjerojatno vam neće baš sve tipke simulirati konzolu (kvačice hoće :)).
Ovdje uskače u pomoć jedan jako koristan utility - xmodmap
.
Startajte xev
iz xterma i pogledajte keycode problematične tipke.
Zatim tom keycodeu dajte željeni keysumname.
Ja sam npr. u svom globalnom /etc/X11/Xmodmapu imao upisano (nemam više ovakav Xmodmap, nego jedan kompliciraniji za objasnit i prilagođeniji meni najstabilnijem rođaku xterma - rxvt-u):
! /etc/X11/Xmodmap ! ! This is the global Xmodmap file. It is used by both xdm and xinit. keycode 22 = BackSpace keycode 86 = plus keycode 112 = slash keycode 63 = asterisk keycode 82 = minus
Prvi red je da bi BackSpace brisao ulijevo, drugi - moram eksplicitno reći da želim plus, ne zarez na num. dijelu tipkovnice (vidim da mnogima daje zarez). Posljednja tri retka odnose se na KP_Divide, KP_Multiply i underscore na num. dijelu tipkovnice. Premda ove tri tipke daju jednake znakove onima na nenum. dijelu tipkovnice, ja sam im udijelio i imena s tog dijela tipkovnice. Tako izbjegavam ponekad čudno ponašanje ovih tipki u lessu, dselectu ili ncftpu npr.
Još jedna sugestija. Onaj dio na Domikulićevoj stranici o Home, End, Delete
i BackSpace u Xtermu kod mene ne uspijeva. Dugo sam koristio pod
/etc/X11/Xresources
:
*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\ <Key>Delete: string(0x1b) string("[3~")\n\ <Key>Home: string(0x1b) string("[1~")\n\ <Key>End: string(0x1b) string("[4~")\n\ Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
Trenutno koristim ovakav oblik (razni su razlozi zašto):
XTerm*VT100.Translations: #override <Key>Delete: string("\033[3~")\n\ <Key>Home: string("\033OH")\n\ <Key>End: string("\033OF")
Nažalost, čini se daleko dan kad će na Unixima biti unificiran keyboard policy, također xterm i rođaci ne funkcioniraju baš 100 % stabilno, tako da, kad su osjetljivije stvari u pitanju uvijek editiram na konzoli. Naime znaju se desiti pojave poput 'letter droppings'. Napravite npr. mali test. Editirajte u npr. xtermu neku nevažnu dugačku datoteku i držite Delete stisnuto. Ukoliko vam se nakon brisanja dvadesetak redaka ne desi ništa neuobičajeno, tada vam je xterm dosta stabilan.
Relativno nova i izvrsna stranica o stanovitim problemima s tipkovnicom (želite li editor pod xtermom, a da mu propisno rade Home, End, BackSpace i Delete, te da pokazuje naša slova - koristite joe :)) je Adjusting Keyboard Behavior.
/etc/init.d/mojlocal -------------------- #!/bin/sh # /usr/X11R6/bin/xfstt --res 96 --encoding iso8859-2 & setfont /usr/share/consolefonts/lat2-14.psf -u lat1.uni echo "Postavljen font lat2-14.psf!" # Audio Excel inicijaliziraj CD modprobe sb /root/cminit -cd 1 -loud 1 #aumix -c 70 for t in 1 2 3 4 5 6 7 8 do setleds +num </dev/tty$t> /dev/null done
/etc/profile ------------ # /etc/profile: system-wide .profile file for bash(1). stty -istrip echo -ne '\033(K' INPUTRC=/etc/inputrc LESSCHARSET=latin1 LESSCHARDEF="8bcccbcc18b95.33b." PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/sbin:/sbin:/usr/local/sbin #PS1="\h \w\\$ " bivsi prompt PAGER=less LESS="-rMcw" EDITOR="joe -asis" VISUAL="joe -asis" NNTPSERVER=news.tel.hr GLOBIGNORE='.:..' # NNTPSERVER=bagan.srce.hr export PATH PAGER INPUTRC LESSCHARSET LESSCHARDEF LESS EDITOR VISUAL NNTPSERVER ulimit -c unlimited umask 022
~/.bash_profile - user login shell --------- MOZILLA_HOME=/usr/local/netscape NPX_PLUGIN_PATH=/usr/local/netscape/plugins MINICOM='-m -c on' alias ll="ls --color -alFN" alias l="ls --color -aFN" alias joe="joe -asis -nobackups" alias cp="cp -ip" alias mv="mv -i" alias rm="rm -i" alias mfe="mount /floppy" alias umf="umount /floppy" alias x="startx" alias x8="startx -- :1 -bpp 8" # alias uspan="tar -xvMf /dev/fd0" alias f="fetchmail -v" alias s="slrn --spool -C" alias sp="slrnpull" alias pine="picofix pine" if [ $TERM = "rxvt" ] ; then PS1='\[\e[01;35m\]\h \[\e[01;33m\]\$\[\e[00m\] \[\e]0;\w\007\]' else PS1='\[\e[01;35m\]\h \[\e[01;34m\]\w\[\e[01;35m\]\$\[\e[00m\] ' fi export PS1 MOZILLA_HOME NPX_PLUGIN_PATH MINICOM
~/.bashrc - user non-login shell --------------------------------- # ~/.bashrc: executed by bash(1) for non-login shells. source ~/.bash_profile source /etc/profile
/etc/printcap ---------------- # @(#)etc.printcap 5.2 (Berkeley) 5/5/88 # # > This file was generated by /usr/sbin/magicfilterconfig. < # lp|lj|hplj4l|HP Laserjet 4L:\ :lp=/dev/lp1:sd=/var/spool/lpd/hplj4l:\ :sh:pw#80:pl#72:px#1440:mx#0:\ :if=/etc/magicfilter/ljet4-filter:\ :af=/var/log/lp-acct:lf=/var/log/lp-errs: