[prev in list] [next in list] [prev in thread] [next in thread]
List: suse-linux
Subject: Re: Root-Konsole anpassen?
From: Christian Boltz <christian.boltz () nexgo ! de>
Date: 2002-09-30 22:27:17
[Download RAW message or body]
Hallo Michael, hallo Leute,
Am Montag, 30. September 2002 10:20 schrieb Michael Messner:
> bin dabei meine user/root Konsole etwas anzupassen!
>
> Das mit dem Prompt und den Schriftfarben hab ich auch schon
> hingekriegt!
Schön.
> Aber wie kann ich die root-konsole (Hintergrund) einfärben?
> Was muss ich da in der .bashrc eintragen?
echo -e "\e[93;41m" sorgt beispielsweise für einen roten Hintergrund
mit gelber Schrift. (wenn Du "93;" weglässt, ändert sich nur die
Hintergrundfarbe). Das Ganze gilt aber nur für neu ausgegebene Zeichen,
für den ganzen Bildschirm wirkt es erst nach einem "clear".
Außerdem gibt es Probleme mit Befehlen, die eine farbige Ausgabe
erzeugen (z. B. ls), danach ist die Konsole nämlich wieder auf
Standardfarbe (schwarz/weiß) :-(
Notfalls musst Du den Befehl zum Einfärben in $PS1 aufnehmen - einfach
die Escapesequenz ganz an den Anfang setzen.
-> PS1="\e[41m$PS1" für einen roten Hintergrund.
Blätter mal ein wenig in man console_codes - vielleicht findet sich
da etwas zum permanenten Einstellen. (wunder Dich aber nicht, dass da
die von mir genannten Farben nicht unbedingt auftauchen, die hab ich
mal durch Probieren ermittelt ;-)
Tip am Rand: Bei mir wird automatisch eine rot hinterlegte Zeile
ausgegeben, wenn der zuletzt ausgeführte Befehl einen Rückgabewert
(Exitcode) ungleich 0 hatte. Wie das geht? Das hat mich ein wenig
Knobelei gekostet - aber es geht:
cb@tux:~> echo $PROMPT_COMMAND
LASTERROR="[$?]" ; test "$LASTERROR" = "[0]" || echo -e "\033[93;41m
${LASTERROR} \033[0m"
### soll alles in eine Zeile
Zum Setzen des PROMPT_COMMAND [1] den ganzen Block in einfache
Anführungszeichen (') einschließen, damit $? nicht schon dabei
ausgewertet wird.
Den Umweg mit LASTERROR gehe ich, da $? von test überschrieben wird.
Wenn Du auch den Exitcode 0 angezeigt haben möchtest, geht es viel
einfacher:
echo -e "\033[93;41m $? \033[0m"
Gruß
Christian Boltz
[1] $PROMPT_COMMAND wird von der bash jedesmal ausgeführt, bevor der
Prompt angezeigt wird, also nach der Beendigung jedes Befehls.
--
Registrierter Linux-Nutzer #239431
Linux - life is too short for reboots.
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-linux-unsubscribe@suse.com
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-linux-help@suse.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic