Linux
Linux 控制台中的 256 色
我在我的 .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。