Hvordan få norske tegn i skallet


Om denne beskrivelsen

Å få til norske tegn i konsollet eller skallet er ikke så helt lett. Men dessverre var ingen av de kildene jeg hadde nøyaktige nok; det manglet noe, eller sto feil der. Derfor lete jeg frem så mye jeg trengte (og litt til :-) for å fornorske bash, ls, less, man og tree; fire kommandoer (og et skall) som jeg bruker endel og som ellers ville vist bare rare tegn for «æ», «ø» og «å». Jeg ville ha det så lett som mulig, uten å måtte installere flere programmer, endre på selve tasteoppsettet med xmodmap e.l.
For å fornorske andre programmer, se lenkene nederst (spesielt danish HOWTO). Jeg har ikke testet annet enn det som står her.
Skulle det være mangler eller feil i dette dokumentet, ikke nøl med å sende en beskjed om det. Alle rettelser av feil er av det gode.

Autooppsett

Jeg har fått beskjed om at Mandrake 8.2 og 9.0 støtter norske tegn rett ut av boksen, og har testet at det også gjør det under RedHat 6.0; dermed virker det nok også på nyere versjoner. Dette virker kanskje ut av boksen på SuSE også, men det har jeg ikke testet. Gi tilbakemelding om du er i besittelse av noe slikt.
(K)ubuntu (testet versjon 6.06 og senere) bruker nb_NO.utf8 som locale, så norske tegn skal i de fleste tilfeller bli vist riktig i skallet. Men «man» viser alle tegn som utf-8, noe som gir tallkoder istedenfor en god del tegn, noe som forstyrrer linjelengden. For å rette på dette, se manuelt oppsett for man nedenfor.
På alle debianbaserte systemer kan du prøve «dpkg-reconfigure locales» som root (følg instruksene). Installer gjerne også «localeconf».

Oppsett for root: På noen maskiner kan det hende root ikke har satt opp til å bruke norsk tastatur, bruk da (som root) kommandoen «loadkeys no-latin1» (/usr/share/keymaps har en liste over tastaturvalg, se f.eks /usr/share/keymaps/i386/qwerty/).
Hvis ikke noe av dette var til hjelp, så les videre.

Konsole og Gnome-terminal

Både Konsole (Verktøy – Tegnkoding) og Gnome-terminal har eget oppsett for bruk av tegnsett, pass på å sjekke at de er satt rett før du prøver siste utvei – manuelt oppsett (fortvil ikke, med litt presisjon er dette fort gjort).

Manuelt oppsett

La bash-skallet bruke æøå

Sett dette i ~/.inputrc eller /etc/inputrc:
(Se bemerkningene nedenfor hvis du er usikker p�hvem av dem som passer best.)
set convert-meta off
set output-meta on
set input-meta on
(Sistnevnte er synonymt med å skrive: set meta-flag on)

La less vise æøå

Sett dette inn i både ~/.profile og ~/.bashrc, eller i både /etc/profile, og /etc/bash.bashrc:
export LESSCHARSET=latin1

La ls vise æøå

Sett dette inn i både ~/.profile og ~/.bashrc, eller i både /etc/profile, og /etc/bash.bashrc:
alias ls='ls --show-control-chars'
For å la ls vise filer og mapper i farger også, bruk isteden:
alias ls='ls --show-control-chars --color'

La tree vise æøå

Sett dette inn i både ~/.profile og ~/.bashrc, eller i både /etc/profile, og /etc/bash.bashrc:
alias tree='tree -N'
For å la tree vise filer og mapper i farger også, bruk isteden:
alias tree='tree -CN'

La man vise alle tegn som ascii

Hvis din maskin viser noen tegn som kontrollkoder når du bruker man ,
Sett dette inn i både ~/.profile og ~/.bashrc, eller i både /etc/profile, og /etc/bash.bashrc:
alias man='man -E ascii'


