Feninic
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Guten Morgen zusammen, bis gestern hatte ich Kubuntu 18.04 laufen und bin auf Ubuntu Mate 18.04 umgestiegen. Meine Bash hatte ich in der .bashrc personalisiert. Unter anderem mit tput.
Als ich jetzt mein personalisiertes .bashrc in meinen persönlichen Ordner kopiert habe, fehlte die Farbgebung. die .profile ist auch entsprechend geändert, dass ich dort automatisch die personalisierungen von der .bashrc bekomme. Danach habe ich die gebackupte originale .bashrc zurückgeholt und eben die Personalisierung erneut hineingeschrieben. Doch auch jetzt funktioniert der tput nicht. Sprich die Farbgebung fehlt. Auch die Farbendefinition ohne tput in eine Variable geschrieben funktioniert nicht. Ich vermute einfach, dass ich da irgendwo einen Fehler drin habe. Doch wo? Wenn ich die Wahl habe ob ich mit tput oder mit der anderen Farbgebungsmethode arbeiten will, wäre mir tput lieber. Hat eventuell jemand eine Idee dazu? Herzlichen Dank schonmal im Voraus Liebe Grüße Eure
Feninic 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | #Entweder Farbendefinition mit tput oder ohne tput.
#Entsprechend auskommentieren bitte!!!
#Farben Definition mit tput
Datum=$(tput setaf 21);
User=$(tput setaf 91);
Host=$(tput setaf 127);
Dir=$(tput setaf 51);
Prompt=$(tput setaf 40);
Zwtext=$(tput setaf 226);
Dollar=$(tput setaf 9);
#Farben Definition ohne tput
#Datum=$(\033[0;34m);
#User=$(\033[1;35m);
#Host=$(\033[0;35m);
#Dir=$(\033[1;36m);
#Prompt=$(\033[0;32m);
#Zwtext=$(\033[1;33m);
#Dollar=$(\033[0;31m);
#Aufbau
PS1='\n'; #Leerzeile am Anfang
PS1+='\[${Datum}\]\d \t '; #Datum und Uhrzeit
PS1+='\[${User}\]\u '; #Username
PS1+='\[${Zwtext}\]auf '; #Zwischentext 1
PS1+='\[${Host}\]\h '; #Hostname
PS1+='\[${Zwtext}\]in'; #Zwischentext 2
PS1+='\n'; #Zeilenwechsel
PS1+='\[${Dir}\]\w'; #Arbeitsverzeichnis
PS1+='\n'; #Zeilenwechsel
PS1+='\[${Dollar}\]\$ '; #rootindikator
PS1+='\[${Prompt}\]'; #Prompt
#Ausgabe
export PS1;
|
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13166
|
Du verwendest beim Zusammenbauen von $PS1 einfache Quotes, so dass die Variablen nicht aufgelöst werden.
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Dankeschön.... Ich probiere es mal mit den Anführungszeichen. Hoffentlich klappt es. Liebe Grüße Eure
Feninic
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Habe direkt mal abgeändert und es klappt nicht 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | #Entweder Farbendefinition mit tput oder ohne tput.
#Entsprechend auskommentieren bitte!!!
#Farben Definition mit tput
Datum=$(tput setaf 21);
User=$(tput setaf 91);
Host=$(tput setaf 127);
Dir=$(tput setaf 51);
Prompt=$(tput setaf 40);
Zwtext=$(tput setaf 226);
Dollar=$(tput setaf 9);
#Farben Definition ohne tput
#Datum=$(\033[0;34m);
#User=$(\033[1;35m);
#Host=$(\033[0;35m);
#Dir=$(\033[1;36m);
#Prompt=$(\033[0;32m);
#Zwtext=$(\033[1;33m);
#Dollar=$(\033[0;31m);
#Aufbau
PS1="\n"; #Leerzeile am Anfang
PS1+="\[${Datum}\]\d \t "; #Datum und Uhrzeit
PS1+="\[${User}\]\u "; #Username
PS1+="\[${Zwtext}\]auf "; #Zwischentext 1
PS1+="\[${Host}\]\h "; #Hostname
PS1+="\[${Zwtext}\]in"; #Zwischentext 2
PS1+="\n"; #Zeilenwechsel
PS1+="\[${Dir}\]\w"; #Arbeitsverzeichnis
PS1+="\n"; #Zeilenwechsel
PS1+="\[${Dollar}\]\$ "; #rootindikator
PS1+="\[${Prompt}\]"; #Prompt
#Ausgabe
export PS1;
|
Gibt es noch andere Ideen? Liebe Grüße Eure
Feninic
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11243
Wohnort: München
|
Der export von PS1 ist IMHO überflüssig, weil die Konfigurationsdateien von der jeweiligen shell gesourced werden. Was erhoffst du dir von den eckigen Klammern um die Escape-Codes für die Farben herum? So sollte es funktionieren: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | Datum=$(tput setaf 21);
User=$(tput setaf 91);
Host=$(tput setaf 127);
Dir=$(tput setaf 51);
Prompt=$(tput setaf 40);
Zwtext=$(tput setaf 226);
Dollar=$(tput setaf 9);
PS1="\n"; #Leerzeile am Anfang
PS1+="${Datum}\d \t "; #Datum und Uhrzeit
PS1+="${User}\u "; #Username
PS1+="${Zwtext}auf "; #Zwischentext 1
PS1+="${Host}\h "; #Hostname
PS1+="${Zwtext}in"; #Zwischentext 2
PS1+="\n"; #Zeilenwechsel
PS1+="${Dir}\w"; #Arbeitsverzeichnis
PS1+="\n"; #Zeilenwechsel
PS1+="${Dollar}\$ "; #rootindikator
PS1+="${Prompt}"; #Prompt
|
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Dankeschön für die Überarbeitung Wegen der eckigen Klammern, ich dachte das müsse so, weil die Farben ja auch in diesen geschrieben werden. Mit dem export von PS1, dass der IMHO überflüssig ist, wusste ich noch nicht. Danke für die Info... Habe den überarbeiteten Code mal so kopiert und in eine neue .bashrc eingefügt. Die alte .bashrc in ein Backupordner kopiert. Aber leider ändert sich mit dem überarbeiteten Code nichts am Ergebnis. Die Bildschirmausgabe im Terminal von den einzelnen Teilen ist immer noch alles in diesem weißlichen Grau... Vielleicht gibt es noch weitere Ansätze, woran es liegen könnte? Liebe Grüße Eure
Feninic
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11243
Wohnort: München
|
Wie sieht denn die neue ~/.bashrc jetzt aus, was passiert wenn du einen neue Shell öffnest bzw. source ~/.bashrc ausführst und mit welchem Terminal Emulator arbeitest du?
|
Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6479
Wohnort: Hamburg
|
Wegen der eckigen Klammern, ich dachte das müsse so, weil die Farben ja auch in diesen geschrieben werden.
Die öffnende eckige Klammer ist Teil der Escape-Sequenz. Und wenn du genau hinsiehst, findest du bei den Farben auch keine schließende Klammer.
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Wie sieht denn die neue ~/.bashrc jetzt aus, was passiert wenn du einen neue Shell öffnest bzw. source ~/.bashrc ausführst und mit welchem Terminal Emulator arbeitest du?
Also zu 1) die neue ~/.bashrc enthält den von Dir bearbeiteten Code und sonst nichts zu 2) bei source ~/.bashrc ändert sich auch nichts, die Terminalausgabe hat immer noch ein und die selbe Standardfarbe zu3) ich arbeite mit dem Standard Terminal von Ubuntu Mate 18.04 Das nennt sich MATE-Terminal
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Dakuan schrieb: Wegen der eckigen Klammern, ich dachte das müsse so, weil die Farben ja auch in diesen geschrieben werden.
Die öffnende eckige Klammer ist Teil der Escape-Sequenz. Und wenn du genau hinsiehst, findest du bei den Farben auch keine schließende Klammer.
Ah Dankeschön...wieder etwas mehr dazu gelernt
Liebe Grüße
|
Vain
Anmeldungsdatum: 12. April 2008
Beiträge: 2503
|
Wie ist die Ausgabe von echo $TERM ? Die eckigen Klammern um die Codes herum waren übrigens notwendig. Die Teilen der Shell mit, dass darin Zeichen sind, die nicht zur Länge des sichtbaren Prompts beitragen. Ohne diese Klammern wirst du seltsame Artefakte beim Betätigen von Backspace oder der Eingabe von langen Zeilen haben.
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Vain schrieb: Wie ist die Ausgabe von echo $TERM ? Die eckigen Klammern um die Codes herum waren übrigens notwendig. Die Teilen der Shell mit, dass darin Zeichen sind, die nicht zur Länge des sichtbaren Prompts beitragen. Ohne diese Klammern wirst du seltsame Artefakte beim Betätigen von Backspace oder der Eingabe von langen Zeilen haben.
OK Dankeschön, also lag ich mit meinem Zweiten gar nicht so verkehrt. Habe die eckigen Klammern wieder gesetzt, so wie sie da waren. Die Ausgabe von echo $TERM zeigt das selbe an. Liebe Grüße Eure
Feninic
|
Vain
Anmeldungsdatum: 12. April 2008
Beiträge: 2503
|
Feninic schrieb: Die Ausgabe von echo $TERM zeigt das selbe an.
Huch? Dasselbe wie was? 😀
|
Feninic
(Themenstarter)
Anmeldungsdatum: 10. August 2011
Beiträge: 43
|
Vain schrieb: Feninic schrieb: Die Ausgabe von echo $TERM zeigt das selbe an.
Huch? Dasselbe wie was? 😀
UPS....habe das echo davor vergessen 😳 Also $ echo TERM zeigt an xterm Liebe Grüße
Feninic
|
Vain
Anmeldungsdatum: 12. April 2008
Beiträge: 2503
|
Feninic schrieb: Also $ echo TERM zeigt an xterm
Das ist das Problem. Die Variable wird von tput ausgewertet, um zu „erkennen“, welches Terminal du benutzt. Die angefragten Farben werden allesamt nicht von einem nackten xterm unterstützt, also gibt tput jeweils nur leere Ausgaben raus. Wahrscheinlich hattest du in deiner alten Installation im Terminal konfiguriert, dass als $TERM sowas wie xterm-256color gesetzt ist. Das solltest du jetzt auch machen können, denn das MATE-Terminal benutzt im Hintergrund VTE, welches mit xterm-256color „hinreichend“ kompatibel ist. (XTerm hat so viele Features, viele davon arkan und uralt, dass man da nicht wirklich von „ist kompatibel“ sprechen kann. Aber es ist für den Alltag kompatibel genug.)
|