![如何阻止 Windows 上的 UNIX 控制台輸出出現亂碼?](https://rvso.com/image/668785/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%20Windows%20%E4%B8%8A%E7%9A%84%20UNIX%20%E6%8E%A7%E5%88%B6%E5%8F%B0%E8%BC%B8%E5%87%BA%E5%87%BA%E7%8F%BE%E4%BA%82%E7%A2%BC%EF%BC%9F%20.png)
我發現當從 Windows 透過 SSH 連接到 UNIX 虛擬機器時,控制台幾乎無法使用。
似乎有兩個主要問題:
- 轉義字元(來自顏色和遊標鍵)
- 文本的覆蓋(主要在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 結合使用的信息:
從測試內指揮者它給了我線索,這是 Windows 自己的ssh.exe
問題,所以我只是將 Putty 添加為新控制台(儘管你可以單獨運行它),並在獲得對 VM 的訪問權限後,我使用 Nano 進行了測試,它「剛工作」:
我還發現我可以從命令列使用 Git 的 OpenSSH 用戶端進行 SSH。
cd <open ssh folder> ssh [email protected] -p 2222
輸入“yes”,然後輸入“vagrant”作為密碼。瞧!工作奈米。
如果要儲存主機,請先以管理員身分執行命令提示字元。
(如果這對所有系統管理員來說都是顯而易見的,我深表歉意!)