Niedawno zaktualizowałem (wraz z apt-get dist-upgrade) moim systemem Linux Kubuntu i Lubuntu, a teraz za każdym razem, gdy loguję się do jednej z tych maszyn, pojawia się następujący komunikat:
tput: No value for $TERM and no -T specified
Oto zrzut ekranu z dokładną wiadomością:

Stało się tak zarówno na mojej maszynie Lubuntu, jak i na maszynie Kubuntu, i nie było problemu, dopóki nie zaktualizowałem; więc podejrzewam, że to nie był błąd użytkownika.
Jak mogę to naprawić?
AKTUALIZACJA
Śledziłem to do mojego pliku .bashrc, który jest wywoływany przez mój plik .profile. Chociaż fakt, że mój plik .bashrc jest teraz uruchomiony, gdy loguję się w interfejsie GUI, a nie przed aktualizacją, jest trochę dziwny. I nie, nie zmodyfikowałem ostatnio mojego pliku .bashrc ani .profile. Poza tym bash nie jest moją domyślną powłoką.
Problem polega na tym, że dzwonię tputw pliku .bashrc, aby skonfigurować zmienne do użycia w dodawaniu kolorów do monitu. Ale w (nieodpowiednim) czasie, gdy mój plik .bashrc jest teraz uruchamiany, $TERMnie jest ustawiony.
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)
Zaktualizowane pytanie: Jak to naprawić? Czy powinienem się ustawić $TERM? A może powinienem po prostu nie ustawiać tych zmiennych, jeśli $TERMnie są ustawione?
AKTUALIZACJA 2
Jednym z rozwiązań, które próbowałem, było sprawdzenie, czy $TERMzostało ustawione. Ale to nie działało; Nadal pojawia się ten sam komunikat o błędzie. Oto kod:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
Najwyraźniej tak $TERM było , ale tputdoszło do wniosku, że tak nie było.
.profiledziała niezależnie od domyślnej powłoki