Bemerkninger

  • Bruker man innstillingsfilene i hjemmemappa (~/) så gjelder de bare for den brukeren. Innstillingsfilene i /etc derimot gjelder for alle brukere, og dermed også for root, og det er absolutt kjekt :-)
  • Innstillinger i hjemmemappa overstyrer de generelle systeminnstillingene. (Roots hjemmemappe er «/root».)
  • Det som ligger i .profile og ~/.profile leses bare inn når man logger inn i skallet, det i /etc/bash.bashrc og ~/.bashrc leses bare når et (under-)skall startes, f.eks når wterm eller Konsoll startes under X, eller når du logger deg inn som root med «su» i et skall en bruker har logget seg inn i.
    Prøv å legge inn variablene for less og ls i bare /etc/profile og ikke i /etc/bash-bashrc, og du vil forstå hva jeg mener!
  • Jeg har tatt utgangspunkt i bash-skallet når jeg har skrevet dette, for andre skall vil enkelte kommandoer (f.eks export=...) være anderledes. Men det meste vil være likt og iallefall overførtbart.
  • Dette er sjekket på Debian 3.0 med KDE 3.1.x og Windowmaker. Oppsettet og filnavnene/filplasseringene kan være anderledes for andre Linux-distribusjoner.

    Oversikt over oppsettsfilene for miljøvariabler

    Oppsett for alle brukerne på systemet

    FILPLASSERINGINNSTILLINGSVALG
    /etc/inputrcOppsett for biblioteket «readline» for alle brukere
    /etc/profileMiljøvariabler for alle brukere for alle skall
    /etc/environmentSpråkvalg for alle brukere;
     Her settes miljøvariablene LANG og LANGUAGE til
     LANG=no_NO og LANGUAGE=nb_NO:nn_NO:no_NO:no
     eller samme, bare med nb_NO.UTF-8 og nn_NO.UTF-8 isteden.
     Da åpnes f.eks OOo på norsk som standard (sett nn_NO først om du heller vil ha nynorsk; jeg bruker bokmål:-)


    Oppsett for eieren av hjemmemappa(~/)

    FILPLASSERINGINNSTILLINGSVALG
    ~/.profileMiljøvariabler for hver enkelt bruker, alle skall
    ~/.bashrc Miljøvariabler for hver enkelt bruker, bash-skallet
    ~/.bash_profileMiljøvariabler for bash, 1. prioritet (hvis den finnes)
    ~/.bash_loginMiljøvariabler for bash, 2.prioritet
     Brukes hvis den finnes og ikke 1. prioriteten finnes
    ~/.profileMiljøvariabler for alle skall, (3. prioritet for bash)
     Brukes hvis den finnes og ikke 1. eller 2. prioriteten finnes
    ~/.inputrcOppsett for biblioteket «readline» for hver enkelt bruker
     Kan gi æøå i bash, men ikke less og ls (se over)!


    Oppsett for nye brukere

    Alle filer som ligger i /etc/skel kopieres over i brukerens hjemmemappe når en ny konto blir opprettet, vanlig er:
    /etc/skel/.bashrc
    /etc/skel/.bash_profile
    Også
    /etc/skel/.inputrc
    kan ligge samme sted.
    Disse filene styrer oppsettet for alle nye brukere.

    Feilsøking

  • Opprett en fil som heter æøå-æøå, eller noe annet som bruker disse bokstavene. Skriv inn «æøå æøå» i fila, gjerne med linjeskift istedenfor mellomrom. Nå kan du lett se om de særnorske tegnene vises ved å bruke less-, ls- eller tree-kommandoen.
  • For å teste om en miljøvariabel fungerer som ønsket, skriv export MILJØVARIABEL=verdi (Eksempel: export LANG=nb_NO). Disse variablene gjelder bare for det terminalvinduet den settes i og forsvinner når vinduet lukkes eller maskina skrus av.
  • For å se hvilke miljøvariabler som er satt, skriv «set» eller «env» i skallet («set» gir mest informasjon!).
  • Skriv «locale» for å se språkinnstillingene.
  • For å bruke innstillingene fra bare en bestemt fil, kjør «. 'sti/filnavn'», f.eks vil kommandoen «. .profile» lese inn innstillingene i «.profile» på nytt. (Husk mellomrom mellom «.» og «sti/filnavn»!)
  • Det er forskjell på om du starter et skall i X (altså f.eks i KDE) og om du starter et innloggingsskall. Skall som startes i X leser ikke oppstartsinformasjonen for innloggingsskall. For å teste at innlogginsskallet er satt opp rett kan man:
  • Metode 1 Skriv bash -l i et skall. Bash vil da lese inn oppstartsoppsettet for innloggingsskall, den bruker da også alle eventuelle endringer. Du starter med dette et underskall i skallet. «exit» fører deg tilbake til foreldre-skallet, altså et skall med forrige oppsett.
  • Metode 2 I KDE eller en annen vindusbehandler: trykk «Ctrl+Alt+F1» (eller F2, F3 ... t.o.m. F6). Logg inn der (både som root og som bruker) og se om oppsettet stemmer. Trykk «Ctrl+Alt+F7» og du er tilbake i vindusbehandleren.
  • NB: Sjekk at innstillingene i fila du skriver i ikke overstyres av innstillinger i en «viktigere» fil, se filoversikten over.

    Kilder

    The Danish-HOWTO: http://www.tldp.org/HOWTO/Danish-HOWTO.html
    The Norwegian-HOWTO: http://www.linux.no/biblioteket/norsk/Norwegian-HOWTO.html
    Linux in a nutshell, 3rd Edition, O'Reilly forlag 2000
    «info ls» (under «formatting the file names» og «general output formating», nederst).
    «man bash»
    «man readline»
    «man tree»

    Videre lesning

    Oppsett for eurotegnet: http://www.tldp.org/HOWTO/mini/Euro-Char-Support/index.html
    HOWTO for flere språk: http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html#OTHER-LANG-SPECIFIC
    The Keyboard and console-HOWTO: http://www.tldp.org/HOWTO/HOWTO-INDEX/hardware.html#HWKYBRD
    Bash-Prompt-HOWTO: http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/index.html
    perllocale—Perl locale handling


    Av Axel Bojer
    Opprettet 29.6.03
    Sist oppdatert 4.4.07
    E-post: axelb-krøllalfa-skolelinux.no