Ncurses
有沒有辦法為 terminfo 條目提供“覆蓋”?
至少在 Linux 中,在 RedHat 上,提供的
xterm
terminfo 條目是有問題的:無論出於何種原因,它們使用初始化序列通過is2
強制 80 列螢幕的功能(參見 CSI ? n l)。這是一件非常愚蠢的事情。所以我想改變這一點。我想盡可能雄辯地改變它。該
terminfo
數據庫位於/etc/terminfo
(未記錄的) and/usr/lib/terminfo
and$HOME/.terminfo
和可能$TERMINFO
and$TERMINFO_DIRS
中。我的選擇似乎是:
- 用於
infocmp xterm | perl <regexp> | tic
提供新數據庫並將其放在原始文件(壞主意)或/etc/termcap/x/xterm
- 創建一個名為 (eg) 的新 xterm 條目,該條目
xterm-mine
使用該source
功能並將其放置在上述目錄之一中。我有第三種選擇嗎?僅覆蓋該一項功能的東西?“調整”?
你似乎已經提到了所有的可能性。但是您沒有提及您使用的是哪種終端配置。控制序列的提及
Ps = 3 -> 132 Column Mode (DECCOLM).
給出提示。
關於初始化字元串(不是新的:超過 20 年)行為的問題幾乎都來自 PuTTY 使用者。儘管它
xterm
用於TERM
設置,但 PuTTY 不是 xterm。與 xterm (預設關閉相應的菜單項)相比,PuTTY 預設啟用它(並且僅通過選擇是否允許調整大小使該選項可用*)*。進一步閱讀:
- 為什麼不直接使用 TERM 設置為“xterm”?(ncurses 常見問題解答)
- 為什麼不將“xterm”等同於“xterm-256color”?
- VTTEST – VT100/非 VT100 包裝範例:PuTTY (pterm)
與 Red Hat 相比,Debian 提供了更多與 PuTTY 相關的錯誤報告:
- Debian #435715 - 從“putty”中刪除視窗調整大小
- Debian #515672 - ncurses-base:請將“putty”從 ncurses-term 移動到 ncurses-base
- Debian #783808 - 請添加一個新的終端類型:xterm-256color-utf8
所有這一切的重點是,終端描述(就像其他經常使用的東西一樣)在有一種完善的使用方式時不會經常改變。PuTTY 的終端描述在其他方面與 xterm 不同,因為它沒有實現與 xterm 一致的某些功能(例如換行)。
進一步閱讀(除了關於
TERM
vs的 ncurse 常見問題解答xterm
):
- 有哪些版本可用?(xterm 常見問題解答)
- 通過計數控制項比較版本(xterm FAQ)