文章

Linux系统 TERM 环境变量

Linux,TERM环境变量,终端颜色。

Linux系统 TERM 环境变量

TERM

在 Linux 系统中,TERM 是一个环境变量,用于指定当前终端(或终端模拟器)的类型。它告诉应用程序如何与终端交互,特别是如何处理控制序列(如光标移动、颜色显示、清屏等)。

关键作用

  1. 终端兼容性
    不同终端(如 xtermgnome-terminalalacritty)使用不同的控制码(escape sequences)。TERM 帮助应用程序(如 vimtoptmux)选择正确的控制码。
  2. 功能支持
    标识终端支持的功能,例如:
    • 颜色数量(如 xterm-256color
    • 特殊键(如 F1-F12、方向键)
    • 屏幕刷新能力

常见 TERM 值示例

终端类型描述
xterm基础 X Window 终端
xterm-256color支持 256 色的 Xterm
screenGNU Screen 会话
screen-256colorScreen 支持 256 色
tmux 或 tmux-256colorTmux 终端多路复用器
linux物理控制台(非图形界面)
vt100 / vt220旧式终端(高兼容性模式)

查看当前 TERM 值

1
echo $TERM

典型输出:xterm-256colorscreenlinux 等。

修改 TERM

临时修改(仅当前会话有效)

1
export TERM=xterm-256color

永久修改

将以下行添加到 Shell 配置文件(如 ~/.bashrc~/.zshrc):

1
export TERM=xterm-256color

重新加载配置:

1
source ~/.bashrc

注意事项:

  1. 不要随意更改
    错误的 $TERM 设置可能导致应用显示异常(乱码、光标错位)。通常终端会自动配置正确的值。

  2. SSH 连接时
    远程登录时,本地终端的 $TERM 会传递到远程服务器。如果远程缺少对应的终端描述,可尝试:
    1
    
    export TERM=xterm  # 使用兼容性更好的基础终端类型
    
  3. 终端数据库
    终端的控制码定义存储在 /usr/share/terminfo/ 目录。通过 infocmp 查看:
    1
    
    infocmp $TERM
    

故障排查

若终端显示异常(如 less 乱码),尝试重置:

1
reset

或检查 $TERM 是否匹配实际终端类型。

本文由作者按照 CC BY 4.0 进行授权