Diskussion:Farbe in der Konsole: Unterschied zwischen den Versionen
Itu (Diskussion | Beiträge) |
Itu (Diskussion | Beiträge) (es zählt wohl nur das lokale Terminal, oder?) |
||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
zumindest von 90 bis 106 sind da bei mir noch weitere, sehr nützliche Farben. | zumindest von 90 bis 106 sind da bei mir noch weitere, sehr nützliche Farben. | ||
Siehe auch https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes --[[Benutzer:Itu|Itu]] ([[Benutzer Diskussion:Itu|Diskussion]]) 11:48, 10. Jan. 2014 (CET) | Siehe auch https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes --[[Benutzer:Itu|Itu]] ([[Benutzer Diskussion:Itu|Diskussion]]) 11:48, 10. Jan. 2014 (CET) | ||
+ | :: sind aber oftmals nur in wenigen Terminaltypen bekannt, man sollte also wenn man dieses in einem Script benutzen will, vorher genau den Terminaltype und eventuell weitere Terminal Einstellungen prüfen, sonst kann das auf einem anderem Rechner oder in einem anderem Terminal sehr schnell zu unleserlichen "Itzelpritz" führen. [[Benutzer:Robi|Robi]] ([[Benutzer Diskussion:Robi|Diskussion]]) 22:31, 11. Jan. 2014 (CET) | ||
+ | :::Hm, Ubuntu hat das jedenfalls so. --[[Benutzer:Itu|Itu]] ([[Benutzer Diskussion:Itu|Diskussion]]) 19:57, 12. Jan. 2014 (CET) | ||
+ | |||
+ | ==Skript== | ||
+ | Kann mal jemand das Skript vom Abschnitt [[Farbe_in_der_Konsole#farbiges_Prompt]] erläutern? Die erste Zeile versteh ich sogar fast, mich interessiert der Prompt im then-zweig. --[[Benutzer:Itu|Itu]] ([[Benutzer Diskussion:Itu|Diskussion]]) 07:53, 11. Jan. 2014 (CET) | ||
+ | |||
+ | |||
+ | |||
+ | :: meinst du das hier ? | ||
+ | <pre> | ||
+ | if test \( "$TERM" = "xterm" -o "${TERM#screen}" != "$TERM" \) -a -z "$EMACS" | ||
+ | then | ||
+ | export PS1="\[\033[31m\]\[\e]2;\u@\h:\w\007\e]1;\h\007\]\u@\h:\w> \[\033[0m\]" | ||
+ | else | ||
+ | export PS1="\[\033[31m\]\u@\h:\w> \[\033[0m\]" | ||
+ | fi | ||
+ | </pre> | ||
+ | ::Steht fast alles im Text. '''export''' und Variablenzuweisung sowie die Bedeutung der Variable '''PS1''' lass ich mal weg. das sollte klar sein. | ||
+ | |||
+ | ::Ich zitiere mal aus dem Beitragstext und markiere farbig.<br> | ||
+ | "ist folgendes Format '''<font color="red">\033[</font> , <font color="blue">gefolgt von einer beliebigen Anzahl von Codes, die durch ; getrennt sind</font>, <font color="green">und das letzte mit m abgeschlossen ist</font>'''" | ||
+ | |||
+ | export PS1="\[<font color="red">\033[</font><font color="blue">31</font><font color="green">m</font>\]\u@\h:\w> \[<font color="red">\033[</font><font color="blue">0</font><font color="green">m</font>\]"<br> | ||
+ | |||
+ | :: Das ist also nichts weiter als das setzen der Farbe '''Rot (31)''' und das zurücksetzten der Attribute auf '''Defaultwert (0)''' . | ||
+ | |||
+ | |||
+ | :: zu erkennen hier noch zusätzlich beides Mal ist dieses zusätzlich noch in entwertete Eckige Klammern gesetzt worden. <br> | ||
+ | export PS1="'''<font color="red">\[</font>'''\033[31m'''<font color="red">\]</font>'''\u@\h:\w> '''<font color="red">\[</font>'''\033[0m'''<font color="red">\]</font>'''" <br> | ||
+ | ::Eine Erklärung hierfür ist zu finden ebenfalls bei den promptvars die jetzt gleich kommen. Dieses ist eine Eigenheit bei den Promptvariablen. und bedeutet '''Begin'''n und '''End'''e "'''of a sequence of non-printing characters'''" | ||
+ | |||
+ | |||
+ | :: das "'''\u@\h:\w>''' " besteht aus den normalen Zeichen '''@ : >''' und dazwischen sind "'''\u \h \w'''" das sind '''promptvars''' | ||
+ | :: die Bedeutung der '''promptvars''' ist nachzulesen in der Manpage von bash unter Abschnitt '''PROMPTING''' das sind nichts weiter als Variablen die innerhalb des Prompt verwendet werden können. | ||
+ | |||
+ | :: Ich hoffe mal die Erklärung hilft und verwirrt nicht noch mehr, ist schwierig sowas im Wikiformat sauber und übersichtlich zu Formatieren damit es leicht verständlich ist. ;-)))) [[Benutzer:Robi|Robi]] ([[Benutzer Diskussion:Robi|Diskussion]]) 22:11, 11. Jan. 2014 (CET) | ||
+ | :::Danke für die sehr ausführliche Erläuterung, aber das hier ist im wesentlich alles klar verstanden. --[[Benutzer:Itu|Itu]] ([[Benutzer Diskussion:Itu|Diskussion]]) 19:01, 12. Jan. 2014 (CET) | ||
+ | |||
+ | |||
+ | ::: In dem '''then''' Zweig sind jetzt hier zusätzlich noch weitere Steuerzeichen eingebettet.<br> | ||
+ | ::: '''\[\e]2;\u@\h:\w\007\e]1;\h\007\]'''<br> | ||
+ | ::: Diese haben nichts mit der eigentlichen Konsolfarbe zu tun, diese Sequenzen werden auch nicht mit '''m''' abgeschlossen sondern mit '''\007''' oder was dem Gleich wäre '''\a''' .<br>'''\e]2;\u@\h:\w\007''' bin ich mir sicher das diese oben in den Titelbar des Terminalwindows schreibt, was '''\e]1;\h\007''' macht, müsste ich auch erst suchen. Auf den ersten Blick irgend was mit dem Icon. Mal selbst forschen , in meinem Xterm funktioniert beides nicht :-)<br> | ||
+ | ::::: das erste( '''\[\e]2;irgendwas\a\]''' ) funktioniert doch, man muss nur xterm oder kterm benutzen. das andere scheint wohl bei KDE4 nicht zu funktionieren, ist wohl für andere Windowsmanager gedacht. [[Benutzer:Robi|Robi]] ([[Benutzer Diskussion:Robi|Diskussion]]) 11:37, 12. Jan. 2014 (CET) | ||
+ | ::: versuche mal [https://dougbarton.us/Bash/Bash-prompts.html das hier] als Einsprungpunkt. [[Benutzer:Robi|Robi]] ([[Benutzer Diskussion:Robi|Diskussion]]) 00:04, 12. Jan. 2014 (CET) |
Aktuelle Version vom 12. Januar 2014, 18:57 Uhr
Offenbar gibt es noch effektive farbcodes > 50.
for i in $(seq 1 255); do echo -ne "\033[$i"m ; echo -n $i" " ; done ; echo -e "\033[0m"
zumindest von 90 bis 106 sind da bei mir noch weitere, sehr nützliche Farben. Siehe auch https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes --Itu (Diskussion) 11:48, 10. Jan. 2014 (CET)
- sind aber oftmals nur in wenigen Terminaltypen bekannt, man sollte also wenn man dieses in einem Script benutzen will, vorher genau den Terminaltype und eventuell weitere Terminal Einstellungen prüfen, sonst kann das auf einem anderem Rechner oder in einem anderem Terminal sehr schnell zu unleserlichen "Itzelpritz" führen. Robi (Diskussion) 22:31, 11. Jan. 2014 (CET)
- Hm, Ubuntu hat das jedenfalls so. --Itu (Diskussion) 19:57, 12. Jan. 2014 (CET)
- sind aber oftmals nur in wenigen Terminaltypen bekannt, man sollte also wenn man dieses in einem Script benutzen will, vorher genau den Terminaltype und eventuell weitere Terminal Einstellungen prüfen, sonst kann das auf einem anderem Rechner oder in einem anderem Terminal sehr schnell zu unleserlichen "Itzelpritz" führen. Robi (Diskussion) 22:31, 11. Jan. 2014 (CET)
Skript
Kann mal jemand das Skript vom Abschnitt Farbe_in_der_Konsole#farbiges_Prompt erläutern? Die erste Zeile versteh ich sogar fast, mich interessiert der Prompt im then-zweig. --Itu (Diskussion) 07:53, 11. Jan. 2014 (CET)
- meinst du das hier ?
if test \( "$TERM" = "xterm" -o "${TERM#screen}" != "$TERM" \) -a -z "$EMACS" then export PS1="\[\033[31m\]\[\e]2;\u@\h:\w\007\e]1;\h\007\]\u@\h:\w> \[\033[0m\]" else export PS1="\[\033[31m\]\u@\h:\w> \[\033[0m\]" fi
- Steht fast alles im Text. export und Variablenzuweisung sowie die Bedeutung der Variable PS1 lass ich mal weg. das sollte klar sein.
- Ich zitiere mal aus dem Beitragstext und markiere farbig.
- Ich zitiere mal aus dem Beitragstext und markiere farbig.
"ist folgendes Format \033[ , gefolgt von einer beliebigen Anzahl von Codes, die durch ; getrennt sind, und das letzte mit m abgeschlossen ist"
export PS1="\[\033[31m\]\u@\h:\w> \[\033[0m\]"
- Das ist also nichts weiter als das setzen der Farbe Rot (31) und das zurücksetzten der Attribute auf Defaultwert (0) .
- zu erkennen hier noch zusätzlich beides Mal ist dieses zusätzlich noch in entwertete Eckige Klammern gesetzt worden.
- zu erkennen hier noch zusätzlich beides Mal ist dieses zusätzlich noch in entwertete Eckige Klammern gesetzt worden.
export PS1="\[\033[31m\]\u@\h:\w> \[\033[0m\]"
- Eine Erklärung hierfür ist zu finden ebenfalls bei den promptvars die jetzt gleich kommen. Dieses ist eine Eigenheit bei den Promptvariablen. und bedeutet Beginn und Ende "of a sequence of non-printing characters"
- das "\u@\h:\w> " besteht aus den normalen Zeichen @ : > und dazwischen sind "\u \h \w" das sind promptvars
- die Bedeutung der promptvars ist nachzulesen in der Manpage von bash unter Abschnitt PROMPTING das sind nichts weiter als Variablen die innerhalb des Prompt verwendet werden können.
- Ich hoffe mal die Erklärung hilft und verwirrt nicht noch mehr, ist schwierig sowas im Wikiformat sauber und übersichtlich zu Formatieren damit es leicht verständlich ist. ;-)))) Robi (Diskussion) 22:11, 11. Jan. 2014 (CET)
- Danke für die sehr ausführliche Erläuterung, aber das hier ist im wesentlich alles klar verstanden. --Itu (Diskussion) 19:01, 12. Jan. 2014 (CET)
- Ich hoffe mal die Erklärung hilft und verwirrt nicht noch mehr, ist schwierig sowas im Wikiformat sauber und übersichtlich zu Formatieren damit es leicht verständlich ist. ;-)))) Robi (Diskussion) 22:11, 11. Jan. 2014 (CET)
- In dem then Zweig sind jetzt hier zusätzlich noch weitere Steuerzeichen eingebettet.
- \[\e]2;\u@\h:\w\007\e]1;\h\007\]
- Diese haben nichts mit der eigentlichen Konsolfarbe zu tun, diese Sequenzen werden auch nicht mit m abgeschlossen sondern mit \007 oder was dem Gleich wäre \a .
\e]2;\u@\h:\w\007 bin ich mir sicher das diese oben in den Titelbar des Terminalwindows schreibt, was \e]1;\h\007 macht, müsste ich auch erst suchen. Auf den ersten Blick irgend was mit dem Icon. Mal selbst forschen , in meinem Xterm funktioniert beides nicht :-)
- das erste( \[\e]2;irgendwas\a\] ) funktioniert doch, man muss nur xterm oder kterm benutzen. das andere scheint wohl bei KDE4 nicht zu funktionieren, ist wohl für andere Windowsmanager gedacht. Robi (Diskussion) 11:37, 12. Jan. 2014 (CET)
- versuche mal das hier als Einsprungpunkt. Robi (Diskussion) 00:04, 12. Jan. 2014 (CET)
- In dem then Zweig sind jetzt hier zusätzlich noch weitere Steuerzeichen eingebettet.