Linux

Linux 控制台中的 256 色

  • February 5, 2017

我在我的 .bashrc

export TERM=xterm-256color

但這會導致在 Linux 控制台 ( Ctrl++ Alt)中閃爍所有彩色文本(ls –color,在 vim 等中F1)。

那麼是否有可能辨識我在哪個終端(Linux 控制台或偽 tty),以便我可以導出具有有效值的 TERM 變數?

$$ EDIT $$ 我只找到了替代解決方案:

對於 vim 使用者(在 .vimrc 中)

set t_Co=256

或用於 .Xdefaults 中的 xterm(在 xrdb -load .Xdefaults 之後)

XTerm*termName:         xterm-256color

或螢幕(.screenrc)

term screen-256color

嘗試根本不導出TERM變數。這應該由終端本身設置為適當的值。linux 控制台應該將此設置為linux,而各種基於 X 的終端程序可能會使用您設置的值。

您應該僅將其設置為當預設值不起作用或未通過 SSH 到無法辨識您的環境的位置時的覆蓋。

控制台 $TERM 是linux,

$$ 1 $$所以你可以建構一個測試,如下所示:

if [ "$TERM" = "linux" ]; then
...

正如Caleb 所指出的,將環境變數 TERM 設置為您想要模擬的終端類型並不是一個好主意。

有關詳細資訊,請參閱http://tldp.org/HOWTO/Text-Terminal-HOWTO-10.html#term_not_for_emulation

$$ 1 $$從核心版本 1.3.2 開始,控制台的核心預設值為 TERM=linux。

http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-11.html

引用自:https://unix.stackexchange.com/questions/16387