Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 3d425e1e545e57bba7e595fbd248db86 > files > 26

howto-text-sv-9.0-1mdk.noarch.rpm

  Färger på Linux-terminaler
  Thorbjørn Ravn Andersen, ravn@dit.ou.dk Svensk översättning
  av Björn Lindblom bluesboy@linux.nu, November -98
  v1.4, 7 August 1997

  De flesta Linux-distributioner har ett 'ls' kommando för att lista
  innehållet i en katalog och presentera det på ett visuellt bättre sätt
  genom att använda färger - att konfigurera det på ett bra sätt, är
  dock inte alltid så lätt. Det här dokumentet förklarar de olika aspek­
  terna och metoderna för att ändra inställningarna genom att konfigur­
  era existerande mjukvara, och ange platser för alternativ mjukvara som
  vanligtvis inte inkluderas i Slackware eller Redhat och som kan
  användas i de flesta versioner av Unix. HTML-versionen finns också
  tillgänglig på min egen hemsida på <http://www.mip.ou.dk/~ravn/colour-
  ls>.
  ______________________________________________________________________

  Innehållsförteckning


  1. Introduktion

  2. Snabbstart för de otåliga

  3. Har jag allt jag behöver?

  4. Vilka färger finns det att välja på?

  5. Hur man konfigurerar färger med ls

  6. Hur man ändrar standardfärgerna vit-på-svart i textläge

     6.1 Xterm
     6.2 Virtuell konsol.
        6.2.1 /etc/issue
        6.2.2 /etc/profile eller .profile
        6.2.3 /etc/login or .login
     6.3 "Remote login"

  7. Mjukvara



  ______________________________________________________________________

  1.  Introduktion

  På senare år har färgsatta displayer blivit mycket vanliga, och
  användare har börjat utveckla den här möjligheten med hjälp av program
  som ger färger för att på detta sätt få en visuell effekt på t.ex.
  reserverade ord i programmeringsspråk, eller direkt påminnelse om
  felstavade ord.

  Eftersom konsolen i Linux stöder färger, modifierades GNU:s ls-
  kommando snabbt för att visa färger och detta inkluderades i Slackware
  fr.o.m version 2.0. Förbättrade versioner av dessa patchar har nu
  blivit standard i GNU:s distributioner av ls, och numer bör detta
  finnas i alla nya versioner av Linux.

  Den här texten är en uppdatering av det ursprungliga dokumentet, och
  inkluderar information om x-terminaler och hur man "patchar" kärnan.

  Informationen i det här dokumentet har kontrollerats mot Redhat -
  utgåva 4.1 och kompilerades ursprungligen med hjälp av version 2.0.2
  av Slackware med kärna 1.1.54. Informationen om "patchning" av kärnan
  gjordes på en maskin med Slackware 2.2.0 och kärnan 1.2.13, med tcsh
  som standard-skal, och har senare kollats mot en 2.0.27-kärna.  Om du
  använder någon annan konfiguration, eller annan Unix-version, skulle
  jag uppskatta att du hör av dig med upplysning om ditt operativsystem
  och version, och om stöd för färger till ls- kommandot finns som
  standard.


  2.  Snabbstart för de otåliga

  Om du har en ny distribution av Linux, gör följande förändringar till
  dessa filer i din hemkatalog. De fungerar efter nästa inloggning.



       ~/.bashrc:
           alias ls="ls --color"

       ~/.cshrc:
           alias ls 'ls --color'





  Klart!

  Du kanske också vill göra en ``eval `dircolors $HOME/.colourrc`'', för
  att få dina egna färger. Den här filen skapas med ``dircolors -p
  >$HOME/.colourrc'' och är bra kommenterad så att det är lätt att veta
  hur man själv kan ändra i filen.


  3.  Har jag allt jag behöver?

  Först av allt måste du känna till om du har en version avls som kan
  utföra färgsättning på ett riktigt sätt. Testa det här kommandot i en
  Linux text-konsol (funkar även i xterm):



       % ls --color




  (% är prompten i ditt skal) Om du får ett felmeddelande som indikerar
  att ls inte känner till växeln, behöver du installera en nyare version
  av GNU:s filtillbehörs-paket. Om du inte har en lämplig uppgraderings-
  version tillhanda, hämta hem den senaste versionen från din Linux-sida
  och installera.

  Om du inte får ett felmeddelande, har du ett ls som förstår kommandot.
  Oturligt nog var programmen som medföljde tidiga versioner av
  Slackware buggiga.ls som medföljer Redhat 4.1, är version 3.13 och den
  är bra.



       % ls --version
       ls - GNU fileutils-3.13




  Om du kör kommandot ``ls -- color'' på en textbaserad konsol i Linux,
  skall det ge färgsättning som standard på ditt system, och du kan nu
  bestämma dig för om du vill ändra på någonting.

  Om du kör kommandot i xterm, kanske du inte får någon färgsättning.
  Som med ls i sig själv, stöder inte xterm-programmet färger för
  program som körs i xterm-fönster - senare versioner av xterm stöder
  dock färger. Om ditt xterm inte stöder färger, bör du ladda hem en
  nyare version - se beskrivning i slutet av det här dokumentet. Under
  tiden kan du växla till textläge och fortsätta därifrån.


  4.  Vilka färger finns det att välja på?

  Det här skriptet (tack till alla som sänt mig bash-versioner) visar
  standard uppsättning på färgkombinationer i konsolen. Om inga färger
  syns, stöder inte konsolen ANSI-färgval.



       #!/bin/bash
       # Visa ANSI-färger.
       #
       esc="\033["
       echo -n " _ _ _ _ _40 _ _ _ 41_ _ _ _42 _ _ _ 43"
       echo "_ _ _ 44_ _ _ _45 _ _ _ 46_ _ _ _47 _"
       for fore in 30 31 32 33 34 35 36 37; do
         line1="$fore  "
         line2="    "
         for back in 40 41 42 43 44 45 46 47; do
           line1="${line1}${esc}${back};${fore}m Normal  ${esc}0m"
           line2="${line2}${esc}${back};${fore};1m Bold    ${esc}0m"
         done
         echo -e "$line1\n$line2"
       done




  Förgrundsfärgens nummer listas till vänster och bakgrundsfärgen i
  rutan. Om du vill ha fetstil, lägger du till "1" till parametrarna, så
  klarblå på vit bakgrund blir "37;44;1". Hela ANSI-sekvensen blir då

  ESC [ 3 7 ; 4 4 ; 1 m



  Observera: Bakgrunden kan inte vara i fetstil, så du kan inte ha gul
  (bold brown) som något annat än förgrund. Detta är en hårdvaru-
  begränsning.


  Färgerna är:
          0 - svart    4 - blå            3# är förgrunden
          1 - röd      5 - magenta        4# är bakgrunden
          2 - grön     6 - cyan
          3 - gul      7 - vit            ;1 är fetstil




  5.  Hur man konfigurerar färger med ls

  Om du vill modifiera standarduppsättningen av färger till ls, behöver
  du en personlig kopia i din hemkatalog, som du får med kommandot:



   cd ; dircolors -p > .coloursrc




  Efter att ha modifierat denna välkommenterade fil, behöver du få den
  läst till omgivningssträngen LS_COLORS. Detta görs vanligtvis med:


       eval `dircolors .colourrc`




  Du måste lägga till den här raden i din .bashrc/ .cshrc/ .tcshrc
  (beroende på vilket skal du kör), för att det skall laddas vid inlog­
  gningen. Se manual-sidan för dircolors(1) för detaljer.



  6.  Hur man ändrar standardfärgerna vit-på-svart i textläge

  Du behöver "tala om för" koden till terminalen att du vill ha en annan
  default. Det finns inget standardiserat sätt att göra detta på, men i
  Linux har du setterm-programmet.

  "setterm" använder sig av information från terminalens databas för att
  sätta attributen. Valet görs som


       setterm -foreground black -background white -store




  där "-store", förutom att ändra färgen gör den nya inställningen till
  default för nuvarande konsol. Det behövs då att den nuvarande konsolen
  (TERM enviroment-variabeln) beskrivs "bra nog" i termcap:s databas. Om
  setterm av någon anledning inte fungerar - här kommer några alterna­
  tiv:


  6.1.  Xterm


  En av dessa xterms bör finnas tillgänglig och åtminstone en av dem bör
  stöda färger.



       xterm -fg white -bg blue4
       color_xterm -fg white -bg blue4
       color-xterm -fg white -bg blue4
       nxterm -fg white -bg blue4




  där 'color_xterm' stöder färgversionen av 'ls'. Detta speciella val
  liknar färgerna som används på en SGI.


  6.2.  Virtuell konsol.



  Du kan modifiera kärnan en gång för alla, likväl som att använda en
  "run-time default" för den virtuella konsolen med en escape-sekvens.
  Jag rekommenderar att modifiera kärnan om du tidigare har kompilerat
  din egen kärna.

  Källfilen till kärnan är /usr/src/linux/drivers/char/console.c på rad
  1940, där du skall ändra:



               def_color       = 0x07;   /* white */
               ulcolor         = 0x0f;   /* bold white */
               halfcolor       = 0x08;   /* grey */




  Jag använder blå på vit med:


               def_color       = 0x17;   /* white */
               ulcolor         = 0x1f;   /* bold white */
               halfcolor       = 0x18;   /* grey */




  Siffrorna är attributkoderna angivna hexadecimalt och som används av
  grafik-kortet: viktigaste siffran (1:an i exemplet ovan) är bakgrunden
  - den minst signifikativa är förgrunden. 0 = svart, 1 = blå, 2 = grön,
  3 = cyan, 4 = röd, 5 = lila, 6 = brun/gul, 7 = vit. Lägg till 8 för
  att få "skarpa" färger. Lägg märke till att, för det mesta, en ljus
  bakgrund == blinkande bokstäver, dovt färgad bakgrund. (Från
  sjlam1@mda023.cc.monash.edu.au
  <mailto:sjlam1@mda023.cc.monash.edu.au>).


  Du kan också fixa så att du kör en viss display på valfri konsol, med
  en ickestandard-ANSI-sekvens (som du kan hitta om du tittar i koden
  till kärnan):


               ESC [ 8 ]




  som gör att du får standardfärger på för- och bakgrund.  Reset
  Attributes"-strängen (ESC [ m) väljer dessa färger istället för vita
  bokstäver på svart bakgrund.


  Du är tvungen att "eka" den här strängen till konsolen varje gång du
  startar om. Beroende på vad du använder din Linux-burk till, kan många
  olika platser vara lämpliga.


  6.2.1.  /etc/issue


  Det är här som "Welcome to Linux xx.yy" visas i Slackware, och det här
  är en bra plats för fristående utrustning (och blir troligtvis en pest
  för användare som loggar in med telnet). Den här filen skapas vid
  uppstart (slackware i /etc/rc.d/rc:s - Redhat i /etc/rc.d/rc.local),
  och du kan modifiera filen med raderna

    echo ""> /etc/issue
    echo Welcome to Linux `/bin/uname -a | /bin/cut -d\  -f3`. >> /etc/issue




  till


         ESCAPE="<Ersätt med ett escape-tecken här>"
         echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J"> /etc/issue
         echo Welcome to Linux `/bin/uname -a | /bin/cut -d\  -f3`. >> /etc/issue




  Den här koden lägger prompten längst upp till vänster på skärmen,
  byter skärmfärgen (här vit text på blå bakgrund), sparar det här valet
  och rensar skärmen från allt övrigt. Modifieringen börjar fungera
  efter nästa uppstart. Kom ihåg att sätta in escape-tecknet i filen med
  C-q i Emacs eller Ctrl-v i vi, eftersom skalet som exekverar skriptet
  inte förstår /033 syntaxen.


  6.2.2.  /etc/profile eller .profile



         if [ "$TERM" = "console" ]; then
             echo "\033[37;44m\033[8]" #
       # eller använd setterm.
             setterm -foreground white -background blue -store
         fi





  6.2.3.  /etc/login or .login




         if ( "$TERM" == "console" ) then
           echo "\033[37;44m\033[8]"
       # eller använd setterm.
             setterm -foreground white -background blue -store
         endif





  6.3.  "Remote login"

  Du bör kunna använda setterm-programmet som visas här ovan. Åter igen,
  det här kräver att fjärrmaskinen känner till din terminal, och att
  terminalemulatorn som sköter inloggningen stöder färg.  Enligt min
  erfarenhet är den bästa vt100-emulatorn som finns tillgänglig för
  olika plattformar:


  ·  MS-DOS:         MS-Kermit (gratis, inte en Microsoft-produkt)

  ·  Windows 95/NT:  Kermit/95 (shareware)

  ·  OS/2:           Kermit/95 (shareware).Lägg dock märke till att
     standard-telnet förstår färger och kan modifieras lokalt.

  Se  <http://www.columbia.edu/kermit/> för detaljer om Kermit.



  7.  Mjukvara


  All information här ovan förutsätter en GNU/Linux-installation.  Om du
  har någon annan (som t.ex. en Sun-maskin som kör X), får du hämta hem
  och kompilera mjukvaran själv.

  "Färgversionen" av xterm baseras på standard-xterm-kod med patchar
  tillgängliga på alla X11R6-siter. Xterm som distribueras med R6.3
  skall enligt ryktet innehålla stöd för färger, men jag har inte testat
  den versionen.



       ftp://ftp.denet.dk/pub/X11/contrib/utilities/color-xterm-R6pl5-patch.gz




  Se dokumentation om du använder en äldre version av X.   Obs: Jag har
  själv inte testat den här.


  från prep.ai.mit.edu eller på en av mirror-siterna. Ta hem åtminstone
  version 3.13.



       ftp://ftp.denet.dk/pub/gnu/fileutils-3.XX.tar.gz




  Jag har själv lyckats kompilera color-ls på Solaris, SunOS och Irix.


  Jag tar gärna emot feedback på den här texten. Min epost-adress är
  ravn@dit.ou.dk <mailto:ravn@dit.ou.dk>


  --

  Thorbjørn Ravn Andersen