Hallo Liste, bin dabei meine user/root Konsole etwas anzupassen! Das mit dem Prompt und den Schriftfarben hab ich auch schon hingekriegt! Aber wie kann ich die root-konsole (Hintergrund) einfärben? Was muss ich da in der .bashrc eintragen? Danke für eure Hilfe! Mit freundlichen Grüßen mike
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.
Hallo, On Tue, 01 Oct 2002, Christian Boltz wrote:
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
Ich hab hier (etwas vereinfacht) folgendes: ==== ~/.bashrc ==== TTY="`tty`" export TTY="${TTY##*[\/a-zA-Z]}" PS1='\[\033[1;37;44m\]\u@\h[${TTY}]:\[\033[0m\]\w ($?)\$ ' case $TERM in xterm*) PS1="\[\033]0;\u@\h[${TTY}]: \w\007\]${PS1}" ;; esac export PS1 ==== Das packt mir den (vereinfachten) prompt auch in die Titelzeile des xterms, ob das auch mit anderen Terminals geht weiss ich nicht ;) Den Exitcode eines Befehls lass ich mir in den () anzeigen. -dnh --
Du bist ja nur der Schrecken von dag°. Wem WoKo in dag° Schrecken einjagt, der hat dag° nicht verstanden. Umgekehrt wird ein Schuhschrank draus: WoKo ist der Schrecken des restlichen Nutznetzes. [Michael Hoffmann und Dieter Bruegmann in dag°]
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"
Zu dem Thema hätte ich nochmal eine Frage: Ich habe mal irgendwo gelesen wie man mittels diesen Codes auch das Piepen bei Falscheingabe auf der Konsole (direkt nicht über KDE/Gnome usw.) abschalten konnte - weiss den jemand noch ??? -- SET THE CONTROLS FOR THE HEART OF THE SUN Jens
* On Tue, 01 Oct 2002 at 8:17 +0200, J.Strohschnitter wrote: [Exzerpt aus man console_codes]
Zu dem Thema hätte ich nochmal eine Frage:
Ich auch: Warum schickst Du für diese Frage 37 Zeilen Fullquote ohne Attribution line durch die Gegend?
Ich habe mal irgendwo gelesen wie man mittels diesen Codes auch das Piepen bei Falscheingabe auf der Konsole (direkt nicht über KDE/Gnome usw.) abschalten konnte - weiss den jemand noch ???
Noe, da weiß ich nix. Aber gelesen hast Du das sicher hier: man -P "less +'/blength'" setterm -- Adalbert GPG welcome, request public key: mailto:adalbert+key@lopez.at
participants (5)
-
Adalbert Michelic
-
Christian Boltz
-
David Haller
-
J.Strohschnitter
-
Michael Messner