我应该在哪里安装全局终端文件?有/usr/local/share/terminfo吗?我不想在/usr/share/terminfo中污染发行版的终端文件。
发布于 2020-01-17 23:42:46
我应该在哪里安装全局终端文件?
在典型的GNU/Linux机器上,您应该将它们放在/etc/terminfo中,默认情况下将在那里查找它们。
在大多数基于Debian或Fedora/Redhat的发行版上都是这样,但是Gentoo、阿尔卑斯等也是如此-- infocmp -D会告诉您在您的系统上是否真的是这样。在基于Debian的发行版上,tic在以root用户的身份运行时,默认情况下也会在那里写入编译的条目(与tic -D检查)。
当您想要覆盖一个entry条目时,/etc/terminfo目录很有用--例如。要将cnorm和cvvis在linux条目中的功能替换为不打开光标的功能,请执行以下操作。
其他系统没有这么好的内置覆盖:您必须手工创建那个(或其他)目录,并使用TERMINFO或TERMINFO_DIRS环境变量显式地指向它;而且,主终端目录可能不是/usr/share/terminfo/,而是/usr/gnu/share/terminfo/或其他什么东西。有关详细信息,请查看系统上的man ncurses。
还有一些系统(如。FreeBSD),它们根本不支持终端机,并且仍在使用术语帽格式。而且,更复杂的是,有些系统可能同时有ncurses的基本实现和“端口”实现,每个系统都有自己的缺省值。
发布于 2020-01-18 10:37:15
它在手册页中:
TERMINFO变量来选择terminfo数据库。TERMINFO_DIRS目录的搜索列表。TERMINFO或TERMINFO_DIRS)是编译入的,并且在不同的系统之间可能有所不同。有时打包器会记录位置(如果它们覆盖默认值)。通常,infocmp (跨不同的实现)显示它在输出开始时在注释中找到终端描述的位置。
进一步读:
https://unix.stackexchange.com/questions/562705
复制相似问题