Gnu-Screen

BitchX 中的 ANSI 無法正確顯示

  • February 14, 2018

我試圖讓 ANSI 在 OS X 上使用 Iterm2 的螢幕會話中正確顯示,預設 TERM 設置為

screen.xterm-256color

我試過

export TERM=vt100 

export TERM=ansi

在此處輸入圖像描述

在此處輸入圖像描述

export TERM=xterm 
w/ tmux

在此處輸入圖像描述

問題不在於終端仿真 - 保持 TERM 設置不變。

就是UI的那些部分使用的字元集是CP437,但是您的終端設置為另一個字元集(可能是UTF8)。

您可以將 iTerm2 設置為使用 CP437(如果它支持)(設置在終端/字元編碼下),或者您可以使用cp437 實用程序在 UTF-8 終端上模擬 CP437 終端。

設置TERM=ansi將無法正常工作,因為tmux僅設計用於處理screen終端描述中的轉義序列。

如果您這樣做infocmp ansi screen,您可能會注意到這些行,顯示終端應用程序將使用的終端功能,這在兩個終端描述之間有所不同,但 tmux 和/或 iTerm2 在以這種方式誤導時會處理錯誤:

       ech: '\E[%p1%dX', NULL.
       rep: '%p1%c\E[%p2%{1}%-%db', NULL.
       rin: '\E[%p1%dT', NULL.
       rmpch: '\E[10m', NULL. 
       rmacs: '\E[10m', '^O'.
       smacs: '\E[11m', '^N'.
       smpch: '\E[11m', NULL.

由於 tmux 很混亂,因此無法保證顯示屏上會顯示什麼。

這同樣適用於TERM=xterm。該tmux手冊記錄了這一限制。

設置TERM=vt100很接近(用於infocmp查看),但大多數人都知道vt100 從未做過 ANSI color

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