Terminfo

terminfo 是否為 /usr/local/share 提供了一個選項?

  • January 23, 2020

我應該在哪里安裝全域 terminfo 文件?有/usr/local/share/terminfo嗎?我寧願不污染髮行版的 terminfo 文件/usr/share/terminfo

我應該在哪里安裝全域 terminfo 文件?

在典型的 GNU/Linux 機器上,您應該將它們放入/etc/terminfo,預設情況下會在其中查找它們。

在大多數基於 Debian 或 Fedora/Redhat 的發行版上都是這種情況,但在 Gentoo、Alpine 等上也是如此——infocmp -D會告訴你你的系統是否真的是這種情況。在基於 Debian 的發行版上,tic預設情況下,當以 root 身份執行時,也會將編譯後的條目寫入那裡(檢查tic -D)。

/etc/terminfo當您想要覆蓋 terminfo 條目時,該目錄會派上用場 - 例如。cnorm將條目中的andcvvis功能替換為linux一些不會使游標重新閃爍的功能。

其他系統沒有這麼好的內置覆蓋:您必須手動創建該(或其他)目錄並使用TERMINFOorTERMINFO_DIRS環境變數顯式指向它;此外,主要的 terminfo 目錄可能不是/usr/share/terminfo/, but/usr/gnu/share/terminfo/或其他東西。檢查man ncurses您的系統以獲取所有詳細資訊。

還有一些系統(例如 FreeBSD)根本不支持 terminfo 並且仍在使用 termcap 格式。而且,更複雜的是,一些系統可能同時具有 ncurses 的基本和“埠”實現,每個系統都有自己的預設值應該是什麼的想法。

引用自:https://unix.stackexchange.com/questions/562705