簡體   English   中英

編譯/安裝后更改ncurses 6“ terminfo-dirs”

[英]Changing ncurses 6 “terminfo-dirs” after compilation/installation

最初在用戶主目錄中安裝了一個ncurses6,比方說“ / home / test”,因此在此ncurses路徑上構建了一個測試環境,許多(正在開發中的)應用程序已經編譯並且正在運行,僅取決於當前的HOME env變量。

但是,由於超出我們控制范圍的目的,我們必須更改用戶主目錄。 現在,它與“ / home / test”不同。

外部應用程序和ncurses工具仍然可以使用,我們只需要使用LD_LIBRARY_PATH指向庫,並使用一個更具體的路徑即可,如之前在ncurses工具中所使用的:

LD_LIBRARY_PATH=~/bin/ncurses-6.0/lib ~/bin/ncurses-6.0/bin/tic

但是現在,在更改用戶主目錄之后,我們還需要指向terminfo數據庫:

TERMINFO=~/bin/ncurses-6.0/share/terminfo LD_LIBRARY_PATH=~/bin/ncurses-6.0/lib ~/bin/ncurses-6.0/bin/tic

但是,有什么方法可以使TERMINFO數據庫路徑永久不變,而無需重新編譯和重新安裝ncurses嗎? 在編譯過程中,ncurses是否包含硬代碼?

默認值是內置的。 您可以使用環境變量覆蓋它們( TERMINFO是標准的, TERMINFO_DIRS是擴展名)。 對於ncurses6而言,這並不是什么新鮮事(它早於20年前的ncurses4)。

最實用的“永久”更改是將替代項放入您的Shell初始化中。

可以修改ELF二進制文件(沒有校驗和),但是結果路徑不能更長。 可以更短一些,因為字符串是空終止的。 由於您的示例增加了路徑,所以無論如何這對您來說是行不通的。

暫無
暫無

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

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