<!doctype linuxdoc system>

<!-- This is the Finnish-HOWTO original source code in Linuxdoc-SGML.
     Copyright © 1996 by Pekka Taipale. 
     See the abstract below for more copyright info.
 -->

<article>

<!-- Title information -->

<title>Finnish-HOWTO</title>
<author>Pekka Taipale, <tt/pjt@iki.fi/
<date>v1.1f, 1996-02-12
<abstract>

This document describes how to finlandize Linux - Finnish keyboard
mapping, time zone, 8-bit clean settings for applications, etc.
Except for this abstract, the text is in Finnish because that is the
benefit of the intended audience. This document may be reproduced at
the usual Linux HOWTO terms. If you use it commercially, you're
welcome to do so but I'd like to be notified. If you have questions,
contact me at my e-mail address.

</abstract>

<!-- Table of contents -->
<toc>

<!-- Begin the document -->

<sect>Johdanto <label id="joh">

<sect1> Mik&auml; HOWTO? 

<p> T&auml;m&auml; dokumentti kertoo, mit&auml; pit&auml;isi
tehd&auml; Linuxin suomettamiseksi sen j&auml;lkeen kun
k&auml;ytt&ouml;j&auml;rjestelm&auml; perussovelluksineen on asennettu
koneeseen jostain Linux-jakelusta. N&auml;in saadaan suomalaiset
kirjaimet, n&auml;pp&auml;imist&ouml; ja muut paikalliset asetukset
toimimaan oikein. L&auml;ht&ouml;kohtana on Slackware- tai
RedHat-jakelusta asennettu Linux-j&auml;rjestelm&auml;, mutta ohjeista
on todenn&auml;k&ouml;isesti apua my&ouml;s muiden
Linux-jakeluversioiden k&auml;ytt&auml;jille.

