"경고: 터미널이 완전히 작동하지 않습니다." "man"을 루트로 사용할 때 발생

"경고: 터미널이 완전히 작동하지 않습니다." "man"을 루트로 사용할 때 발생

나는 이 질문이 엄청나게 많이 게시되었다는 것을 알고 있지만, 내가 찾을 수 있는 답변 중 그 어느 것도 문제를 해결하지 못했습니다.

에서 제공한 루트 쉘이 있습니다 sudo bash. 을 (를) 사용하려고 하면 man다음 메시지가 나타납니다.

WARNING: terminal is not fully functional
-  (press RETURN)

내비게이션에 대한 제어가 제한되어 있습니다.

루트가 아닐 때 작동합니다. 루트로서 aptitude올바르게 작동합니다. 나는 다음을 사용해 보았습니다 export TERM: linux, xterm, xterm-color, xterm-256color, ansi, screen-256color, ncurses, vt100.

출력은 stty -a루트 및 비루트와 정확히 동일합니다.

speed 38400 baud; rows 30; columns 271; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

나는 붙어있다.

어떤 아이디어?

미리 감사드립니다

답변1

ncurses나는 /usr/share/terminfo를 제공하는 누락된 패키지를 추가하여 이 문제를 직접 해결했습니다 . 어떤 이유로든 패키지 종속성 지옥으로 인해 설치되지 않은 이 패키지는 이 문제를 해결한 것으로 보입니다. 내 경우에는 root루트가 아닌 사용자 모두에게 이런 일이 발생했기 때문에 그렇지 않을 수도 있지만 나중에 내 상황에 처한 사람이 Google 결과에서 이 질문을 보게 될 경우를 대비해 게시할 가치가 있다고 생각합니다.

CentOS에서는 ncurses-base.

Debian 11(그리고 Ubuntu일 가능성이 높음)에서는 ncurses-term.

해당 패키지가 누락된 경우 해당 패키지를 설치하고 도움이 되는지 확인하세요.

reset터미널에서 수행하려고 시도한 결과 "터미널 유형?"이라는 결과가 나왔습니다. 내가 시도한 모든 것을 즉시 거부합니다. 예:

Terminal type? screen                                      
reset: unknown terminal type screen
Terminal type?                                             
Terminal type? vt100
reset: unknown terminal type vt100

그래서 작동하는 시스템과 비교하고 이름이 포함된 모든 것을 찾게 되었습니다 vt100. 결과를 조금 조사한 결과 "나쁜" 시스템에서 누락된 grep -r파일을 찾을 수 있었습니다 . 나를 그 패키지 이름으로 안내하는 /usr/share/terminfo전화 .rpm -q --whatprovides /usr/share/terminfo/v/vt100

답변2

거의 3년 후 ChatGPT가 나에게 솔루션을 제공했습니다.

# type man
man is aliased to `TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man'

어떤 시점에서 "man"은 가짜 라인으로 별칭이 지정되었습니다. 이는 다른 사용자가 영향을 받지 않은 이유를 설명합니다...

관련 정보