2015-05-22 46 views
1

從Ubuntu,我打開gnome-terminal和ssh到OS X另一個未知的終端類型

OS X的版本是:

$ sw_vers 
ProductName: Mac OS X 
ProductVersion: 10.9.5 
BuildVersion: 13F34 

我有例如文件xterm-256color

$ ls /usr/share/terminfo/78/xterm-256color 
/usr/share/terminfo/78/xterm-256color 

但我不能做一個簡單的clear

$ TERM='xterm-256color' clear 
'xterm-256color': unknown terminal type. 

回答

3

您的shell可能會將TERMINFO設置爲除/usr/share/terminfo之外的其他位置,並且會混淆ncurses庫。 ncurses庫有一個TERMINFO的編譯回退值,可以通過設置環境變量來覆蓋它。

你也可以有(從包裝等,例如,自制)的clear在路徑副本/usr/bin/clear之前,它指向一個不完整的終端數據庫。

對於後者,「清楚」將顯示情況。如果您還有infocmp,則可以使用相同的信息,例如,在其輸出的第一行中。

它也可能有一個損壞的終端數據庫(爲什麼,我不能說),因爲ncurses庫對每個條目進行一些運行時檢查,它可以拒絕加載那些沒有明顯原因。

+0

'TERMINFO'沒有設置。 'TERMINFO =/usr/share/terminfo TERM = xterm clear'起作用。謝謝! – user744629

+0

'TERM = xterm/usr/bin/clear'也有效。我沒有注意到我正在運行'/ Users/froger/miniconda/bin/clear',來自 https://binstar.org/asmeurer/ncurses。 – user744629

0

它適用於我在OSX 10.10.3。我很確定它也可以在10.9.x上運行。我會說特定機器出了問題,但這只是一個瘋狂的猜測。試試xterm-color或純xterm。另外,''在那裏是不必要的。