J'ai récemment mis à niveau (avec apt-get dist-upgrade
) mes boîtiers Linux Kubuntu et Lubuntu, et maintenant chaque fois que je me connecte à l'une de ces machines, je reçois ce message:
tput: No value for $TERM and no -T specified
Voici une capture d'écran du message exact:
Cela s'est produit à la fois sur ma machine Lubuntu et sur ma machine Kubuntu, et ce n'était pas un problème avant ma mise à niveau; donc je soupçonne que ce n'était pas une erreur utilisateur.
Comment puis-je réparer cela?
MISE À JOUR
J'ai retrouvé cela dans mon fichier .bashrc, qui est appelé par mon fichier .profile. Cependant, le fait que mon fichier .bashrc s'exécute maintenant lorsque je me connecte à l'interface graphique alors qu'il ne l'était pas avant la mise à niveau est un peu bizarre. Et non, je n'ai pas modifié mon fichier .bashrc ou mon .profile récemment. De plus, bash n'est pas mon shell par défaut.
Le problème est que j'appelle tput
dans mon fichier .bashrc pour configurer des variables à utiliser pour ajouter de la couleur à l'invite. Mais au moment (inapproprié) où mon fichier .bashrc s'exécute maintenant, $TERM
n'est pas défini.
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)
Question mise à jour: comment résoudre ce problème? Dois-je $TERM
me fixer ? Ou devrais-je simplement ne pas définir ces variables si ce $TERM
n'est pas le cas?
MISE À JOUR 2
Une solution que j'ai essayée était de vérifier si elle $TERM
était réglée. Mais cela ne semblait pas fonctionner; J'ai toujours le même message d'erreur. Voici le code:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
Donc, apparemment, $TERM
c'était réglé, mais tput
toujours conclu que ce n'était pas le cas.
.profile
quel que soit le shell par défaut