Ssh
來自螢幕的 ssh 導致未知終端錯誤
我正在嘗試從一個 Ubuntu 主機到螢幕內的另一個主機建立 ssh 連接(通過 lsh)。如果我嘗試
mc
在此之後立即執行,則會收到以下錯誤:Unknown terminal: screen-256color-s Check the TERM environment variable. Also make sure that the terminal is defined in the terminfo database. Alternatively, set the TERMCAP environment variable to the desired termcap entry.
問題是——是誰造成了這次失敗?是本地主機嗎?偏僻的?一些包裹失去(哪個?),一些沒有做的事情
lsh-server
?還是客戶?為了清楚起見 - 我不想要像“TERM = xterm mc”這樣的解決方法,我希望能夠在(遠端)控制台上使用支持 256 色的視覺主題。
最後,我設法找出提供 screen-256-color-s 的“明顯”包(必須安裝在遠端機器上):
sudo apt install ncurses-term
為我解決了這個問題:漂亮的 256 種顏色,不需要醜陋的環境變數變通方法。萬歲!:)
只需設置另一個 TERM,例如
TERM="rxvt"
或者
TERM="xterm"
或者
TERM="vt102"
也許
export TERM
也有幫助。該
TERM
變數由curses
和termcap
程序使用,例如mc
ordialog
,從執行命令的 terminfo/termcap 數據庫中讀取終端轉義碼,因此在您的情況下是在遠端系統中。要支持“screen-256color-s”TERM 類型,此終端類型必須安裝在數據庫中。
作為一個很好的起點閱讀
man 5 terminfo
。