Ich habe kürzlich ein Upgrade (mit apt-get dist-upgrade
) meiner Kubuntu und Lubuntu Linux-Boxen durchgeführt. Jedes Mal, wenn ich mich bei einem dieser Computer anmelde, erhalte ich die folgende Meldung:
tput: No value for $TERM and no -T specified
Hier ist ein Screenshot der genauen Nachricht:
Dies geschah sowohl auf meinem Lubuntu-Rechner als auch auf meinem Kubuntu-Rechner, und es war kein Problem, bis ich ein Upgrade durchgeführt hatte. daher vermute ich, dass es kein benutzerfehler war.
Wie kann ich das beheben?
AKTUALISIEREN
Ich habe dies in meiner .bashrc-Datei nachverfolgt, die von meiner .profile-Datei aufgerufen wird. Die Tatsache, dass meine .bashrc-Datei jetzt ausgeführt wird, wenn ich mich über die Benutzeroberfläche anmelde, während dies vor dem Upgrade nicht der Fall war, ist etwas seltsam. Und nein, ich habe in letzter Zeit weder meine .bashrc-Datei noch mein .profile geändert. Außerdem ist bash nicht meine Standardshell.
Das Problem ist, dass ich tput
meine .bashrc-Datei aufrufe, um Variablen für das Hinzufügen von Farben zur Eingabeaufforderung einzurichten. Aber zu dem (unangemessenen) Zeitpunkt, an dem meine .bashrc-Datei jetzt ausgeführt wird, $TERM
ist nichts festgelegt.
fgRed=$(tput setaf 1) ; fgGreen=$(tput setaf 2) ; fgBlue=$(tput setaf 4)
fgMagenta=$(tput setaf 5) ; fgYellow=$(tput setaf 3) ; fgCyan=$(tput setaf 6)
fgWhite=$(tput setaf 7) ; fgBlack=$(tput setaf 0)
bgRed=$(tput setab 1) ; bgGreen=$(tput setab 2) ; bgBlue=$(tput setab 4)
bgMagenta=$(tput setab 5) ; bgYellow=$(tput setab 3) ; bgCyan=$(tput setab 6)
bgWhite=$(tput setab 7) ; bgBlack=$(tput setab 0)
Aktualisierte Frage: Wie soll ich das beheben? Soll ich $TERM
mich setzen? Oder sollte ich diese Variablen einfach nicht setzen, wenn $TERM
nicht gesetzt?
UPDATE 2
Eine Lösung, die ich versuchte, war zu überprüfen, ob $TERM
eingestellt war. Aber das schien nicht zu funktionieren; Ich habe immer noch die gleiche Fehlermeldung. Hier ist der Code:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
So offenbar $TERM
wurde eingestellt, aber tput
noch geschlossen war es nicht.
.profile
läuft unabhängig von der Standard-Shell