通过 $TERM 声明终端(例如 xterm-256colors)与从终端程序声明终端有区别吗?

通过 $TERM 声明终端(例如 xterm-256colors)与从终端程序声明终端有区别吗?

默认情况下,Putty 将自己标识为“xterm“ 终端类型,但可以更改其设置,使其将自己标识为“xterm-256colors”。

据我了解,这是通过设置“ $TERM”变量来完成的。

问题是,这需要每个用户都一一更改其 Putty 配置。

为了消除这种情况,我正在考虑强制每个用户“xterm-256colors$TERM集中价值(例如通过.login)。

假设每个用户都使用支持“xterm-256colors”的终端程序,直接从 Unix 端执行此操作与从终端程序执行此操作有什么区别吗?(我主要是寻找可能的问题/缺点)。

答案1

显式设置该值或让终端程序设置该值没有区别;两者都会导致TERM变量被设置。也就是说,让终端程序设置该值是获得合理设置的最佳方式——终端知道它支持的终端类型。如果终端不支持指定的终端类型,则很难预测终端呈现时的输出是什么样子。

正如 @JdeBP 在评论中指出的,putty和使用的值xterm不同;假设一切都支持 xterm-256 是不安全的。

相关内容