首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出和删除终端?

如何列出和删除终端?
EN

Unix & Linux用户
提问于 2021-04-13 13:35:58
回答 1查看 1.2K关注 0票数 3

我已经安装了一些带有terminfo命令的自定义tic。如何列出数据库中的所有terminfo (例如,使用infocmp),以及如何删除特定的terminfo

我现在的想法是:

在Linux上,系统范围的terminfo数据库位于/lib/terminfo (Debian)、/usr/share/terminfo (Arch)和/usr/share/lib/terminfo (Solaris)中;

在macOS上,系统范围的terminfo数据库位于/usr/share/terminfo中;

用户定义的terminfo数据库在~/.terminfo中.

目前,我认为可以通过删除这些目录中已编译的项来更改terminfo数据库项。因此,进一步的问题是:为什么项目terminfo被组织成两个十六进制数字目录(例如31,7a)?他们是如何组织起来的?如果我将一个新的terminfotic写入数据库,但有一个存在的名称,那么前面的terminfo是否被覆盖了呢?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-02-19 13:15:53

不止一个问题。所有这些都在手册中。

  • 如何列出数据库中的所有终端(例如,infocmp),,ncurses程序使用一个可使用TERMINFO_DIRS环境变量重写的终端数据库的已编译的位置列表。抽筋 (和非焦点性) -D选项显示列表:-D告诉tic打印它知道的数据库位置,然后退出。所示的第一个位置是它将写入编译后的终端描述的位置。如果tic无法根据上面总结的规则找到可写的数据库位置,它将打印一个诊断和退出错误,而不是打印一个数据库位置列表。
  • ncurses还使用首页环境变量来告诉当您没有在首选位置写入的权限时,tic可以在哪里写入终端描述。这个特性有问题(保持它的最新,使它与可能安装在机器上的所有版本的ncurses一起工作,等等)。
  • 如何删除特定的终端没有删除终端描述的特殊命令,因为通常在给定位置的整个终端数据库都是作为一个单元创建的(以处理交叉引用)。通常终端数据库是一组文件,但可以设置为使用散列数据库。对于前者(文件集合),您可以删除在报表开头的注释中输入的文件。
  • 为什么项终端被组织成两个十六进制数字目录(例如31,7a)?一些终端描述名称使用大写字符,当它们被用作忽略大小写的文件系统上的文件名时,将与其他名称发生冲突。带有MacOS的默认文件系统忽略大小写。Cygwin也是如此。当为给定系统配置ncurses时,配置脚本将检查文件系统是否注意到情况。术语手册页是阅读此页面的地方。

有时,您将看到来自其他用户(或不熟悉该主题的开发人员)的建议,建议您将编译后的终端描述从一台计算机复制到另一台机器。这是一个糟糕的建议,因为它没有考虑到前面的任何信息。

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

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

复制
相关文章

相似问题

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