„WARNUNG: Terminal ist nicht voll funktionsfähig“ bei Verwendung von „man“ als Root

„WARNUNG: Terminal ist nicht voll funktionsfähig“ bei Verwendung von „man“ als Root

Ich weiß, dass diese Frage schon zigmal gestellt wurde, aber keine der Antworten, die ich finden konnte, hat mein Problem gelöst.

Ich habe eine Root-Shell von sudo bash. Wenn ich versuche zu verwenden man, erhalte ich diese Meldung:

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

und eingeschränkte Kontrolle über die Navigation.

Es funktioniert, wenn ich nicht Root bin. Als Root aptitudefunktioniert es einwandfrei. Ich habe es export TERMmit Folgendem versucht: linux, xterm, xterm-color, xterm-256color, ansi, screen-256color, ncurses, vt100.

Die Ausgabe stty -aist genau die gleiche wie für Root und Nicht-Root:

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

Ich stecke fest.

Irgendeine Idee?

Dank im Voraus

Antwort1

Ich habe das Problem schließlich selbst gelöst, indem ich ein fehlendes ncursesPaket hinzugefügt habe, das /usr/share/terminfo bereitstellt. Dieses Paket, das aus irgendeinem Grund der Paketabhängigkeitshölle nicht installiert wurde, scheint das Problem zu beheben. In meinem Fall ist es jedoch sowohl bei Benutzern als auch bei rootNicht-Root-Benutzern gleichermaßen passiert, also kann es nicht daran liegen, aber ich denke, es ist einen Beitrag wert, falls jemand in Zukunft in meine Situation gerät und diese Frage in den Google-Ergebnissen findet.

Unter CentOS ist es ncurses-base.

Unter Debian 11 (und wahrscheinlich auch unter Ubuntu) ist es ncurses-term.

Wenn diese Pakete fehlen, versuchen Sie, sie zu installieren und prüfen Sie, ob das hilft.

Ich habe dies gefunden, indem ich versucht habe, es resetauf dem Terminal zu tun, und die resultierende Eingabeaufforderung „Terminaltyp?“ hat alles abgelehnt, was ich versucht habe, z. B.

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

Das brachte mich dazu, es mit einem funktionierenden System zu vergleichen und nach allem zu suchen, das den Namen enthielt vt100. Ein bisschen Stöbern in den grep -rErgebnissen führte mich zu den Dateien, /usr/share/terminfodie auf dem „schlechten“ System fehlten. Ein Aufruf von rpm -q --whatprovides /usr/share/terminfo/v/vt100führte mich zu diesem Paketnamen.

Antwort2

Fast drei Jahre später bot mir ChatGPT die Lösung …

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

irgendwann wurde für „man“ ein Alias ​​für eine falsche Zeile verwendet … das erklärt, warum die anderen Benutzer nicht betroffen waren …

verwandte Informationen