簡體   English   中英

ncurses如何搜索終端描述

[英]How does ncurses search for terminal descriptions

由於某些原因,我正在從源代碼構建ncurses 6.1。 首先,我用

./configure

然后我用

make

兩者都沒有參數。 當我嘗試運行測試時,出現錯誤消息

Error opening terminal: xterm-256color.

在我的本地系統(Ubuntu 17.10)上

Error opening terminal: xterm

在構建服務器(Jenkins Docker容器)上。

我發現此構建正在/usr/share/terminfo/尋找終端說明。 我的本地系統上有很多描述,但沒有xterm-256color 在構建服務器上,文件夾/usr/share/terminfo/為空。 我在/lib/terminfo找到了xterm-256colorxterm 當我使用軟件包管理器(適用於Ubuntu 17.10)安裝ncurses時,它可以工作。 因此,我認為此程序包選擇正確的路徑。 我復制了xterm-256color resp。 /lib/terminfo/usr/share/terminfo/ xterm ,我的構建現在可以在兩個系統上使用。 為什么存在兩個不同的路徑,為什么這兩個版本的ncurses選擇兩個不同的路徑? 我需要一個ncurses的柯南包,它可以直接使用而無需復制描述文件。

這可能與以下內容重復: 從源代碼構建ncurses時如何為terminfo數據庫設置自定義搜索路徑

答案在configure末尾的摘要中(問題中未顯示)。 但是運行infocmp -D將顯示在查找描述時infocmp將使用的目錄。

您可以使用TERMINFOTERMINFO_DIRS環境變量來修改行為。

/lib/terminfo是特定於Debian的(Ubuntu不對ncurses進行任何更改;它們只是重新編譯Debian軟件包:大多數有關ncurses的Ubuntu錯誤報告都解決了這樣做的問題)。

默認情況下,Debian將某人的最小終端數據庫概念安裝在該目錄中。 安裝ncurses-term以獲得完整的終端數據庫。

順便說一下,在已安裝ncurses的Debian / Ubuntu /其他系統上編譯和安裝ncurses可能會破壞現有的庫,例如bash和您可能需要的其他實用程序所使用的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM