首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$TERM正确有多重要?

$TERM正确有多重要?
EN

Unix & Linux用户
提问于 2019-04-25 14:01:07
回答 1查看 2.3K关注 0票数 7

我最近从rxvt-unicode转到了st。这意味着我从$TERM=rxvt-unicode-256color$TERM=st-256color

我对这个开关很满意,并希望继续使用st。但是,我注意到某些终端应用程序对新的$TERM值不满意。例如,emacs将不会在st中加载完全的颜色支持,除非我“骗”它认为$TERM是某种可以识别的东西,比如$TERM=xterm-256color

我的问题是:简单设置$TERM=xterm-256color有什么风险?在我看来,$TERM=*-256color的重要部分是256color部分,而*的价值似乎不那么重要。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-04-25 18:09:19

TERM值的重要部分是它匹配了terminfo或termcap数据库中的条目,并且该条目正确地描述了您的终端。

你不能合理地告诉软件你的终端是XTerm,而它显然不是。如果认为其他终端模拟器使用与XTerm相同的输入/输出控制序列或提供所有相同的功能,这是一个彻底的错误。

-256color只是一个名称的一部分,它对大多数软件没有固有的意义(尽管很少有人会寻找特性后缀)。它(主要)只对人类有意义,因为是人类将终端/术语数据库中的条目按名称分组。终端类型名称中的特征后缀主要用于人类,而不是软件。

对软件有意义的是,这样命名的数据库中的记录是否表示终端支持256种颜色,并提供了在这种终端上使用它们的控制序列。

也就是说,emacs确实会做自己的事情,而不是简单地依赖terminfo/termcap数据库。例如,它的frame-set-background-mode函数与TERM^\\(xterm\\|\\rxvt\\|dtterm\\|eterm\\)的值相匹配,这可能是错误的。这里的正确方法是修复emacs,以便最终正确地识别st-256color终端类型(以及putty-256colorvte-256color和其他类型)。

再读

票数 15
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/515471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档