"ADVERTENCIA: el terminal no es completamente funcional" cuando se utiliza "man" como root

"ADVERTENCIA: el terminal no es completamente funcional" cuando se utiliza "man" como root

Sé que esta pregunta se ha publicado millones de veces, pero ninguna de las respuestas que pude encontrar me la resolvió.

Tengo un shell raíz proporcionado por sudo bash. Cuando intento usar man, tengo este mensaje:

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

y control limitado sobre la navegación.

Funciona cuando no soy root. Como root, aptitudefunciona correctamente. Lo he intentado export TERMcon: linux, xterm, xterm-color, xterm-256color, ansi, screen-256color, ncurses, vt100.

La salida de stty -aes exactamente la misma que la raíz y la no raíz:

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

Estoy atascado.

¿Alguna idea?

gracias de antemano

Respuesta1

Terminé resolviendo esto yo mismo agregando un ncursespaquete faltante que proporciona /usr/share/terminfo. Este paquete, que por alguna razón de dependencia del paquete no se instaló, parece solucionar este problema. Aunque en mi caso les sucedió tanto a rootusuarios como a no root, puede que no sea así, pero creo que vale la pena publicarlo en caso de que alguien esté en mi situación en el futuro y se encuentre con esta pregunta en los resultados de Google.

En CentOS, es ncurses-base.

En Debian 11 (y probablemente en Ubuntu), es ncurses-term.

Si le faltan esos paquetes, intente instalarlos y vea si eso ayuda.

Encontré esto al intentar hacerlo reseten la terminal, y el resultado "¿Tipo de terminal?" mensaje rechazando todo lo que intenté, por ejemplo

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

Eso me hizo compararlo con un sistema que funcionara y buscar cualquier cosa que incluyera el nombre vt100. Un poco de investigación en los grep -rresultados me llevó a los archivos /usr/share/terminfoque faltaban en el sistema "malo". Una llamada rpm -q --whatprovides /usr/share/terminfo/v/vt100me llevó al nombre de ese paquete.

Respuesta2

Casi 3 años después, ChatGPT me dio la solución...

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

en algún momento "man" recibió un alias de una línea falsa... eso explica por qué los otros usuarios no se vieron afectados...

información relacionada