ubuntuusers.de

tput in bash

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 18.04 (Bionic Beaver)
Antworten |

Feninic

(Themenstarter)
Avatar von Feninic

Anmeldungsdatum:
10. August 2011

Beiträge: 43

Vain schrieb:

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.)

Ah das hört sich doch schon wesentlich besser an. In dem alten Terminal, das ich hatte, habe ich nicht irgendwas manuell nachkonfiguriert. Wo und wie konfiguriere ich das denn jetzt nach? Danke schönmal für Deine Hilfe.

Liebe Grüße Eure Feninic

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2505

Sieht so aus, als gäbe es dafür keine saubere Stelle:

https://github.com/mate-desktop/mate-terminal/issues/209

Wenn ich das richtig deute, war das MATE-Terminal zum Release-Zeitpunkt von Ubuntu 18.04 kaputt und hat die Variable falsch gesetzt (oder es war doch VTEs Schuld, keine Ahnung, hab’ dann aufgehört zu lesen).

Das heißt, du kannst dir jetzt als Workaround das hier ganz oben in deine .bashrc schreiben:

1
export TERM=xterm-256color

Wird dann wohl in den meisten Fällen funktionieren. Ein direkter Aufruf eines Programmes via mate-terminal -e ... wird aber kaputt sein.

Ich würde mich nach einem anderen Terminal umschauen. Das von Xfce4 ist sehr ähnlich und früher gab’s auch noch sowas wie Lilyterm oder ROXTerm. urxvt, st oder eben wirklich XTerm wären auch noch Optionen.

Feninic

(Themenstarter)
Avatar von Feninic

Anmeldungsdatum:
10. August 2011

Beiträge: 43

Vain schrieb:

Sieht so aus, als gäbe es dafür keine saubere Stelle:

https://github.com/mate-desktop/mate-terminal/issues/209

Wenn ich das richtig deute, war das MATE-Terminal zum Release-Zeitpunkt von Ubuntu 18.04 kaputt und hat die Variable falsch gesetzt (oder es war doch VTEs Schuld, keine Ahnung, hab’ dann aufgehört zu lesen).

Das heißt, du kannst dir jetzt als Workaround das hier ganz oben in deine .bashrc schreiben:

1
export TERM=xterm-256color

Wird dann wohl in den meisten Fällen funktionieren. Ein direkter Aufruf eines Programmes via mate-terminal -e ... wird aber kaputt sein.

Ich würde mich nach einem anderen Terminal umschauen. Das von Xfce4 ist sehr ähnlich und früher gab’s auch noch sowas wie Lilyterm oder ROXTerm. urxvt, st oder eben wirklich XTerm wären auch noch Optionen.

Dankeschön für Deine Hilfe und Mühe...ich schaue dann mal, dass ich nen anderes Terminalprogramm installiere.

Liebe Grüße und einen schönen Abend Eure Feninic

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6488

Wohnort: Hamburg

Ich habe keine Ahnung, was xterm kann und was man da einstellen kann. Aber da ich kürzlich mit Farbcodes experimentiert hatte, habe ich das gerade mal ausprobiert.

Bei meinem Ubuntu Mate funktionieren die Codes für rot (\033[31m) und blau (\033[34m) sowohl im Mate-Terminal als auch in xterm (und ich habe nirgends die Konfiguration verändert.

Bei der Suche nach den richtigen Codes habe ich aber festgestellt, das es da einen ziemlichen Wildwuchs zu geben scheint. CONSOLE_CODES

Feninic

(Themenstarter)
Avatar von Feninic

Anmeldungsdatum:
10. August 2011

Beiträge: 43

Dakuan schrieb:

Ich habe keine Ahnung, was xterm kann und was man da einstellen kann. Aber da ich kürzlich mit Farbcodes experimentiert hatte, habe ich das gerade mal ausprobiert.

Bei meinem Ubuntu Mate funktionieren die Codes für rot (\033[31m) und blau (\033[34m) sowohl im Mate-Terminal als auch in xterm (und ich habe nirgends die Konfiguration verändert.

Bei der Suche nach den richtigen Codes habe ich aber festgestellt, das es da einen ziemlichen Wildwuchs zu geben scheint. CONSOLE_CODES

Alles gut. Danke Dir... habe mir jetzt nen anderes Terminal installiert. Die Konsole von Kubuntu finde ich ganz nett und die läuft auch unter Mate. Und dabei habe ich auch festgestellt, während ich nach den Terminalprogrammen geschaut habe, dass es diese klappbaren oder wie sich das nennt, die, die von oben runterkommen und dann wieder zurück gehen, gibt und dass Mate davon sogar eines standardmäßig mitbringt.

Sowohl in dem als auch in der neu installierten Konsole funktioniert der Code einwandfrei, wie er es soll.

Dankeschön an alle, die versucht haben mir zu helfen und dann auch dadurch zusammen eine Lösung gefunden haben.

Ich wünsche Allen einen schönen Abend.

Liebe Grüße Eure Feninic

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2505

Dakuan schrieb:

Bei der Suche nach den richtigen Codes habe ich aber festgestellt, das es da einen ziemlichen Wildwuchs zu geben scheint. CONSOLE_CODES

ncurses zur Rettung naht! ☺

tput als Teil von ncurses abstrahiert das ja alles hübsch weg. Naja, nicht alles (natürlich …), aber sehr viel. Deswegen ist es eine gute Idee, in der .bashrc oder ähnlichen Configs tput zu benutzen statt nackter Escape-Codes. Irgendwoher muss auch tput/ncurses dann wissen, mit welchem Terminal es denn nun redet und was das kann. Das macht es an genau der $TERM-Variable fest, für nix anderes ist die gut. Wenn die nicht passt, kriegst du Müll.

Normalerweise™ sollte man als Endbenutzer an der Variablen nicht drehen müssen. Der Terminalemulator sollte die auf einen passenden Wert setzen, denn er selbst weiß ja am besten, welche Features er beherrscht und welche nicht. (Und wer eine Bibliothek wie VTE benutzt, sollte als Programmierer ebenfalls nicht daran drehen müssen.)

Antworten |