pjt@iki.fi
Tämä dokumentti kertoo, mitä pitäisi tehdä Linuxin suomettamiseksi sen jälkeen kun käyttöjärjestelmä perussovelluksineen on asennettu koneeseen jostain Linux-jakelusta. Näin saadaan suomalaiset kirjaimet, näppäimistö ja muut paikalliset asetukset toimimaan oikein. Lähtökohtana on Slackware- tai RedHat-jakelusta asennettu Linux-järjestelmä, mutta ohjeista on todennäköisesti apua myös muiden Linux-jakeluversioiden käyttäjille.
Varsin suuri osa ohjeista pätee Linuxin lisäksi muissakin Unix-tyyppisissä järjestelmissä. Sama toimii myös toisinpäin: jos et löydä etsimääsi tietoa tästä dokumentista, tutki muita FAQ- jne. tiedostoja (ks. esim. Linuxin HOWTO-dokumentit sekä viitteet [ UNIXHelp] ja [ faqs]). Tämän dokumentin viitteissä on, mikäli mahdollista, käytetty kotimaisia peilauksia ulkomailla sijaitsevien alkuperäisten tiedostovarastojen asemesta.
Tässä ohjeessa ei ole yleensä eritelty
root-käyttäjän ja tavallisen käyttäjän
tekemiä asetuksia. Jotkut ohjeista ovat siis ainoastaan
ylläpitäjän heiniä ja vaikuttavat koneen kaikkiin
käyttäjiin, jotkut taas ovat tavallisen
käyttäjän itselleen tekemiä asetuksia.
Linux-koneissa ylläpitäjä ja käyttäjä
ovat usein - mutta eivät aina - sama henkilö. Hyvin monet
asetukset voi tehdä molemmilla tavoilla; esim. kaikkien
käyttäjien oletukset hakemistossa /etc
oleviin
tiedostoihin ja käyttäjän omat asetukset
kotihakemistossa $HOME
oleviin pisteellä alkaviin
tiedostoihin.
Copyright © 1996 by Pekka Taipale. Tätä dokumenttia
saa kopioida ja levittää muuttamattomana vapaasti. Jos
levität muutettua tai lyhennettyä versiota dokumentista,
tätä tekijänoikeusmerkintää ei saa poistaa.
En ota vastuuta mahdollisista virheistä enkä varsinkaan
muiden muuttamista versioista. Jos teet dokumenttiin
lisäyksiä tai korjauksia, merkitse selvästi oma
työsi. Parasta olisi, jos lähettäisit
korjausehdotuksesi minulle osoitteeseen pjt@iki.fi
jolloin ne
voidaan ottaa mukaan alkuperäiseen tekstiin.
Tämä HOWTO on kirjoitettu SGML-muodossa. HTML-, TeX- ja tekstiversiot generoidaan SGML:stä Linuxdoc-SGML -ohjelmalla [ Linuxdoc]. Tämän tekstin ulkopuolelle osoittavat viittaukset (HTML-versiossa linkit) on koottu yhteen paikkaan, ks. luku Aiheeseen liittyvää materiaalia. Muualla dokumentissa olevat linkit ovat ristiinviittauksia dokumentin sisällä. Näin on menetelty siksi, että olisi helpompi hahmottaa, milloin HTML-version linkin seuraaminen on viemässä lukemaan jotakin muuta dokumenttia ja milloin se on ristiinviittaus tämän HOWTO:n sisällä.
Kiitos kaikille kommentteja ja korjauksia esittäneille. Erityisesti mainittakoon Tuomas Aura, Tuomas Eerola, Timo Korvola, Jaakko Ruohio, Jani Tammi ja Lars Wirzenius.
Tässä kerrotaan tekstikonsolin näppäimistöasetuksista. X-ympäristöstä on tietoa luvussa X11R6.
Jos näppäimistösi on Linuxin asennuksen jäljiltä amerikkalaista mallia, olet ohittanut näppäimistökartan valinnan asennusohjelmassa. Näppäimistökartaksi kannattaa valita ISO Latin-1-merkkejä (ks. kohta alla) tuottava kartta fi-latin1. Seitsemänbittinen fi-kartta on poistumassa käytöstä eikä sitä kannata käyttää jos siihen ei ole erityistä tarvetta.
Slackware-järjestelmissä näppäimistökartan
voi asettaa lisäämällä tiedostoon /etc/rc.d/rc.keymap
tai /etc/rc.d/rc.local
seuraava
rivi:
/usr/bin/loadkeys fi-latin1 # Finnish latin1 keymap
RedHatissa asetus taas on tiedostossa /etc/sysconfig/keyboard
, jossa pitää olla seuraava rivi:
KEYTABLE=/usr/lib/kbd/keytables/fi-latin1.map
Debian-järjestelmissä asetus tehdään tiedostoon
/etc/rc.boot/console
.
Näppäimistökarttatiedostot ovat yleensä
hakemistossa /usr/lib/kbd/keytables
. Mikäli
fi-latin1 -karttaa ei löydy tästä hakemistosta, etsi
esim. Slackware-jakelun keytbls-paketti. Ruotsalaiset
käyttävät samaa näppäimistökarttaa kuin
suomalaiset.
Suomenkielinen teksti kirjoitetaan Linux-ympäristössä ISO Latin-1 -merkistöllä, joka käyttää 7-bittisiä ASCII-merkkejä englannin perusaakkosten näyttämiseen ja 8-bittisiä ns. ISO-skandeja suomalaisiin kirjaimiin å, ä, ö jne. Myös mm. MS Windows käyttää samaa merkistöä. Lisätietoja löytyy Timo Kiravuon merkistöohjeesta [ skandit] ja Jukka Korpelan ISO-Latin-1-merkkejä käsittelevästä tekstistä [ ISO-latin1].
Jos fi-latin1 -näppäimistöllä ä:n ja ö:n painalluksista tulee d- ja v-kirjaimia, hukkuu kahdeksas bitti jonnekin. Ks. Pääteasetukset-kohta ( ) sekä rlogin ( ) ja telnet ( ). Jos skandien painaminen aiheuttaa piippauksia tai mitään ei tapahdu, sovellus (esim. komentotulkki) ei huoli 8-bittisiä merkkejä. Katso sovelluksien kohdalta komentotulkkisi asetukset (kohdat bash ja tcsh).
Timo Korvola ehdottaa:
Gravea, tildeä ja sirkumfleksia tarvitaan sen verran usein, että elämän helpottamiseksi voi tehdä fi-latin1.map:in lataamisen jälkeen vaikkapa näin:
loadkeys << '@loadkeys'
keycode 5 = four currency dollar
keycode 13 = dead_acute grave
keycode 27 = dead_diaeresis asciicircum asciitilde
keycode 97 = Compose
@loadkeys
Tämä korjaa myös shift 4:n tuottamaan valuuttamerkin siten kuin näppäimistössä lukee. Oikeasta controlista tehdään compose, jolla voi tuottaa vaikkapa è:n näppäilemällä compose ` e.
Konsolin näppäinkoodit saa helposti selville ohjelmalla showkey
.
8-bittisten suomalaisten merkkien toimiminen vaatii, että
pääteyhteys on 8-bittinen. Yleensä Linux-koneen
näppäimistöllä ja päätelinjoilla
näin onkin, mutta mikäli ei ole, asetus saadaan
päälle laittamalle seuraava komento komentotulkin
alustustiedostoon (.profile
, .login
jne):
stty pass8
8-bittisten merkkien toimiminen rlogin- ja telnet-yhteyksien yli on selitetty alempana sovelluksien kohdalla (ks. kohdat rlogin ja telnet).
Lokaaliasetusten tarkoitus on saada ohjelmat noudattamaan esimerkiksi eri kielten erilaisia aakkosjärjestyssääntöjä ja muita käytäntöjä. Lokaalit vaikuttavat mm. kellonaikojen ja päivämäärien tulostusmuotoon ja tietueiden lajittelujärjestykseen eri ohjelmia käytettäessä - mikäli ohjelmat on tehty asianmukaisella tavalla ja kirjastot tukevat kyseistä lokaalia.
Uudehkojen Linux-jakelujen (Slackware 3.0 ja RedHat 2.1) kirjastot
tukevat dokumenttien mukaan yleistä eurooppalaista
Latin1-merkistölokaalia ISO-8859-1. Oikea lokaaliasetus Suomessa
on finnish.iso88591
. Lokaali asetetaan
ympäristömuuttujien LC_CTYPE, LC_TIME jne. avulla (ks.
man 7 locale
).
Voi olla viisasta asettaa suomalainen lokaali jo nyt, niin että
spesifisen suomalaisen lokaalituen mahdollisesti joskus
ilmestyessä kirjastoihin se otetaan käyttöön.
Lokaalin asetus voi olla myös epäviisasta, koska esim.
päivämäärätulostuksen muodon muuttuminen voi
muuttaa komentotiedostojen toimintaa ja rikkoa siten ohjelmia.
LC_TIME-lokaalin POSIX-asetuksella date-komennon tulostus on muotoa Wed Aug 9 13:33:39 EETDST 1995
kun taas suomalaisella lokaalilla
se olisi muotoa 9.8.1995 13:33:39
.
LC_ALL- tai LC_TIME-asetuksen tekeminen ei siis ole välttämättä järkevää, mutta LC_CTYPE ja LC_COLLATE kannattaa asettaa suomalaiseksi. Esim. tcsh vaatii LC_CTYPE-asetuksen, jotta 8-bittiset merkit toimisivat.
Jos käytät komentotulkkina csh-varianttia (kuten tcsh),
haluat todennäköisesti tehdä asetuksen tiedostossa /etc/csh.cshrc
tai $HOME/.cshrc
:
setenv LC_CTYPE finnish.iso88591
Jos taas käytät sh-varianttia (kuten bash tai pdksh), kirjoita
tiedostoon /etc/profile
tai $HOME/.profile
:
export LC_CTYPE=finnish.iso88591
Linux-koneen CMOS-kello voi osoittaa joko UTC-aikaa - kuten
UNIX-koneissa on yleensä tapana - tai paikallista aikaa. (UTC on
kansainvälinen normaaliaika, suunnilleen sama kuin Greenwich Mean
Time eli GMT.) Linux-jakelut olettavat yleensä kellon
käyvän paikallista aikaa, koska MS-DOS ja muut tavalliset
PC-käyttöjärjestelmät eivät tunne
aikavyöhykkeitä. Tällöin Linuxin
käynnistystiedostoissa - esim. /etc/rc.d/rc.S
(Slackware) tai /etc/rc.d/rc.sysinit
(RedHat) - on komento
clock -s
. Jos kello on UTC-ajassa, komennon pitää olla
clock -u -s
.
Kun CMOS-kello on UTC-ajassa, käyttöjärjestelmä
huolehtii ajan näyttämisestä oikein mm. kesäaikaan
siirryttäessä, kunhan aikavyöhyke on asetetty oikein.
Jos CMOS-kello on paikallisessa ajassa, kesä- ja talviaikoihin
siirtymiset on tehtävä käsin. CMOS-kellon aikaa voi
muuttaa joko CMOS-setupista käsin tai sitten Linuxissa
clock-komennolla (ks. man 8 clock
).
Suomen aikavyöhyke on EET (Eastern European Time). Aikavyöhykkeen voi asentaa käyttöjärjestelmän asennuksen yhteydessä; mikäli et tehnyt sitä tai teit sen väärin, voit tehdä asetuksen root-tunnuksella komennolla
ln -s /usr/lib/zoneinfo/Europe/Helsinki /usr/lib/zoneinfo/localtime
(Vanhemmissa Linux-jakeluissa ei ole Helsinki-vyöhykettä; käytä EET:tä).
Yleensä systeemin oletusaikavyöhykkeen asettaminen
riittää. Jos yksittäinen käyttäjä
tarvitsee erilaisen aikavyöhykkeen, sen voi asettaa
käyttäjäkohtaisesti TZ-muuttujalla.
POSIX-käytäntö on, että TZ-asetus on muotoa
EET-2EETDST, mikä tarkoittaa, että aikavyöhyke on EET,
se on kaksi tuntia edellä GMT:tä, ja kesäaikaan
siirrytään EETDST-säännön mukaan. Asetus
saadaan aikaan komentotulkin alustustiedostossa, esim.
bash-käyttäjille lisäämällä kotihakemiston
.profile
-tiedostoon rivi
export TZ=EET-2EETDST
XFree86 saa näppäimistökarttansa Linuxin konsolilta. Useimpien näppäinten (ml. ä ja ö) pitäisi toimia suoraan oikein, kun konsolin näppäimistökartta on asetettu. "Kuolleiden" näppäinten määrityksiä (dead_acute, dead_diaeresis ym.) ei kuitenkaan saada konsolilta, joten lopputulosta täytyy hieman paikkailla.
Jos kone on konfiguroitu käynnistämään xdm eli
käyttäjä ei kirjoittaudu sisään
virtuaalikonsolille vaan suoraan X11:aan, voi olla tarpeen asettaa
koko suomalainen näppäimistökartta .Xmodmap
-tiedostossa.
Mikäli AltGr-näppäin ei toimi (merkit {, [, ],
}, \ jne.), tarkista, että X:n konfigurointitiedostossa
(/etc/XF86Config
tai /usr/lib/X11/XF86Config
) on rivi
RightAlt ModeShift
ja että sitä ei ole kommentoitu pois #-merkillä.
X:n käynnistysskriptit ajavat yleensä xmodmap-ohjelman, joka
muuttaa X:n näppäimistökarttaa käyttäjän
.Xmodmap
-tiedoston perusteella. .Xmodmap
-tiedosto
voi näyttää esim. tältä:
keycode 13 = 4 currency dollar
keycode 21 = acute grave
keycode 35 = dead_diaeresis asciicircum asciitilde
Tässä näppäimeen, jonka näppäinkoodi on 13 (näppäimistön päälohkon numeronäppäin 4) sidotaan merkit 4, valuuttamerkki ja $, jotka tulevat, kun ko. näppäintä painetaan yksinään, shiftin kanssa ja AltGr-näppäimen kanssa.
Näppäimeen 21 (Backspace-näppäimen vieressä) sidotaan hipsumerkit ja näppäimeen 35 (å:n ja Enterin välissä) sidotaan "kuolleet pisteet" (¨) sekä sirkumfleksi ("hattumerkki") ja tilde (~). Voit kirjoittaa esim. saksalaisen ü-kirjaimen painamalla ensin kuolleita pisteitä ja sitten u:ta. .Xmodmap-tiedoston muutokset saa heti käyttöön komennolla
xmodmap .Xmodmap
Ks. man xmodmap
. Huomaa, että emacs saattaa kohdella
näppäimiä poikkeavasti. X:n alla
näppäinkoodit saa selville ohjelmalla xev
.
Esimerkki X11-näppäimistökartasta
Tämän voi sijoittaa .Xmodmap
-tiedostoon.
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 =
Tähän ei ole kerätty kaikkia mahdollisia sovelluksia; lisäapua voi löytyä esim. German-HOWTO:sta [ german].
Tee kotihakemistoosi tiedosto .inputrc
, ja laita sinne
nämä rivit:
set meta-flag on
set convert-meta off
set output-meta on
Tämän jälkeen komentotulkki huolii 8-bittiset merkit ja näyttää ne oikein.
bash lukee käynnistyessään useita eri tiedostoja. .profile
, .bash_login
ja .bash_profile
luetaan ainoastaan
sisäänkirjoittautumisen (login) yhteydessä; .bashrc
taas suoritetaan aina kun bash käynnistyy (myös
esim. xterm-ikkunassa).
tcsh käyttää lokaaliasetusta LC_CTYPE. Tee
kotihakemistoosi tiedosto .tcshrc
, ja laita sinne rivi
setenv LC_CTYPE finnish.iso88591
Huomaa, että RedHat 2.1:n mukana tuleva tcsh ei jostain syystä toimi 8-bittisten merkkien kanssa oikein. Voit joko kääntää tcsh:n itse, tai kopioida tcsh-binäärin esim. Slackware 3.0:sta.
Tee tai editoi kotihakemistossasi tiedostoa .emacs
. Laita
sinne rivit:
(standard-display-european 1)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
'accept-8bit-input)
(require 'iso-syntax)
Huomaa, että GNU Emacs 19.25, joka on mm. Slackware-jakelun versiossa 2.0.0, on rikki eikä eurooppalaisten merkkien tuki toimi. Jos käytät tätä versiota, poista se ja asenna uudempi versio. Myös emacs 19.30 toimii väärin jos se on käännetty vanhalla gcc:llä (esim. 2.6.3).
Luo kotihakemistoosi tiedosto .telnetrc
ja tee sinne oma
rivi kullekin koneelle johon otat yhteyttä telnetillä.
Rivillä on koneen nimi sekä komento set outbinary
. Jos
esim. otat yhteyttä koneeseen masina paikallisessa verkossa
sekä koneeseen hissi.kone.fi Internetin yli, .telnetrc
-tiedostosi pitäisi näyttää
tältä:
masina set outbinary
hissi.kone.fi set outbinary
Voit myös antaa käynnistettäessä option -8
tai asettaa binäärimoodin telnet-istunnon aikana painamalla
telnetin escape-merkkiä (ei ESC-näppäin vaan telnetin
escape character, oletuksena C-]
joka löytyy yleensä
näppäilemällä Ctrl-5) ja antamalla komennon.
Ks. man telnet
.
rlogin-komennossa pitää antaa optio -8
jotta 8-bittiset
merkit kulkisivat yhteyden läpi. Ks. man rlogin
.
joe tarvitsee option -asis
jotta se kohtelisi merkkejä
8-bittisinä.
Poista välilyönti joerc-tiedostosta sen rivin alusta, jolla
lukee -asis
. Kaikkien käyttäjien yhteinen
joerc-tiedosto on yleensä /usr/lib/joe/joerc
ja
käyttäjäkohtainen tiedosto $HOME/.joerc
.
Aseta ympäristömuuttuja LESSCHARSET arvoon latin1:
export LESSCHARSET=latin1
tai vastaava C-shellin komento.
Tämän kirjoitti Jani Tammi (jantam@utu.fi).
Laita .ircrc
-tiedostoon rivi:
set eight_bit_characters on
Tämän lisäksi saatat tarvita myös komennon
/set translation latin_1
Huomaa, että tämä komento annetaan irc:issä,
eikä sitä kirjoiteta .ircrc
-tiedostoon.
Laita tiedostoon $HOME/.elm/elmrc seuraavat rivit:
charset = iso-8859-1
displaycharset = iso-8859-1
textencoding = 8bit
Laita tiedostoon /usr/local/lib/pine.conf
tai $HOME/.pinerc
seuraava rivi:
character-set=ISO-8859-1
Suomalaiset aakkoset ja tavutuksen saa TeXissä toimimaan parhaiten käyttämällä babel-pakettia, joka on siis syytä valita asennettavaksi TeXiä asennettaessa.
TeXistä on kaksi Linux-järjestelmissä yleisesti käytettyä jakelua: NTeX ja teTeX. NTeX tulee Slackwaren ja teTeX RedHatin mukana. teTeX on näistä helpompi konfiguroida.
TeXin hakemistopolut ja konfigurointi vaihtelevat jakelusta toiseen. Voit joutua tekemään asiat jakelusta riippuen hyvinkin paljon tästä ohjeesta poikkeavalla tavalla.
Tässä opasti Tuomas Aura (Tuomas.Aura@hut.fi):
LaTeXissa (2e) ei ole valmiina suomenkielistä tavutusta, vaan se on käännettävä itse. Tämä tapahtuu seuraavasti (root-käyttäjänä):
language.dat
(Slackwaren NTeXissä /usr/lib/texmf/tex/latex/cfg/language.dat
)
ja editoi sitä. Valitse enintään 4 kieltä
ja poista niiden edestä kommenttimerkki %.
Slackware 3.0:n NTeX:issä on kielen nimi "finnish"
kirjoitettu väärin: "finish". Tämä
on syytä korjata (tiedoston hyphen.finish
nimessä se ei haittaa).
lthyphen.cfg
joka on korvattava
babel-versiolla:
rm lthyphen.cfg
ln -s lthyphen.babel lthyphen.cfg
rm /usr/lib/texmf/tex/tex/macros/hyphen.tex
latex.ltx
ja mene samaan hakemistoon
(NTeXissä /usr/lib/texmf/tex/latex/latex-base
). Aja initex
:
initex latex.ltx
latex.fmt
. Kopioi se LaTeXin
ini-hakemistoon, esim. NTeXissä:
mv latex.fmt /usr/lib/texmf/ini/
Nyt pitäisi suomen tavutuksen toimia, kunhan dokumentin otsikot ovat kunnossa.
teTeX:in konfigurointi on helppoa:
texconfig
language.dat
-tiedostoa,
poistetaan kommentti sen rivin alusta, jossa lukee finnish
Suomalaisen LaTex-dokumentin alkuriveillä pitäisi lukea jotain tämän tapaista:
\documentclass[a4paper,finnish]{article}
\usepackage{t1enc,isolatin1,babel}
LaTeX2e <1994/12/01> -formaatilla ja uudemmilla toimii myös hienompi ratkaisu:
\documentclass[a4paper, finnish]{article}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
Näillä otsikoilla pitäisi suomalaisen tavutuksen ja kirjainten toimia oikein, mikäli TeX-jakelu on asennettu ja konfiguroitu oikein. Tässä ei neuvota LaTeX-dokumenttien tekemistä tarkemmin. Jukka Korpelan TKK:lle tekemästä Tex-ohjeesta [ texref] voi olla apua.
Posti- ja nyyssiviesteissä (USENET news ja vastaavat paikalliset järjestelmät) on järkevintä lähettää 8-bittisiä ISO Latin1-skandeja silloin kun kirjoitetaan suomeksi tai ruotsiksi.
Postiohjelmat kuten elm ja pine näyttävät Latin1-merkit oikein, kun ne on konfiguroitu sovellusten kohdalla kuvatulla tavalla (ks. kohdat elm ja pine). Jäljellä on kuitenkin vielä yksi ongelma: miten saada postissa mitä kummallisimmissa muodoissa tulevat viestit ISO-8859-1:n mukaisiksi?
8-bittiset ISO Latin1-merkit kirjoitetaan viestiin sellaisenaan ja viestin otsikossa ilmoitetaan, että sisältö on 8-bittistä tekstiä. Tämä tapahtuu liittämällä lähteviin viesteihin seuraavat MIME-standardin [ RFC1521] mukaiset otsikot. Tämä edellyttää, että kaikki viestiä välittävät koneet kykenevät käsittelemään 8-bittistä tietoa viestin rungossa. Suomi on jo jokseenkin läpeensä 8-bittinen, mutta erityisesti USA:sta löytyy vielä runsaasti 7-bittisiä postijärjestelmiä, jotka ovat postistandardin RFC822 mukaisia [ RFC822]. Näiden kanssa on yleensä tyydyttävä käyttämään QP-koodausta (ks. MIME Quoted Printable-koodaus). Tavallisesti seuraavat otsikot ja 8-bittiset merkit kuitenkin riittävät:
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Esim. elm-ohjelmassa nämä otsikot laitetaan tiedostoon $HOME/.elm/elmheaders
. emacs-pohjaisilla posti- ja
nyyssisovelluksilla asetus tapahtuu helpoiten laittamalla seuraavat
rivit .emacs
-tiedostoon:
(setq mail-default-headers "Mime-Version: 1.0\n\
Content-Type: text/plain; charset=ISO-8859-1\n\
Content-Transfer-Encoding: 8bit\n")
Yleisin ongelma viestien vastaanotossa ovat MIME Quoted Printable -koodatut merkit [ RFC1521]. Näitä kutsutaan usein sattuvasti myös nimellä Quoted Unreadable.
QP-koodattuja viestejä ei kannata lähettää, jos 8-bittisten merkkien lähettä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ääridataa sisältävät Base64-koodatut viestit - saa purettua lukukelpoisiksi metamail-ohjelmalla [ metamail]. metamail tulee valmiina ainakin RedHat 2.1-jakelun mukana.
elm (ainakin versio 2.4 PL24) osaa käyttää metamailia
suoraan, mikäli metamail on polun varrella eli ajettavissa.
emacs-pohjaiset posti- ja nyyssisovellukset saattavat tarvita tiedon
metamailin sijainnista .emacs
-tiedostossa esim. näin:
(setq metamail-program-name "/usr/local/bin/metamail")
Seuraavat dokumentit voivat olla hyödyllistä luettavaa näiden ongelmien kanssa painiessasi: