如何阻止 Windows 上的 UNIX 控制台輸出出現亂碼?

如何阻止 Windows 上的 UNIX 控制台輸出出現亂碼?

我發現當從 Windows 透過 SSH 連接到 UNIX 虛擬機器時,控制台幾乎無法使用。

似乎有兩個主要問題:

  1. 轉義字元(來自顏色和遊標鍵)
  2. 文本的覆蓋(主要在Nano中,但也在終端中)

第一個問題似乎可以透過使用 ConEmu 之類的東西來解決。

但第二個,我就是無法解決。在任何地方使用刪除鍵、終端機中的命令歷史記錄或 Nano 中的向上/向下或向上/向下翻頁都會覆蓋大量文本,結果只是新舊字元的混亂。

我發現更新螢幕的唯一方法是使用 CTRL+L 切換長行,但這並不是真正的解決方案。

這種情況發生在 cmd.exe、Git bash 和我嘗試過的其他一些檔案中。正常、理智的人如何處理這個問題(除了使用 OSX/Linux!)?

乾杯,戴夫

答案1

使用 Putty 或 NoMachine,從來沒有遇到任何一個所描述的問題。

答案2

感謝其餘的評論,我走上了 Putty 路線並取得了成功。

儘管實際登入起來比較麻煩,但它解決了我上面概述的所有問題。

我正在回答我自己的問題,因為我的用例是 Laravel 的 Homestead,所以我認為分享我的做法會很有用。

編輯:我將所有這些資訊以及更多資訊匯總到一篇部落格文章中,概述瞭如何使用 ConEmu 和 OpenSSH 來解決這兩個問題,同時為您提供比單獨使用 PuTTY 更多的功能:http://davestewart.io/blog/fix-windows-broken-ssh-console

Homestead 是基於 Vagrant 的,我在這裡找到瞭如何將 Putty 與 Vagrant 結合使用的信息:

https://github.com/Varying-Vagrant-Vagrants/VVV/wiki/Connect-to-Your-Vagrant-Virtual-Machine-with-PuTTY

從測試內指揮者它給了我線索,這是 Windows 自己的ssh.exe問題,所以我只是將 Putty 添加為新控制台(儘管你可以單獨運行它),並在獲得對 VM 的訪問權限後,我使用 Nano 進行了測試,它「剛工作」:

在此輸入影像描述

我還發現我可以從命令列使用 Git 的 OpenSSH 用戶端進行 SSH。

cd <open ssh folder> ssh [email protected] -p 2222

輸入“yes”,然後輸入“vagrant”作為密碼。瞧!工作奈米。

如果要儲存主機,請先以管理員身分執行命令提示字元。

(如果這對所有系統管理員來說都是顯而易見的,我深表歉意!)

相關內容