大家都在點贊 Windows Terminal,我決定給你潑一盆冷水
Windows Terminal 釋出以後,立刻引爆了整個技術圈,各種社交媒體上紛紛傳播著它的訊息,它開源的 GitHub 倉庫的星標數一路飆升,迅速成為當日 GitHub 趨勢榜的首名,甚至連它 issue 區都擠滿了人——以至於專案運營團隊緊急出場管理。不過,在我觀看了相關的資料和視訊以後,感覺並沒有那麼令人興奮。
在我看到一時間出現的很多文章,都視 Windows Terminal 為 Windows 下命令列體驗的救世主之後,我覺得,是時候潑一盆冷水降降溫了。
Windows Terminal 專案下的討論
Windows Terminal 是什麼?
在潑冷水之前,我想先來介紹一下 Windows Terminal 是什麼,以方便你理解我的觀點:Windows Terminal 是一個套在 Windows 作業系統原本的 CMD、Powershell、Windows Subsystem for Linux(WSL)之上的一個介面更加漂亮、功能更加強大的終端工具。嚴格來說,它是套在 CMD 、Powershell 之上的一個終端。
Powershell on Windows Terminal。圖片來源:https://devblogs.microsoft.com/commandline/introducing-windows-terminal/
這裡需要了解一下終端和 shell 的區別:
在命令列中,shell 提供了訪問作業系統核心功能的途徑,比如說我們所熟悉的 bash、zsh,都是不同的 shell;而終端則為 shell 提供視覺介面(視窗),比如我們所熟悉的 iTerm2、Linux 桌面上的終端工具等。甚至於我們在 VSCode 中所使用的命令列,也是某種意義上的終端。
我們在 Windows 下所使用的 CMD、Powershell 既然是一個終端,也是一個 Shell,還是同名的指令碼系統。
但是,它也只是一個終端而已,而不是一個更加好用的 Shell。
為什麼 Windows Terminal 不是救世主?
作為一個終端,Windows Terminal 無疑是合格的,它提供了非常強大的功能,來自微軟的強大工程能力也讓它能夠吸引更多的眼球。
Cmder 效果圖。圖片來源:Cmder 官網
但是,如果僅僅是一個終端,其實開源社群早已有更多的解決方案,比如 cmder、ConEmu、Hyper 等等,這些 Terminal 也足夠好看和好用。
ConEmu效果圖。圖片來源:ConEmu 官網
這種第三方就可以做好的事情,微軟官方的進入不過是在現有的命令列生態下提供更多的一種選擇,而不是真正的問題解決方案。
當我們吐槽 Windows 命令列時,我們在吐槽什麼?
那麼我們是對什麼不滿意呢?Windows 使用者所吐槽的命令列不好用不在於其表面,而在於其沒有一個足夠好用的 Shell。 Windows 下的兩個命令列介面都各有自己的問題,CMD 因為時間久遠,很多功能不齊全。而 Power Shell 雖然功能強大,但不合理的命令語法,大量冗長的、駝峰式命名的命令和引數使得使用者的命令操作極為不便,體驗極差。如果沒有一個足夠好用的 Shell ,無論換了多少外面的終端,無非是披了一個閃閃發光的、半透明的漂亮外衣罷了。
對於開發者們來說,真正希望 Windows 做的,不是一個更漂亮的終端。漂亮的終端只能讓他們一時新鮮,但是如果希望開發者們真正感覺到 Windows 命令列好用,就需要提供一個更加強大的 Shell,幫助開發者能夠用上 Unix 式的命令列工具。
Windows Terminal + Windows Subsystem for Linux ?
在 Microsoft Build 2019 大會上,除了 Windows Terminal 以外,還發布了 Windows Subsystem for Linux 2(WSL2)。新一代的 WSL 相比於上一代,提供了完整的 Linux 核心,將會提供更好的系統支援。看起來,Windows Terminal 和 WSL 的結合,已經非常完美了,但作為一個 Shell 來用的話,又顯的過於笨重。
WSL 2 所提供的,不過是一個更加簡單、更加易用的 Windows 下的虛擬機器,你不再需要安裝 Virtual Box、VMWare 而已,一個 Windows Subsystem for Linux 就可以滿足開發者的大部分需求。
但是,這並不能解決問題,這治標不治本的選擇。WSL 無論做的再怎麼好,無法擺脫它只是一個執行於 Windows 系統中附屬的子系統。無論 WSL 做的再好,本質上並沒有比虛擬機器做的更多。
作為一個開發者,我認為什麼才是微軟真正應該做的?
Windows Love Linux。圖片來源:https://cloudblogs.microsoft.com/windowsserver/2015/05/06/microsoft-loves-linux/
作為 Windows 系統的開發者,微軟真正的價值顯然不是做一個終端那麼簡單。作為生態的打造者,微軟真正可以做好的是,打造一個能夠在體驗和生態上與 Unix Shell 一致的 Shell,或者是乾脆提供 Bash、Zsh 等常用 Shell 的原生支援(WSL 雖然支援 Bash、Zsh等,但依然是需要先進入 WSL 才能使用,但你可以暢想一下,如果 CMD 變成了 Bash,會是什麼樣的呢?)。這些事情是第三方開發者所無法做的更好的,只有生態的構建者在一開始就將一個體驗良好的 Shell 放置在系統的核心,無需開發者自行安裝、配置,才能夠讓開發者真正擁有一個好的命令列體驗。如果微軟能提供一個足夠好用的 Shell,我相信類似於 Windows Terminal 這樣的應用,會如雨後春筍一般,從開源社群中源源不斷的冒出來。
總結
對於廣大使用 Windows 開發的使用者來說,一個閃閃發亮的、現代化的、功能強大的終端固然很好,但好的終端只不過是錦上添花之舉,而一個強大好用的 Shell 才是真正能夠雪中送炭的東西,只有一個足夠好用的 Shell,才能成為 Windows 命令列世界的救世主。而這,才是真正值得微軟花費大量的時間、精力去做的。
延展閱讀
- Introducing Windows Terminal:https://devblogs.microsoft.com/commandline/introducing-windows-terminal/
- Announcing WSL 2:https://devblogs.microsoft.com/commandline/announcing-wsl-2/
- Windows 下有哪些替代 CMD 的命令列工具?:https://www.zhihu.com/question/19739424
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 對《大家都在點贊 Windows Terminal,我決定給你潑一盆冷水》一文的商榷Windows
- 微軟JavaScript團隊向Dart語言潑冷水微軟JavaScriptDart
- 我來潑盆冷水:正面迎擊AI的時代千萬別被ChatGPT割了韭菜AIChatGPT
- 炒得火熱的雲遊戲概念,需要一盆冷水降降溫遊戲
- 別人都在認真聽課,我埋頭寫Python為主播瘋狂點點點點點贊!Python
- 關於 Windows Terminal,人民群眾都在聊些什麼?Windows
- Windows TerminalWindows
- 我決不黑微軟。。也不知你說的對不對?大家來點有思想高度的分析微軟
- Windows Terminal完整指南Windows
- 投資50億的IBM醫療裁員70%:從象牙塔到落地,Watson被潑了哪些冷水IBM
- 為什麼大家都在用 WebP?Web
- 設定 Windows Terminal 中 Ubuntu 預設開啟路徑WindowsUbuntu
- HMC不能open terminal windows的解決方法之一Windows
- 科學家:在你做決定之前,人工智慧就先給你做決定人工智慧
- 直播點贊View(從我的簡書遷移........)View
- 給雷軍點贊!小米6充電重啟問題下週將徹底解決
- 我把我自己的日期類庫分享出來給大家用
- Windows Terminal 新手入門Windows
- 配置 Windows Terminal 步驟Windows
- Windows Terminal 簡單美化Windows
- Windows terminal 好用的 Windows 命令列工具Windows命令列
- 大家都在找的免費API介面API
- 大家都在用的免費好用APIAPI
- Windows Terminal + MSYS2 配置Windows
- [應用案例]給網站加了個評論功能,帶點贊網站
- 一文搞定 Windows Terminal 設定與 zsh 安裝 (非WSL)Windows
- 有贊招聘小程式,有你就很贊
- 利器 | Terminal & Shell 改造記錄 Windows Terminal + Oh My ZSH + TmuxWindowsUX
- 大家都在用的熱門免費APIAPI
- 簡化你的關注與點贊 - Laravel Follow & VoteLaravel
- 馬斯克等超1200人聯名公開信呼籲:停止訓練更強大的AI,這背後原因發人深省,該給ChatGPT潑冷水了馬斯克AIChatGPT
- 大家都在討論的零程式碼平臺,到底是什麼優點?
- 我用白話+案例給你講講機器學習中的決策樹機器學習
- 微信小程式實現點贊、取消點贊,和多項點選功能微信小程式
- Windows Terminal新增到滑鼠右鍵Windows
- Windows Terminal 自定義 SSH 連線Windows
- Redis高效實現點贊、取消點贊只需這四步Redis
- 我對大家尋求oracle培訓的一點看法Oracle