![通过 $TERM 声明终端(例如 xterm-256colors)与从终端程序声明终端有区别吗?](https://linux22.com/image/126116/%E9%80%9A%E8%BF%87%20%24TERM%20%E5%A3%B0%E6%98%8E%E7%BB%88%E7%AB%AF%EF%BC%88%E4%BE%8B%E5%A6%82%20xterm-256colors%EF%BC%89%E4%B8%8E%E4%BB%8E%E7%BB%88%E7%AB%AF%E7%A8%8B%E5%BA%8F%E5%A3%B0%E6%98%8E%E7%BB%88%E7%AB%AF%E6%9C%89%E5%8C%BA%E5%88%AB%E5%90%97%EF%BC%9F.png)
默认情况下,Putty 将自己标识为“xterm“ 终端类型,但可以更改其设置,使其将自己标识为“xterm-256colors”。
据我了解,这是通过设置“ $TERM
”变量来完成的。
问题是,这需要每个用户都一一更改其 Putty 配置。
为了消除这种情况,我正在考虑强制每个用户“xterm-256colors“$TERM
集中价值(例如通过.login
)。
假设每个用户都使用支持“xterm-256colors”的终端程序,直接从 Unix 端执行此操作与从终端程序执行此操作有什么区别吗?(我主要是寻找可能的问题/缺点)。
答案1
显式设置该值或让终端程序设置该值没有区别;两者都会导致TERM
变量被设置。也就是说,让终端程序设置该值是获得合理设置的最佳方式——终端知道它支持的终端类型。如果终端不支持指定的终端类型,则很难预测终端呈现时的输出是什么样子。
正如 @JdeBP 在评论中指出的,putty
和使用的值xterm
不同;假设一切都支持 xterm-256 是不安全的。