Recientemente actualicé (con apt-get dist-upgrade
) mis cajas de Linux Kubuntu y Lubuntu, y ahora cada vez que inicio sesión en una de estas máquinas, recibo este mensaje:
tput: No value for $TERM and no -T specified
Aquí hay una captura de pantalla del mensaje exacto:
Esto sucedió tanto en mi máquina Lubuntu como en la máquina Kubuntu, y no fue un problema hasta después de la actualización; así que sospecho que no fue un error del usuario.
¿Cómo puedo arreglar esto?
ACTUALIZAR
He rastreado esto hasta mi archivo .bashrc, que está siendo llamado por mi archivo .profile. Sin embargo, el hecho de que mi archivo .bashrc ahora se ejecuta cuando hago un inicio de sesión GUI, mientras que no lo hacía antes de actualizar es un poco extraño. Y no, no he modificado mi archivo .bashrc o mi .profile recientemente. Además, bash no es mi shell predeterminado.
El problema es que estoy llamando tput
a mi archivo .bashrc para configurar variables para agregar color al indicador. Pero en el momento (inapropiado) cuando mi archivo .bashrc ahora se ejecuta, $TERM
no está configurado.
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)
Pregunta actualizada: ¿Cómo debo solucionar esto? ¿Debo establecerme $TERM
? ¿O simplemente no debería establecer estas variables si $TERM
no está configurado?
ACTUALIZACIÓN 2
Una solución que intenté fue verificar si $TERM
estaba configurado. Pero esto no parecía funcionar; Todavía recibí el mismo mensaje de error. Aquí está el código:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
Así que aparentemente $TERM
estaba listo, pero tput
aún así concluyó que no.
.profile
ejecuta independientemente del shell predeterminado