この質問は何千回も投稿されているのは知っていますが、私が見つけた答えはどれも問題を解決しませんでした。
によって与えられたルート シェルがあります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
root と非 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
行き詰まってます。
何か案が?
前もって感謝します
答え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」は偽の行にエイリアスされました...それが他のユーザーが影響を受けなかった理由を説明しています...