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 aptitude
funktioniert es einwandfrei. Ich habe es export TERM
mit Folgendem versucht: linux
, xterm
, xterm-color
, xterm-256color
, ansi
, screen-256color
, ncurses
, vt100
.
Die Ausgabe stty -a
ist 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 ncurses
Paket 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 root
Nicht-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 reset
auf 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 -r
Ergebnissen führte mich zu den Dateien, /usr/share/terminfo
die auf dem „schlechten“ System fehlten. Ein Aufruf von rpm -q --whatprovides /usr/share/terminfo/v/vt100
fü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 …