Styrkoder för X-Terminaler

Vad behöver man?

En terminal som har stöd för ANSI escape-sequences. Stöd för färger är naturligtvis också önskvärt. En variant av xterm som stödjer detta är XFree86 3.9.16c(121). På CS (Umeå Universitet) så kallas denna terminal för cxterm. Det fungerar även med t.ex. Eterm. För att kunna använda attribut såsom fetstil så måste man naturligtvis använda ett typsnitt som stödjer detta.

Generell användning

För att använda formatkoder så skriver man helt enkelt till terminalen med valfritt program, t.ex. echo. Syntaxen är följande (i [t]csh):

   echo -n "\033[kod"
	

Koderna presenteras i olika kategorier nedan. De som står med fet stil är ANSI standard, medan de övriga inte är standard men fungerar med cxterm (och antagligen med Eterm). Vissa av koderna har egentligen (enligt ANSI) andra betydelser än vad som står här, men här står vad som händer vid användning av cxterm.

Attribut

NamnKod
Återställ0m
Hög intensitet1m
Understruken4m
Fet5m
Inverterad7m
Osynlig8m

Förgrundsfärger

NamnKodNamnKod
Svart30mMörkgrå90m
Mörkröd31mRöd91m
Mörkgrön32mGrön92m
Brun33mGul93m
Mörkblå34mBlå94m
Mörklila35mLila95m
Mörkcyan36mCyan96m
Ljusgrå37mVit97m

Bakgrundsfärger

NamnKodNamnKod
Svart40mMörkgrå100m
Mörkröd41mRöd101m
Mörkgrön42mGrön102m
Brun43mGul103m
Mörkblå44mBlå104m
Mörklila45mLila105m
Mörkcyan46mCyan106m
Ljusgrå47mVit107m

Kommentarer angående färger och attribut

Koderna för färger och attribut kan kombineras på ett enkelt sätt. Det går nämligen att ha följande syntax:

   echo -n "\033[tal;talm"
	

Alltså skriver man bara siffrorna separerade av semikolon och avslutar med bokstaven m. Tänk dock på att attributkoderna är additiva, dvs koden 0;4;1m ger hög intensitet och understrykning.

Exemepel på användning av styrkoder

Två av de vanligaste användningarna av styrkoder är:

  • Promptkonfigurering
  • Konfiguration av kommandot ls

Båda dessa kommer snabbt att nämnas här. För att konfigurera prompten så används miljövariabeln prompt. Den sätts antagligen i din .tcshrc fil i din hemkatalog. På man-sidan för tcsh finns det massor av olika speciella styrsekvenser för information i prompten. Några exempel är %m för maskinnamn, %n för användarnamn och %~ för sökväg. Det finns som sagt massor av sådana koder. Om man nu vill använda sig av färgkoder så sätter man variabeln prompt med t ex någon av koderna ovan för promptinformation och en eller flera färgkoder enligt %{\033[kod%}. Nedan följer ett exempel:

   set prompt="%{\033[1m%}%n@%m:%~>%{\033[0m%} "
		
Denna inställning ger ungefär följande prompt.
   bergner@peppar:~/bin> vim perlscript
		

Kommandot ls används för att lista innehållet i kataloger. För att kunna utföra nedanstående konfiguration så måste man använda ganska nya versioner av ls och en terminal som har stöd för färger. I exemplen nedan så kommer GNU ls 4.0 att utnyttjas. Vid Umeå Universitet så finns detta under /pub/anarchy/bin/sun4os5/. Det går även att använda GNU ls 3.x. Ett enkelt sätt att få denna version av ls istället för standard ls är att låta ls vara ett alias för /pub/anarchy/bin/sun4os5/ls när du kör SunOS. Dessa nya versioner av ls tittar efter två miljövariabler när det exekveras. Den första heter LS_OPTIONS och innehåller eventuella flaggor som alltid ska användas när ls körs. Lägg till följande rad i din shell-konfigurationsfil (.[t]cshrc) så kommer färger att kunna användas.

   setenv LS_OPTIONS '--color=auto'
		

Den andra miljövariabeln som används heter LS_COLORS och med denna bestäms färgerna. Den består av fält separerade av kolon (:). Varje fält har syntaxen fil=kod. Först beskrivs en fil och sedan bestäms med vilken kod filen ska förknippas. Begreppet fil är i detta avseende lite vagt. Det är nämligen så att det finns diverse konstanter för vanliga typer av filer, t.ex. kataloger, länkar och vanliga filer. I tabellen nedan visas dessa fördefinerade namn.

NamnFörklaring
noNormal text
fiFiler
diKatalog
lnLänk
piPipa (FIFO)
exExekverbar fil
soSocket
bdBlock device
cdCharacter device

Utöver dessa så kan man specifiera godtyckliga mönster. Vanligast är att man använder filändelser. Nedan visas ett exempel som visar alla filer som slutar på .txt med rött och alla kataloger med fet stil samt alla exekverbara filer med grön fetstil.

   setenv LS_COLORS ':di=0;1:ex=0;1;32:*.txt=0;91:'
		


Tillbaka
Valid HTML 4.0 Valid CSS
Senast ändrad 2002-09-18 14:22 av bergner