Windows Terminal 發(fā)布以后,立刻引爆了整個技術(shù)圈,各種社交媒體上紛紛傳播著它的消息,它開源的 GitHub 倉庫的星標(biāo)數(shù)一路飆升,迅速成為當(dāng)日 GitHub 趨勢榜的首名,甚至連它 issue 區(qū)都擠滿了人——以至于項(xiàng)目運(yùn)營團(tuán)隊(duì)緊急出場管理。不過,在我觀看了相關(guān)的資料和視頻以后,感覺并沒有那么令人興奮。
在我看到一時間出現(xiàn)的很多文章,都視 Windows Terminal 為 Windows 下命令行體驗(yàn)的救世主之后,我覺得,是時候潑一盆冷水降降溫了。
Windows Terminal 項(xiàng)目下的討論
在潑冷水之前,我想先來介紹一下 Windows Terminal 是什么,以方便你理解我的觀點(diǎn):Windows Terminal 是一個套在 Windows 操作系統(tǒng)原本的 CMD、Powershell、Windows Subsystem for Linux(WSL)之上的一個界面更加漂亮、功能更加強(qiáng)大的終端工具。嚴(yán)格來說,它是套在 CMD 、Powershell 之上的一個終端。
Powershell on Windows Terminal。
圖片來源: https://devblogs.microsoft.com/commandline/introducing-windows-terminal/
這里需要了解一下 終端(terminal)和 shell 的區(qū)別:
在命令行中,shell 提供了訪問操作系統(tǒng)內(nèi)核功能的途徑,比如說我們所熟悉的 bash、zsh,都是不同的 shell;而終端則為 shell 提供視覺界面(窗口),比如我們所熟悉的 iTerm2、Linux 桌面上的終端工具等。甚至于我們在 VSCode 中所使用的命令行,也是某種意義上的終端。
我們在 Windows 下所使用的 CMD、Powershell 既然是一個終端,也是一個 Shell,還是同名的腳本系統(tǒng)。
但是,它也只是一個終端而已,而不是一個更加好用的 Shell。
作為一個終端,Windows Terminal 無疑是合格的,它提供了非常強(qiáng)大的功能,來自微軟的強(qiáng)大工程能力也讓它能夠吸引更多的眼球。
Cmder 效果圖。
圖片來源:Cmder 官網(wǎng)
但是,如果僅僅是一個終端,其實(shí)開源社區(qū)早已有更多的解決方案,比如 cmder 、 ConEmu 、 Hyper 等等,這些 Terminal 也足夠好看和好用。
ConEmu效果圖。
圖片來源:ConEmu 官網(wǎng)
這種第三方就可以做好的事情,微軟官方的進(jìn)入不過是在現(xiàn)有的命令行生態(tài)下提供更多的一種選擇,而不是真正的問題解決方案。
那么我們是對什么不滿意呢?Windows 用戶所吐槽的命令行不好用不在于其表面,而在于其沒有一個足夠好用的 Shell。 Windows 下的兩個命令行界面都各有自己的問題,CMD 因?yàn)闀r間久遠(yuǎn),很多功能不齊全。而 Power Shell 雖然功能強(qiáng)大,但不合理的命令語法,大量冗長的、駝峰式命名的命令和參數(shù)使得用戶的命令操作極為不便,體驗(yàn)極差。如果沒有一個足夠好用的 Shell ,無論換了多少外面的終端,無非是披了一個閃閃發(fā)光的、半透明的漂亮外衣罷了。
對于開發(fā)者們來說,真正希望 Windows 做的,不是一個更漂亮的終端。漂亮的終端只能讓他們一時新鮮,但是如果希望開發(fā)者們真正感覺到 Windows 命令行好用,就需要提供一個更加強(qiáng)大的 Shell,幫助開發(fā)者能夠用上 Unix 式的命令行工具。
在 Microsoft Build 2019 大會上,除了 Windows Terminal 以外,還發(fā)布了 Windows Subsystem for Linux 2(WSL2)。新一代的 WSL 相比于上一代,提供了完整的 Linux 內(nèi)核,將會提供更好的系統(tǒng)支持??雌饋?,Windows Terminal 和 WSL 的結(jié)合,已經(jīng)非常完美了,但作為一個 Shell 來用的話,又顯的過于笨重。
WSL 2 所提供的,不過是一個更加簡單、更加易用的 Windows 下的虛擬機(jī),你不再需要安裝 Virtual Box、VMWare 而已,一個 Windows Subsystem for Linux 就可以滿足開發(fā)者的大部分需求。
但是,這并不能解決問題,這治標(biāo)不治本的選擇。WSL 無論做的再怎么好,無法擺脫它只是一個運(yùn)行于 Windows 系統(tǒng)中附屬的子系統(tǒng)。無論 WSL 做的再好,本質(zhì)上并沒有比虛擬機(jī)做的更多。
Windows Love Linux。
聯(lián)系客服