최근에 apt-get dist-upgrade
Kubuntu 및 Lubuntu Linux 상자를 (로 ) 업그레이드 했으며 이제 이러한 컴퓨터 중 하나에 로그인 할 때마다 다음 메시지가 표시됩니다.
tput: No value for $TERM and no -T specified
정확한 메시지의 스크린 샷은 다음과 같습니다.
이것은 내 Lubuntu 컴퓨터와 Kubuntu 컴퓨터에서 모두 발생했으며 업그레이드 후까지는 문제가되지 않았습니다. 사용자 오류가 아닌 것 같습니다.
이 문제를 어떻게 해결할 수 있습니까?
최신 정보
나는 이것을 내 .bash 파일로 추적했다. 내 .profile 파일에 의해 호출된다. 그래도 GUI 로그인을 할 때 내 .bashrc 파일이 실행되는 반면 업그레이드하기 전에는 그렇지 않은 것이 약간 이상합니다. 그리고 아니요. 최근에 .bashrc 파일이나 .profile을 수정하지 않았습니다. 또한 bash는 기본 쉘이 아닙니다.
문제는 tput
프롬프트에 색상을 추가하는 데 사용할 변수를 설정하기 위해 .bashrc 파일을 호출한다는 것 입니다. 그러나 .bashrc 파일이 이제 실행되는 (부적절한) 시간에 $TERM
설정되지 않았습니다.
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)
업데이트 된 질문 : 이 문제를 어떻게 해결해야합니까? 내가 $TERM
직접 설정 해야합니까? 또는 설정 $TERM
되지 않은 경우이 변수를 설정하지 않아야합니까?
업데이트 2
내가 시도한 한 가지 해결책 $TERM
은 설정 되어 있는지 확인하는 것이 었습니다. 그러나 이것은 효과가 없었습니다. 여전히 같은 오류 메시지가 나타납니다. 코드는 다음과 같습니다.
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
그래서 분명히 $TERM
했다 설정할 수 있지만 tput
여전히 아니었다 결론을 내렸다.
.profile
기본 쉘에 상관없이 실수하지 않으면 실행