Varsin suuri osa ohjeista p&auml;tee Linuxin lis&auml;ksi muissakin
Unix-tyyppisiss&auml; j&auml;rjestelmiss&auml;. Sama toimii
toisinp&auml;in: jos et l&ouml;yd&auml; etsim&auml;&auml;si tietoa
t&auml;st&auml; dokumentista, tutki muita FAQ- jne. tiedostoja (ks.
esim. Linuxin HOWTO-dokumentit sek&auml; viitteet <ref id="unixhelp"
name="[UNIXHelp]"> ja <ref id="faqs" name="[faqs])."> T&auml;m&auml;n
dokumentin viitteiss&auml; on, mik&auml;li mahdollista, k&auml;ytetty
kotimaisia peilauksia ulkomailla sijaitsevien alkuper&auml;isten
tiedostovarastojen asemesta.

T&auml;ss&auml; ohjeessa ei ole yleens&auml; eritelty
root-k&auml;ytt&auml;j&auml;n ja tavallisen k&auml;ytt&auml;j&auml;n
tekemi&auml; asetuksia. Jotkut ohjeista ovat siis ainoastaan
yll&auml;pit&auml;j&auml;n heini&auml; ja vaikuttavat koneen kaikkiin
k&auml;ytt&auml;jiin, jotkut taas ovat tavallisen
k&auml;ytt&auml;j&auml;n itselleen tekemi&auml; asetuksia.
Linux-koneissa yll&auml;pit&auml;j&auml; ja k&auml;ytt&auml;j&auml;
ovat usein - mutta eiv&auml;t aina - sama henkil&ouml;. Hyvin monet
asetukset voi tehd&auml; molemmilla tavoilla; esim. kaikkien
k&auml;ytt&auml;jien oletukset hakemistossa <tt> /etc </tt>oleviin
tiedostoihin ja k&auml;ytt&auml;j&auml;n omat asetukset
kotihakemistossa <tt> &dollar;HOME </tt>oleviin pisteell&auml; alkaviin
tiedostoihin.

<sect1> Tekij&auml;noikeuksista ja kopioinnista

<p> Copyright &copy; 1996 by Pekka Taipale. T&auml;t&auml; dokumenttia
saa kopioida ja levitt&auml;&auml; muuttamattomana vapaasti. Jos
levit&auml;t muutettua tai lyhennetty&auml; versiota dokumentista,
t&auml;t&auml; tekij&auml;noikeusmerkint&auml;&auml; ei saa poistaa.
En ota vastuuta mahdollisista virheist&auml; enk&auml; varsinkaan
muiden muuttamista versioista. Jos teet dokumenttiin
lis&auml;yksi&auml; tai korjauksia, merkitse selv&auml;sti oma
ty&ouml;si. Parasta olisi, jos l&auml;hett&auml;isit
korjausehdotuksesi minulle osoitteeseen <tt/ pjt@iki.fi / jolloin ne
voidaan ottaa mukaan alkuper&auml;iseen tekstiin.

<sect1> Tekstin esitystavasta

<p> T&auml;m&auml; HOWTO on kirjoitettu SGML-muodossa. HTML-, TeX- ja
tekstiversiot generoidaan SGML:st&auml; <ref id="linuxdoc"
name="Linuxdoc-SGML">-ohjelmalla. T&auml;m&auml;n tekstin ulkopuolelle
osoittavat viittaukset (HTML-versiossa linkit) on koottu yhteen
paikkaan, ks. <ref id="vii" name="Aiheeseen liittyv&auml;&auml;
materiaalia">. Muualla dokumentissa olevat linkit ovat
ristiinviittauksia dokumentin sis&auml;ll&auml;. N&auml;in on
menetelty siksi, ett&auml; olisi helpompi hahmottaa, milloin linkin
seuraaminen on viem&auml;ss&auml; lukemaan jotakin muuta dokumenttia
ja milloin se on ristiinviittaus t&auml;m&auml;n HOWTO:n
sis&auml;ll&auml;.

Jos luet tekstiversiota ja suomalaisten kirjainten esitysmuoto on
saksalainen umlaut-k&auml;yt&auml;nt&ouml; ae- ja oe-yhdistelmineen,
syyn&auml; on - paradoksaalista kyll&auml; - se, ett&auml;
Linux-HOWTO-projekti jakelee tekstimuotoiset HOWTO:t vain
ASCII-muodossa eik&auml; t&auml;m&auml;nkin dokumentin suosittelemana
ISO-Latin-1-tekstin&auml;.

PostScript-versiossa suomalaiset kirjaimet voivat olla mit&auml;
sattuu, koska sgml2ps ei tue ISO-Latin-1-merkist&ouml;&auml; ja TeX:n
babel-pakettia (linuxdoc:n versiossa 1.4). Lopputuloksesta saa
kunnollisen muuttamalla linuxdoc:n tiedostoa <tt>
&dollar;LINUXDOCLIB/rep/latex/mapping </tt> siten ett&auml; dokumentti
k&auml;ytt&auml;&auml; kohdassa <ref id="tex" name="TeX"> mainittuja
tyylej&auml;.

<sect1> Kiitokset

<p> Kiitos kaikille kommentteja ja korjauksia esitt&auml;neille.
Erityisesti mainittakoon Tuomas Aura, Tuomas Eerola, Timo Korvola,
Jaakko Ruohio, Jani Tammi ja Lars Wirzenius.

<sect> N&auml;pp&auml;imist&ouml;asetukset <label id="nap"> 

<sect1> Perusn&auml;pp&auml;imist&ouml;

<p> T&auml;ss&auml; kerrotaan tekstikonsolin
n&auml;pp&auml;imist&ouml;asetuksista. X-ymp&auml;rist&ouml;st&auml;
on tietoa kohdassa <ref id="x11" name="X11R6.">

Jos n&auml;pp&auml;imist&ouml;si on Linuxin asennuksen
j&auml;ljilt&auml; amerikkalaista mallia, olet ohittanut
n&auml;pp&auml;imist&ouml;kartan valinnan asennusohjelmassa.
N&auml;pp&auml;imist&ouml;kartaksi kannattaa valita <ref id="latin1"
name="ISO Latin-1">-merkkej&auml; tuottava kartta <em/ fi-latin1/.
Seitsem&auml;nbittinen <em/fi/-kartta on poistumassa
k&auml;yt&ouml;st&auml; eik&auml; sit&auml; kannata
k&auml;ytt&auml;&auml; jos siihen ei ole erityist&auml; tarvetta.

Slackware-j&auml;rjestelmiss&auml; n&auml;pp&auml;imist&ouml;kartan
voi asettaa lis&auml;&auml;m&auml;ll&auml; tiedostoon <tt>
/etc/rc.d/rc.keymap </tt>tai <tt> /etc/rc.d/rc.local </tt>seuraava
rivi:

<tscreen><code>
/usr/bin/loadkeys fi-latin1       # Finnish latin1 keymap
</code></tscreen>

RedHatissa asetus taas on tiedostossa <tt>
/etc/sysconfig/keyboard</tt>, jossa pit&auml;&auml; olla seuraava rivi:

<tscreen><code>
KEYTABLE=/usr/lib/kbd/keytables/fi-latin1.map
</code></tscreen>

Debian-j&auml;rjestelmiss&auml; asetus tehd&auml;&auml;n tiedostoon
<tt> /etc/rc.boot/console</tt>.

N&auml;pp&auml;imist&ouml;karttatiedostot ovat yleens&auml;
hakemistossa <tt> /usr/lib/kbd/keytables</tt>. Mik&auml;li 
fi-latin1 -karttaa ei l&ouml;ydy t&auml;st&auml; hakemistosta, etsi
esim. Slackware-jakelun keytbls-paketti. Ruotsalaiset
k&auml;ytt&auml;v&auml;t samaa n&auml;pp&auml;imist&ouml;karttaa kuin
suomalaiset.

<sect1> ISO Latin-1 -merkist&ouml; <label id="latin1">

<p>
Suomenkielinen teksti kirjoitetaan Linux-ymp&auml;rist&ouml;ss&auml;
ISO Latin-1 -merkist&ouml;ll&auml;, joka k&auml;ytt&auml;&auml;
7-bittisi&auml; ASCII-merkkej&auml; englannin perusaakkosten
n&auml;ytt&auml;miseen ja 8-bittisi&auml; ns. ISO-skandeja
suomalaisiin kirjaimiin &aring;, &auml;, &ouml; jne. My&ouml;s mm. MS
Windows k&auml;ytt&auml;&auml; samaa merkist&ouml;&auml;.
Lis&auml;tietoja l&ouml;ytyy Timo Kiravuon merkist&ouml;ohjeesta <ref
id="skandit" name="[skandit]"> ja Jukka Korpelan
ISO-Latin-1-merkkej&auml; k&auml;sittelev&auml;st&auml; tekstist&auml;
<ref id="isolatin1" name="[ISO-latin1].">

Jos fi-latin1 -n&auml;pp&auml;imist&ouml;ll&auml; &auml;:n ja &ouml;:n
painalluksista tulee d- ja v-kirjaimia, hukkuu kahdeksas bitti
jonnekin. Ks. <ref id="paa" name="P&auml;&auml;teasetukset"> -kohta
sek&auml; <ref id="rlogin" name="rlogin"> ja <ref id="telnet"
name="telnet">. Jos skandien painaminen aiheuttaa piippauksia tai
mit&auml;&auml;n ei tapahdu, sovellus (esim. komentotulkki) ei huoli
8-bittisi&auml; merkkej&auml;. Katso sovelluksien kohdalta
komentotulkkisi (yleens&auml; <ref id="bash" name="bash"> tai <ref
id="tcsh" name="tcsh">) asetukset.

<sect1> N&auml;pp&auml;imist&ouml;kartan parantelua

<p>

<em/Timo Korvola ehdottaa/:

Gravea, tilde&auml; ja sirkumfleksia tarvitaan sen verran usein,
ett&auml; el&auml;m&auml;n helpottamiseksi voi tehd&auml;
fi-latin1.map:in lataamisen j&auml;lkeen vaikkapa n&auml;in:

<tscreen><code>
loadkeys << '@loadkeys'
  keycode 5 = four currency dollar
  keycode 13 = dead_acute grave
  keycode 27 = dead_diaeresis asciicircum asciitilde
  keycode 97 = Compose
@loadkeys
</code></tscreen>

T&auml;m&auml; korjaa my&ouml;s shift 4:n tuottamaan &#164;:n siten
kuin n&auml;pp&auml;imist&ouml;ss&auml; lukee. Oikeasta controlista
tehd&auml;&auml;n compose, jolla voi tuottaa vaikkapa è:n
n&auml;pp&auml;ilem&auml;ll&auml; compose ` e.

Konsolin n&auml;pp&auml;inkoodit saa helposti selville ohjelmalla <tt/
showkey/.

<sect> P&auml;&auml;teasetukset <label id="paa">

<p> 8-bittisten suomalaisten merkkien toimiminen vaatii, ett&auml;
p&auml;&auml;teyhteys on 8-bittinen. Yleens&auml; Linux-koneen
n&auml;pp&auml;imist&ouml;ll&auml; ja p&auml;&auml;telinjoilla
n&auml;in onkin, mutta mik&auml;li ei ole, asetus saadaan
p&auml;&auml;lle laittamalle seuraava komento komentotulkin
alustustiedostoon (<tt>.profile</tt>, <tt> .login </tt>jne):

<tscreen><code>
stty pass8
</code></tscreen>

8-bittisten merkkien toimiminen <ref id="rlogin" name="rlogin">- ja
<ref id="telnet" name="telnet">-yhteyksien yli on selitetty alempana
sovelluksien kohdalla.


<sect> Ymp&auml;rist&ouml;n lokaaliasetukset <label id="lok">

<p> Lokaaliasetusten tarkoitus on saada ohjelmat noudattamaan
esimerkiksi eri kielten erilaisia
aakkosj&auml;rjestyss&auml;&auml;nt&ouml;j&auml; ja muita
k&auml;yt&auml;nt&ouml;j&auml;. Lokaalit vaikuttavat mm. kellonaikojen
ja p&auml;iv&auml;m&auml;&auml;rien tulostusmuotoon ja tietueiden
lajitteluj&auml;rjestykseen eri ohjelmia k&auml;ytett&auml;ess&auml; -
mik&auml;li ohjelmat on tehty asianmukaisella tavalla ja kirjastot
tukevat kyseist&auml; lokaalia.

Uudehkojen Linux-jakelujen (Slackware 3.0 ja RedHat 2.1) kirjastot
tukevat dokumenttien mukaan yleist&auml; eurooppalaista
Latin1-merkist&ouml;lokaalia ISO-8859-1. Oikea lokaaliasetus Suomessa
on <tt/ finnish.iso88591/. Lokaali asetetaan
ymp&auml;rist&ouml;muuttujien LC_CTYPE, LC_TIME jne. avulla (ks.
<tt/ man 7 locale/).

Voi olla viisasta asettaa suomalainen lokaali jo nyt, niin ett&auml;
spesifisen suomalaisen lokaalituen mahdollisesti joskus
ilmestyess&auml; kirjastoihin se otetaan k&auml;ytt&ouml;&ouml;n.
Lokaalin asetus voi olla my&ouml;s ep&auml;viisasta, koska esim.
p&auml;iv&auml;m&auml;&auml;r&auml;tulostuksen muodon muuttuminen voi
muuttaa komentotiedostojen toimintaa ja rikkoa siten ohjelmia.
LC_TIME-lokaalin POSIX-asetuksella date-komennon tulostus on muotoa <tt/ Wed 
Aug 9 13:33:39 EETDST 1995 /kun taas suomalaisella lokaalilla
se olisi muotoa <tt/ 9.8.1995 13:33:39/.

LC_ALL- tai LC_TIME-asetuksen tekeminen ei siis ole
v&auml;ltt&auml;m&auml;tt&auml; j&auml;rkev&auml;&auml;, mutta
LC_CTYPE ja LC_COLLATE kannattaa asettaa suomalaiseksi. Esim. tcsh vaatii
LC_CTYPE-asetuksen, jotta 8-bittiset merkit toimisivat.

Jos k&auml;yt&auml;t komentotulkkina csh-varianttia (kuten tcsh),
haluat todenn&auml;k&ouml;isesti tehd&auml; asetuksen tiedostossa <tt>
/etc/csh.cshrc </tt>tai <tt> &dollar;HOME/.cshrc</tt>:

<tscreen><code>
        setenv LC_CTYPE finnish.iso88591
</code></tscreen>

Jos taas k&auml;yt&auml;t sh-varianttia (kuten bash tai pdksh), kirjoita
tiedostoon <tt> /etc/profile </tt>tai <tt> &dollar;HOME/.profile</tt>:

<tscreen><code>
        export LC_CTYPE=finnish.iso88591
</code></tscreen>


<sect> Aikavy&ouml;hykeasetukset <label id="aik">

<p> Linux-koneen CMOS-kello voi osoittaa joko UTC-aikaa - kuten
UNIX-koneissa on yleens&auml; tapana - tai paikallista aikaa. (UTC on
kansainv&auml;linen normaaliaika, suunnilleen sama kuin Greenwich Mean
Time eli GMT.) Linux-jakelut olettavat yleens&auml; kellon
k&auml;yv&auml;n paikallista aikaa, koska MS-DOS ja muut tavalliset
PC-k&auml;ytt&ouml;j&auml;rjestelm&auml;t eiv&auml;t tunne
aikavy&ouml;hykkeit&auml;. T&auml;ll&ouml;in Linuxin
k&auml;ynnistystiedostoissa - esim. <tt>/etc/rc.d/rc.S </tt>
(Slackware) tai <tt>/etc/rc.d/rc.sysinit</tt> (RedHat) - on komento
<tt/ clock -s/. Jos kello on UTC-ajassa, komennon pit&auml;&auml; olla
<tt/ clock -u -s/.

Kun CMOS-kello on UTC-ajassa, k&auml;ytt&ouml;j&auml;rjestelm&auml;
huolehtii ajan n&auml;ytt&auml;misest&auml; oikein mm. kes&auml;aikaan
siirrytt&auml;ess&auml;, kunhan aikavy&ouml;hyke on asetetty oikein.
Jos CMOS-kello on paikallisessa ajassa, kes&auml;- ja talviaikoihin
siirtymiset on teht&auml;v&auml; k&auml;sin. CMOS-kellon aikaa voi
muuttaa joko CMOS-setupista k&auml;sin tai sitten Linuxissa
clock-komennolla (ks. <tt/ man 8 clock/).

Suomen aikavy&ouml;hyke on EET (Eastern European Time).
Aikavy&ouml;hykkeen voi asentaa k&auml;ytt&ouml;j&auml;rjestelm&auml;n
asennuksen yhteydess&auml;; mik&auml;li et tehnyt sit&auml; tai teit
sen v&auml;&auml;rin, voit tehd&auml; asetuksen root-tunnuksella
komennolla

<tscreen><code>
ln -s /usr/lib/zoneinfo/Europe/Helsinki /usr/lib/zoneinfo/localtime
</code></tscreen>

(Vanhemmissa Linux-jakeluissa ei ole Helsinki-vy&ouml;hykett&auml;;
k&auml;yt&auml; EET:t&auml;).

Yleens&auml; systeemin oletusaikavy&ouml;hykkeen asettaminen
riitt&auml;&auml;. Jos yksitt&auml;inen k&auml;ytt&auml;j&auml;
tarvitsee erilaisen aikavy&ouml;hykkeen, sen voi asettaa
k&auml;ytt&auml;j&auml;kohtaisesti TZ-muuttujalla.
POSIX-k&auml;yt&auml;nt&ouml; on, ett&auml; TZ-asetus on muotoa
EET-2EETDST, mik&auml; tarkoittaa, ett&auml; aikavy&ouml;hyke on EET,
se on kaksi tuntia edell&auml; GMT:t&auml;, ja kes&auml;aikaan
siirryt&auml;&auml;n EETDST-s&auml;&auml;nn&ouml;n mukaan. Asetus
saadaan aikaan komentotulkin alustustiedostossa, esim.
bash-k&auml;ytt&auml;jille lis&auml;&auml;m&auml;ll&auml; kotihakemiston
<tt> .profile</tt>-tiedostoon rivi

<tscreen><code>
export TZ=EET-2EETDST
</code></tscreen>


<sect> X11R6 <label id="x11">

<p> XFree86 saa n&auml;pp&auml;imist&ouml;karttansa Linuxin
konsolilta. Useimpien n&auml;pp&auml;inten (ml. &auml; ja &ouml;)
pit&auml;isi toimia suoraan oikein, kun konsolin
n&auml;pp&auml;imist&ouml;kartta on asetettu. "Kuolleiden"
n&auml;pp&auml;inten m&auml;&auml;rityksi&auml; (dead_acute,
dead_diaeresis ym.) ei kuitenkaan saada konsolilta, joten lopputulosta
t&auml;ytyy hieman paikkailla.

Jos kone on konfiguroitu k&auml;ynnist&auml;m&auml;&auml;n xdm eli
k&auml;ytt&auml;j&auml; ei kirjoittaudu sis&auml;&auml;n
virtuaalikonsolille vaan suoraan X11:aan, voi olla tarpeen asettaa
koko suomalainen n&auml;pp&auml;imist&ouml;kartta<ref id="xmodmap"
name=".Xmodmap">-tiedostossa.

Mik&auml;li AltGr-n&auml;pp&auml;in ei toimi (merkit {, &#91;, &#93;,
}, \ jne.), tarkista, ett&auml; X:n konfigurointitiedostossa
(<tt>/etc/XF86Config </tt>tai <tt> /usr/lib/X11/XF86Config</tt>) on rivi

<tscreen><code>
RightAlt    ModeShift
</code></tscreen>

ja ett&auml; sit&auml; ei ole kommentoitu pois &num;-merkill&auml;.

X:n k&auml;ynnistysskriptit ajavat yleens&auml; xmodmap-ohjelman, joka
muuttaa X:n n&auml;pp&auml;imist&ouml;karttaa k&auml;ytt&auml;j&auml;n
<tt> .Xmodmap</tt>-tiedoston perusteella. <tt> .Xmodmap</tt>-tiedosto
voi n&auml;ytt&auml;&auml; esim. t&auml;lt&auml;:

<tscreen><code>
keycode  13 = 4 currency dollar
keycode  21 = acute grave
keycode  35 = dead_diaeresis asciicircum asciitilde
</code></tscreen>

T&auml;ss&auml; n&auml;pp&auml;imeen, jonka n&auml;pp&auml;inkoodi on
13 (n&auml;pp&auml;imist&ouml;n p&auml;&auml;lohkon
numeron&auml;pp&auml;in 4) sidotaan merkit 4, valuuttamerkki (&#164;)
ja &dollar;, jotka tulevat, kun ko. n&auml;pp&auml;int&auml; painetaan
yksin&auml;&auml;n, shiftin kanssa ja AltGr-n&auml;pp&auml;imen
kanssa.

N&auml;pp&auml;imeen 21 (Backspace-n&auml;pp&auml;imen vieress&auml;)
sidotaan hipsumerkit ja n&auml;pp&auml;imeen 35 (&aring;:n ja Enterin
v&auml;liss&auml;) sidotaan "kuolleet pisteet" (&#168;) sek&auml;
sirkumfleksi ("hattumerkki") ja tilde (&tilde;). Voit kirjoittaa esim.
saksalaisen ü-kirjaimen painamalla ensin kuolleita pisteit&auml; ja
sitten u:ta. .Xmodmap-tiedoston muutokset saa heti
k&auml;ytt&ouml;&ouml;n komennolla

<tscreen><code>
xmodmap .Xmodmap
</code></tscreen>

Ks. <tt> man xmodmap</tt>. Huomaa, ett&auml; emacs saattaa kohdella
n&auml;pp&auml;imi&auml; poikkeavasti. X:n alla
n&auml;pp&auml;inkoodit saa selville ohjelmalla <tt/ xev/.

<bf> Esimerkki X11-n&auml;pp&auml;imist&ouml;kartasta </bf> <label id="xmodmap">

T&auml;m&auml;n voi sijoittaa .Xmodmap-tiedostoon. 

<tscreen><code>
keycode   8 =
keycode   9 = Escape
keycode  10 = 1 exclam
keycode  11 = 2 quotedbl at
keycode  12 = 3 numbersign sterling
keycode  13 = 4 dollar dollar
keycode  14 = 5 percent
keycode  15 = 6 ampersand
keycode  16 = 7 slash braceleft
keycode  17 = 8 parenleft bracketleft
keycode  18 = 9 parenright bracketright
keycode  19 = 0 equal braceright
keycode  20 = plus question backslash
keycode  21 = apostrophe grave
keycode  22 = Delete
keycode  23 = Tab
keycode  24 = Q
keycode  25 = W
keycode  26 = E
keycode  27 = R
keycode  28 = T
keycode  29 = Y
keycode  30 = U
keycode  31 = I
keycode  32 = O
keycode  33 = P
keycode  34 = aring Aring
keycode  35 = dead_diaeresis asciicircum asciitilde
keycode  36 = Return
keycode  37 = Control_L
keycode  38 = A
keycode  39 = S
keycode  40 = D
keycode  41 = F
keycode  42 = G
keycode  43 = H
keycode  44 = J
keycode  45 = K
keycode  46 = L
keycode  47 = odiaeresis Odiaeresis
keycode  48 = adiaeresis Adiaeresis
keycode  49 = section onehalf
keycode  50 = Shift_L
keycode  51 = apostrophe asterisk
keycode  52 = Z
keycode  53 = X
keycode  54 = C
keycode  55 = V
keycode  56 = B
keycode  57 = N
keycode  58 = M
keycode  59 = comma semicolon
keycode  60 = period colon
keycode  61 = minus underscore
keycode  62 = Shift_R
keycode  63 = KP_Multiply
keycode  64 = Alt_L
keycode  65 = space
keycode  66 = Caps_Lock
keycode  67 = F1
keycode  68 = F2
keycode  69 = F3
keycode  70 = F4
keycode  71 = F5
keycode  72 = F6
keycode  73 = F7
keycode  74 = F8
keycode  75 = F9
keycode  76 = F10
keycode  77 = Num_Lock
keycode  78 = Scroll_Lock
keycode  79 = Home KP_7 KP_7 Home
keycode  80 = Up KP_8 KP_8 Up
keycode  81 = Prior KP_9 KP_9 Prior
keycode  82 = KP_Subtract
keycode  83 = Left KP_4 KP_4 Left
keycode  84 = Begin KP_5 KP_5 Begin
keycode  85 = Right KP_6 KP_6 Right
keycode  86 = KP_Add
keycode  87 = End KP_1 KP_1 End
keycode  88 = Down KP_2 KP_2 Down
keycode  89 = Next KP_3 KP_3 Next
keycode  90 = Insert KP_0 KP_0 Insert
keycode  91 = Delete KP_Decimal KP_Decimal Delete
keycode  92 = 0x1007ff00
keycode  93 =
keycode  94 = less greater bar
keycode  95 = F11
keycode  96 = F12
keycode  97 = Home
keycode  98 = Up
keycode  99 = Prior
keycode 100 = Left
keycode 101 = Begin
keycode 102 = Right
keycode 103 = End
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insert
keycode 107 = Delete
keycode 108 = KP_Enter
keycode 109 = Control_R
keycode 110 = Pause
keycode 111 = Print
keycode 112 = KP_Divide
keycode 113 = Alt_R Mode_switch
keycode 114 = Break
keycode 115 =
</code></tscreen>



<sect> Er&auml;iden sovellusten asetukset <label id="sov">

<p> T&auml;h&auml;n ei ole ker&auml;tty kaikkia mahdollisia
sovelluksia; lis&auml;apua voi l&ouml;yty&auml; esim. German-HOWTO:sta
<ref id="germanhowto" name="[german].">

<sect1> bash <label id="bash">

<p> Tee kotihakemistoosi tiedosto <tt/ .inputrc/, ja laita sinne
n&auml;m&auml; rivit:

<tscreen><code>
set meta-flag on
set convert-meta off
set output-meta on
</code></tscreen>

T&auml;m&auml;n j&auml;lkeen komentotulkki huolii 8-bittiset merkit ja
n&auml;ytt&auml;&auml; ne oikein.

bash lukee k&auml;ynnistyess&auml;&auml;n useita eri tiedostoja. <tt/
.profile/, <tt/ .bash_login /ja <tt/ .bash_profile /luetaan ainoastaan
sis&auml;&auml;nkirjoittautumisen (login) yhteydess&auml;; <tt/
.bashrc /taas suoritetaan aina kun bash k&auml;ynnistyy (my&ouml;s
esim. xterm-ikkunassa).

<sect1> tcsh <label id="tcsh">

<p> tcsh k&auml;ytt&auml;&auml; lokaaliasetusta LC_CTYPE. Tee
kotihakemistoosi tiedosto <tt> .tcshrc</tt>, ja laita sinne rivi

<tscreen><code>
setenv LC_CTYPE finnish.iso88591
</code></tscreen>

Huomaa, ett&auml; RedHat 2.1:n mukana tuleva tcsh ei jostain
syyst&auml; toimi 8-bittisten merkkien kanssa oikein. Voit joko
k&auml;&auml;nt&auml;&auml; tcsh:n itse, tai kopioida
tcsh-bin&auml;&auml;rin esim. Slackware 3.0:sta.

<sect1> emacs <label id="emacs">

<p> Tee tai editoi kotihakemistossasi tiedostoa <tt> .emacs</tt>. Laita
sinne rivit:

<tscreen><code>
(standard-display-european 1)
(set-input-mode (car (current-input-mode))
                (nth 1 (current-input-mode))
                'accept-8bit-input)
(require 'iso-syntax)
</code></tscreen>

Huomaa, ett&auml; GNU Emacs 19.25, joka on mm. Slackware-jakelun
versiossa 2.0.0, on rikki eik&auml; eurooppalaisten merkkien tuki
toimi. Jos k&auml;yt&auml;t t&auml;t&auml; versiota, poista se ja
asenna uudempi versio. My&ouml;s emacs 19.30 toimii v&auml;&auml;rin
jos se on k&auml;&auml;nnetty vanhalla gcc:ll&auml; (esim. 2.6.3).


<sect1> telnet <label id="telnet">

<p> Luo kotihakemistoosi tiedosto <tt/ .telnetrc /ja tee sinne oma
rivi kullekin koneelle johon otat yhteytt&auml; telnetill&auml;.
Rivill&auml; on koneen nimi sek&auml; komento <tt/ set outbinary/. Jos
esim. otat yhteytt&auml; koneeseen masina paikallisessa verkossa
sek&auml; koneeseen hissi.kone.fi Internetin yli, <tt> 
.telnetrc</tt>-tiedostosi pit&auml;isi n&auml;ytt&auml;&auml;
t&auml;lt&auml;:

<tscreen><code>
masina set outbinary
hissi.kone.fi set outbinary
</code></tscreen>

Voit my&ouml;s antaa k&auml;ynnistett&auml;ess&auml; option <tt/ -8
/tai asettaa bin&auml;&auml;rimoodin telnet-istunnon aikana painamalla
telnetin escape-merkki&auml; (ei ESC-n&auml;pp&auml;in vaan telnetin
escape character, oletuksena <tt/ C-] /joka l&ouml;ytyy yleens&auml;
n&auml;pp&auml;ilem&auml;ll&auml; Ctrl-5) ja antamalla komennon.
Ks. <tt/ man telnet/.


<sect1> rlogin <label id="rlogin">

<p>
rlogin-komennossa pit&auml;&auml; antaa optio <tt/ -8 /jotta 8-bittiset
merkit kulkisivat yhteyden l&auml;pi. Ks. <tt/ man rlogin/.


<sect1> joe 

<p> joe tarvitsee option <tt/ -asis /jotta se kohtelisi merkkej&auml;
8-bittisin&auml;.

Poista v&auml;lily&ouml;nti joerc-tiedostosta sen rivin alusta, jolla
lukee <tt/ -asis/. Kaikkien k&auml;ytt&auml;jien yhteinen
joerc-tiedosto on yleens&auml; <tt> /usr/lib/joe/joerc </tt>ja
k&auml;ytt&auml;j&auml;kohtainen tiedosto <tt>
&dollar;HOME/.joerc</tt>.


<sect1> less 

<p>
Aseta ymp&auml;rist&ouml;muuttuja LESSCHARSET arvoon latin1: 

<tscreen><code>
export LESSCHARSET=latin1
</code></tscreen>

tai vastaava C-shellin komento.

<sect1> irc 

<p>

<em> T&auml;m&auml;n kirjoitti Jani Tammi (jantam@utu.fi).</em> 

Laita <tt> .ircrc</tt>-tiedostoon rivi:

<tscreen><code>
        set eight_bit_characters on
</code></tscreen>

T&auml;m&auml;n lis&auml;ksi saatat tarvita my&ouml;s komennon

<tscreen><code>
        /set translation latin_1
</code></tscreen>

Huomaa, ett&auml; t&auml;m&auml; komento annetaan irc:iss&auml;, 
eik&auml; sit&auml; kirjoiteta <tt> .ircrc</tt>-tiedostoon.

<sect1> elm <label id="elm">

<p>
Laita tiedostoon &dollar;HOME/.elm/elmrc seuraavat rivit:

<tscreen><code>
charset = iso-8859-1
displaycharset = iso-8859-1
textencoding = 8bit
</code></tscreen>

<sect1> pine <label id="pine">

<p> Laita tiedostoon <tt> /usr/local/lib/pine.conf </tt>tai <tt>
&dollar;HOME/.pinerc </tt>seuraava rivi:

<tscreen><code>
character-set=ISO-8859-1
</code></tscreen>

<sect1> TeX <label id="tex">

<p> 
Suomalaiset aakkoset ja tavutuksen saa TeXiss&auml; toimimaan
parhaiten k&auml;ytt&auml;m&auml;ll&auml; babel-pakettia, joka on siis
syyt&auml; valita asennettavaksi TeXi&auml; asennettaessa.

TeXist&auml; on kaksi Linux-j&auml;rjestelmiss&auml; yleisesti
k&auml;ytetty&auml; jakelua: NTeX ja teTeX. NTeX tulee Slackwaren ja
teTeX RedHatin mukana. teTeX on n&auml;ist&auml; helpompi
konfiguroida.

TeXin hakemistopolut ja konfigurointi vaihtelevat jakelusta toiseen.
Voit joutua tekem&auml;&auml;n asiat jakelusta riippuen hyvinkin
paljon t&auml;st&auml; ohjeesta poikkeavalla tavalla.

<sect2> NTeX

<p>
<em>T&auml;ss&auml; opasti Tuomas Aura (Tuomas.Aura@hut.fi):</em>

LaTeXissa (2e) ei ole valmiina suomenkielist&auml; tavutusta, vaan se
on k&auml;&auml;nnett&auml;v&auml; itse. T&auml;m&auml; tapahtuu
seuraavasti (root-k&auml;ytt&auml;j&auml;n&auml;):

<itemize>
<item>	Etsi tiedosto <tt/ language.dat /(Slackwaren NTeXiss&auml; <tt>
  	/usr/lib/texmf/tex/latex/cfg/language.dat</tt>) 
	ja editoi sit&auml;. Valitse enint&auml;&auml;n 4 kielt&auml; 
	ja poista niiden edest&auml; kommenttimerkki %.
	Slackware 3.0:n NTeX:iss&auml; on kielen nimi "finnish"
	kirjoitettu v&auml;&auml;rin: "finish". T&auml;m&auml; 
	on syyt&auml; korjata (tiedoston <tt/ hyphen.finish/ 
	nimess&auml; se ei haittaa).

<item>	Samassa hakemistossa on  <tt/ lthyphen.cfg /joka on korvattava
	babel-versiolla:
	<tscreen><code>
	rm lthyphen.cfg
	ln -s lthyphen.babel lthyphen.cfg
	</code></tscreen>

<item>  Poista tavutuksen amerikkalainen oletustiedosto:
	<tscreen><code>
	rm /usr/lib/texmf/tex/tex/macros/hyphen.tex
	</code></tscreen>

<item>	Etsi tiedosto <tt/ latex.ltx /ja mene samaan hakemistoon 
	(NTeXiss&auml; <tt> /usr/lib/texmf/tex/latex/latex-base</tt>). Aja <tt/ initex/:
	<tscreen><code>
	initex latex.ltx
	</code></tscreen>

<item>	N&auml;in syntyy tiedosto <tt/ latex.fmt/. Kopioi se LaTeXin 
	ini-hakemistoon, esim. NTeXiss&auml;:
	<tscreen><code>
	mv latex.fmt /usr/lib/texmf/ini/
	</code></tscreen>

</itemize>

Nyt pit&auml;isi suomen tavutuksen toimia, kunhan dokumentin otsikot
ovat kunnossa. 

<sect2> teTeX

<p>
teTeX:in konfigurointi on helppoa: 

<itemize>
<item>	Ajetaan <tt/ texconfig/
<item>	Valitaan valikosta HYPHEN
<item>	Editori aukeaa editoimaan <tt/ language.dat/-tiedostoa,
	poistetaan kommentti sen rivin alusta, jossa lukee <tt/ finnish/
<item>	Uusi LaTeX-formaatti luodaan automaattisesti
</itemize>

<sect2> LaTeX-otsikot

<p>
Suomalaisen LaTex-dokumentin alkuriveill&auml; pit&auml;isi lukea jotain
t&auml;m&auml;n tapaista:

<tscreen><code>
\documentclass[a4paper,finnish]{article}
\usepackage{t1enc,isolatin1,babel}
</code></tscreen>

LaTeX2e &lt;1994/12/01&gt -formaatilla ja uudemmilla toimii my&ouml;s
hienompi ratkaisu:

<tscreen><code>
\documentclass[a4paper, finnish]{article}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
</code></tscreen>

N&auml;ill&auml; otsikoilla pit&auml;isi suomalaisen tavutuksen ja
kirjainten toimia oikein, mik&auml;li TeX-jakelu on asennettu ja
konfiguroitu oikein. T&auml;ss&auml; ei neuvota LaTeX-dokumenttien
tekemist&auml; tarkemmin. Jukka Korpelan TKK:lle tekem&auml;st&auml;
Tex-ohjeesta <ref id="texref" name="[texref]"> voi olla apua.

<sect> Posti, nyyssit ja 8-bittiset merkit <label id="mai">

<sect1> Perusratkaisu: 8-bittiset merkit viesteihin 

<p> Posti- ja nyyssiviesteiss&auml; (USENET news ja vastaavat
paikalliset j&auml;rjestelm&auml;t) on j&auml;rkevint&auml;
l&auml;hett&auml;&auml; 8-bittisi&auml; ISO Latin1-skandeja silloin
kun kirjoitetaan suomeksi tai ruotsiksi.

Postiohjelmat kuten <ref id="elm" name="elm"> ja <ref id="pine"
name="pine"> n&auml;ytt&auml;v&auml;t Latin1-merkit oikein, kun ne on
konfiguroitu sovellusten kohdalla kuvatulla tavalla.
J&auml;ljell&auml; on kuitenkin viel&auml; yksi ongelma: miten saada
postissa mit&auml; kummallisimmissa muodoissa tulevat viestit
ISO-8859-1:n mukaisiksi?

8-bittiset ISO Latin1-merkit kirjoitetaan viestiin sellaisenaan ja
viestin otsikossa ilmoitetaan, ett&auml; sis&auml;lt&ouml; on
8-bittist&auml; teksti&auml;. T&auml;m&auml; tapahtuu
liitt&auml;m&auml;ll&auml; l&auml;hteviin viesteihin seuraavat
MIME-standardin <ref id="rfc1521" name="[RFC1521]"> mukaiset otsikot.
T&auml;m&auml; edellytt&auml;&auml;, ett&auml; kaikki viesti&auml;
v&auml;litt&auml;v&auml;t koneet kykenev&auml;t
k&auml;sittelem&auml;&auml;n 8-bittist&auml; tietoa viestin rungossa.
Suomi on jo jokseenkin l&auml;peens&auml; 8-bittinen, mutta
erityisesti USA:sta l&ouml;ytyy viel&auml; runsaasti 7-bittisi&auml;
postij&auml;rjestelmi&auml;, jotka ovat postistandardin RFC822
mukaisia <ref id="rfc822" name="[RFC822]">. N&auml;iden kanssa on
yleens&auml; tyydytt&auml;v&auml; k&auml;ytt&auml;m&auml;&auml;n <ref
id="qp" name="QP-koodausta">. Tavallisesti seuraavat otsikot ja
8-bittiset merkit kuitenkin riitt&auml;v&auml;t:

<tscreen><code>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
</code></tscreen>

Esim. elm-ohjelmassa n&auml;m&auml; otsikot laitetaan tiedostoon <tt>
&dollar;HOME/.elm/elmheaders</tt>. emacs-pohjaisilla posti- ja
nyyssisovelluksilla asetus tapahtuu helpoiten laittamalla seuraavat
rivit <tt/ .emacs/-tiedostoon:

<tscreen><code>
(setq mail-default-headers "Mime-Version: 1.0\n\
  Content-Type: text/plain; charset=ISO-8859-1\n\
  Content-Transfer-Encoding: 8bit\n")
</code></tscreen>

<sect1> MIME Quoted Printable-koodaus <label id="qp">

<p>
Yleisin ongelma viestien vastaanotossa ovat MIME Quoted Printable
-koodatut merkit <ref id="rfc1522" name="[RFC1522]">. N&auml;it&auml;
kutsutaan usein sattuvasti my&ouml;s nimell&auml; Quoted Unreadable.

QP-koodattuja viestej&auml; ei kannata l&auml;hett&auml;&auml;, jos
8-bittisten merkkien l&auml;hett&auml;minen sellaisenaan vain on mahdollista,
koska varsin monet lukijat n=E4kev=E4t QP-viestit t=E4m=E4n
n=E4k=F6isin=E4. QP-koodatut - samoin kuin kokonaan
bin&auml;&auml;ridataa sis&auml;lt&auml;v&auml;t Base64-koodatut
viestit - saa purettua lukukelpoisiksi metamail-ohjelmalla <ref
id="metamail" name="[metamail]">. metamail tulee valmiina ainakin
RedHat 2.1-jakelun mukana.

elm (ainakin versio 2.4 PL24) osaa k&auml;ytt&auml;&auml; metamailia
suoraan, mik&auml;li metamail on polun varrella eli ajettavissa.
emacs-pohjaiset posti- ja nyyssisovellukset saattavat tarvita tiedon
metamailin sijainnista <tt/ .emacs/-tiedostossa esim. n&auml;in:

<tscreen><code>
(setq metamail-program-name "/usr/local/bin/metamail")
</code></tscreen>


<sect> Aiheeseen liittyv&auml;&auml; materiaalia <label id="vii">

<p>
Seuraavat dokumentit voivat olla hy&ouml;dyllist&auml; luettavaa
n&auml;iden ongelmien kanssa painiessasi:

<enum>

<item>	<label id="skandit">
	&#91;skandit&#93; 

	<bf/Suomalaiset merkit tietokoneissa/, Timo Kiravuo:

	<url url="http://www.nixu.fi/~kiravuo/skandit.html">

<item>	<label id="isolatin1">
	&#91;ISO-latin1&#93; 

	<bf/ISO-Latin-1-merkist&ouml;st&auml;/, Jukka Korpela:

	<url url="http://www.hut.fi/~jkorpela/ISO.html">

<item>	<label id="texref">
	&#91;texref&#93; 

	<bf/TeX-ladontaohjelma/, Jukka Korpela:

	<url url="http://www.hut.fi/~jkorpela/softa/tex.html">

<item>	<label id="danishhowto">
	&#91;danish&#93; 

	<bf/Danish-HOWTO/, Thomas Petersen:

	<url url="http://www.funet.fi/pub/Linux/doc/HOWTO/Danish-HOWTO">

<item>	<label id="germanhowto">
	&#91;german&#93; 

	<bf/German-HOWTO/, Thomas Ploss: 

	<url url="http://www.funet.fi/pub/Linux/doc/HOWTO/German-HOWTO">

<item>	<label id="rfc822">
	&#91;RFC822&#93; 

	<bf/Format of Internet Text Messages/, David Crocker: 

	<url url="http://www.funet.fi/pub/doc/rfc/rfc822.txt">

<item>	<label id="rfc1521">
	&#91;RFC1521&#93; 

	<bf/MIME, Part One: Format of Internet Message Bodies/, 
	N. Borenstein &amp; N. Freed:

	<url url="http://www.funet.fi/pub/doc/rfc/rfc1521.txt">

<item>	<label id="rfc1522">
	&#91;RFC1522&#93; 

	<bf/MIME, Part Two: Message Header Extensions/, K. Moore:

	<url url="http://www.funet.fi/pub/doc/rfc/rfc1522.txt">


<item>	<label id="metamail">
	&#91;metamail&#93; 

	<bf/Metamail-ohjelma/: 

	<url url="ftp://ftp.funet.fi/pub/unix/mail/metamail/mm2.7.tar.Z">

<item>  <label id="linuxdoc">
	&#91;linuxdoc&#93; 

	<bf/Linuxdoc-SGML/, Matthew D. Welsh:

	<url url="ftp://ftp.funet.fi:pub/mirrors/sunsite.unc.edu/pub/Linux/utils/text/linuxdoc-sgml-1.4.tar.gz">

<item>	<label id="unixhelp">
	&#91;unixhelp&#93; 

	<bf/UNIXHelp for Users/, University of Edinburgh:

	<url url="http://unixhelp.ed.ac.uk/">

<item>	<label id="faqs">
	&#91;faqs&#93;

	<bf/FAQ Collection/, Thomas Fine:

	<url url="http://www.cis.ohio-state.edu/hypertext/faq/usenet/FAQ-List.html">

</enum>

</article>
