Ssh

來自螢幕的 ssh 導致未知終端錯誤

  • June 25, 2019

我正在嘗試從一個 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變數由cursestermcap程序使用,例如mcor dialog,從執行命令的 terminfo/termcap 數據庫中讀取終端轉義碼,因此在您的情況下是在遠端系統中。

要支持“screen-256color-s”TERM 類型,此終端類型必須安裝在數據庫中。

作為一個很好的起點閱讀man 5 terminfo

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