[英]gnome-terminal (or VTE) sets $TERM to xterm rather than xterm-256color
為什么有一個令人信服的理由說明為什么gnome-terminal
(並且可能是VTE
小部件)將$TERM
設置$TERM
xterm
而不是xterm-256color
? 顯然,它支持256色。
有一陣子,我在.bashrc
/ .zshrc
有一行可以簡單地export TERM=xterm-256color
,因為這通常是我正在使用的終端模擬器。 但是隨后我打開tmux
,在許多CLI應用程序中,例如emacs
和htop
,行為/顏色是錯誤的,因為tmux
會將TERM
變量設置為screen-256color, 然后外殼程序加載並執行了我的.*rc
文件,該文件然后錯誤地設置了TERM
。
現在,我有:
if [ "$TERM" != "screen-256color" ]; then
export TERM="xterm-256color"
fi
我不喜歡這樣,因為如果有一天我突破實際的VT-220或使用其他終端模擬器怎么辦?
長期以來,人們一直在看$COLORTERM
,如果設置了它(以及TERM=xterm
),他們會改為使用TERM=xterm-256colors
。
后來,gnome-terminal(實際上是vte)刪除了設置$COLORTERM
,但引入了$VTE_VERSION
。
最新版本(gnome-terminal 3.16,vte 0.40)立即設置TERM=xterm-256color
(這也不是很正確,因為它支持16M顏色,但是無法在terminfo中表示出來。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.