Di recente ho aggiornato (con apt-get dist-upgrade
) le mie scatole Kubuntu e Lubuntu Linux, e ora ogni volta che accedo a una di queste macchine, ricevo questo messaggio:
tput: No value for $TERM and no -T specified
Ecco uno screenshot del messaggio esatto:
Questo è successo sia sulla mia macchina Lubuntu che su Kubuntu, e non è stato un problema fino a quando non ho effettuato l'aggiornamento; quindi sospetto che non sia stato un errore dell'utente.
Come posso risolvere questo problema?
AGGIORNARE
Ho rintracciato questo nel mio file .bashrc, che viene chiamato dal mio file .profile. Tuttavia, il fatto che il mio file .bashrc ora venga eseguito quando eseguo un accesso alla GUI, mentre non è stato prima di eseguire l'aggiornamento è un po 'strano. E no, non ho modificato il mio file .bashrc o il mio .profile di recente. Inoltre, bash non è la mia shell predefinita.
Il problema è che sto chiamando tput
nel mio file .bashrc per impostare le variabili da utilizzare per aggiungere colore al prompt. Ma al momento (inappropriato) in cui il mio file .bashrc ora viene eseguito, $TERM
non è impostato.
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)
Domanda aggiornata: come devo risolvere questo problema? Dovrei $TERM
mettermi? O non dovrei semplicemente impostare queste variabili se $TERM
non è impostato?
AGGIORNAMENTO 2
Una soluzione che ho provato è stata verificare se è $TERM
stato impostato. Ma questo non sembra funzionare; Ho ancora ricevuto lo stesso messaggio di errore. Ecco il codice:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
A quanto pare è $TERM
stato impostato, ma ha tput
comunque concluso che non lo era.
.profile
corre indipendentemente dalla shell predefinita