Windows 中的linux使用方法
Linux on Windows簡介
Win10一週年版推出了用於Windows的Linux子系統這一功能,最近體驗了一下感覺極佳。不說別的,有一個完整的Linux環境就可以完爆一切bash環境了,痛快地解除安裝了Git for Windows/Cygwin/minGW/msys/babun吧!
Linux子系統和Windows的結合真是有一種神互補。子系統可以掛載windows的檔案系統,於是就可以在現有的檔案系統下幹一個完整的Linux環境所能幹的事情。軟體豐富更適合日常使用的Windows與開源且適合開發的Linux結合使得開發更加簡便,不用再考慮雙系統虛擬機器這種效率不高的結合方式了,Linux on Windows用一種應用軟體的方式實現了系統軟體的功能,這一點可以說讓人驚豔了。重要的是這樣同時執行的兩個系統並不是相互獨立的,而是可以協作的,以後完全可以使用Windows下的工具進行編碼,然後在Linux子系統進行Git提交,當然,它所能夠發揮的作用遠遠不僅於此。
如何啟用
啟用Linux子系統
啟用開發者模式
系統模式的設定位於所有設定->更新和安全->針對開發人員, 更改後如下:
更改系統功能
使用win+X
快捷鍵調出系統管理選單後點擊程式與功能,選擇啟用或關閉Windows功能,修改“適用於Windows的Linux子系統一項”,勾選之,確認並重啟。
安裝系統
使用cmd下載Linux系統。開啟功能以後系統中其實還沒有安裝Linux,需要使用cmd完成安裝,這一步可能比較漫長。如果PC中已經安裝了bash工具如msys(git for Windows),開啟管理員許可權的cmd,輸入bash
下載完成以後配置使用者名稱密碼即可愉快地使用ubuntu啦!
啟用root許可權並建立使用者
接下來可以輸入sudo passwd root
建立root使用者(最高許可權)。如果需要的話可以再使用adduser username
建立一個新user(不建議使用useradd), 使用者的切換通過su username
完成。
切換到root使用者輸入su
即可。
完成升級
啟用了root使用者,接下來操作就比較方便了,先使用su
切到root使用者,然後直接使用apt-get完成軟體包的升級。(apt-get update
apt-get upgrade
)。
如果升級過程中出現連線錯誤(__Assertion__、method dies),先把命令再輸一次試試。如果cmd保持一個類似於宕機的狀態太久(比如20分鐘),先按一次ctrl+C
試試。
基本配置
修改源
源的修改有兩種方式:
- 通過修改源列表;
- 通過
apt-add-repository
命令。
源列表檔案位於/etc/apt/sources.list
,可以使用vim直接完成修改,建議先儲存原檔案cp /etc/apt/sources.list /etc/apt/sources.list.backup
,然後再使用vim編輯,將找到的源直接加在列表後面。使用cmd開vim比較方便的在於可以直接將系統剪貼簿的內容帖進去。在插入模式下(按i
進入)將游標移到合適的位置,然後滑鼠右鍵點選cmd標題欄,編輯->貼上即可。修改完成以後按Esc
退出插入模式,輸入:x
並回車儲存並退出。完成以後可以apt-get update
和apt-get upgrade
來一次。
升級系統
輸入lsb_release -a
可以看到當前的系統版本為:ubuntu 14.04.4 LTS, 最新版本為16.04.1 LTS, 可以更新一下。
apt-get install update-manager
安裝更新管理器;do-release-upgrade -f DistUpgradeViewNonInteractive -d
完成更新。
如果上述步驟沒有達到更新效果,可以再嘗試以下步驟:
dpkg --configure -a
apt-get update
,更新包列表,這一步可能會詢問是否繼續,YES即可。apt-get upgrade
,升級軟體包;apt-get dist-upgrade
,完成升級;apt-get autoremove
,自動刪除不需要的包。
如果遇到網路問題,參照完成升級 ,解決。完成以後再輸入lsb_release -a
就是金光閃閃的16.04啦~
優雅地使用
使用zsh
ubuntu的預設shell使用bash,但是外觀不太好看而且功能不夠強大。zsh是一個相對好用一點的shell,可以使用zsh替換預設shell。
使用步驟
安裝zsh
1
|
apt-get install zsh
|
安裝wget和git
1
|
apt-get install wget git
|
執行oh-my-zsh配置指令碼
1
|
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
|
替換預設shell
1
|
chsh -s /bin/zsh
|
到這裡zsh的安裝就完成啦,可以關閉命令列然後重新輸入bash
進入Linux,然後輸入su
登入root賬戶檢視效果。這時可以輸入echo $SHELL
檢視當前的shell版本。
注意:輸入bash
進入Linux後其實是一種未登入的狀態,需要輸入su username
切換到指定使用者才能正常使用。
zsh配置
儘管zsh非常強大,但是預設設定還是不夠完美,可以通過修改/root/.zshrc
檔案完成配置的更改,修改完成以後輸入source /root/.zshrc
即可檢視效果。
zsh的主題可以在這裡 找到,修改檔案中的ZSH_THEME="robbyrussell"
即可更改主題。不過由於cmd本身使用單個字型檔案顯示字元,所以一些很漂亮的主題可能不太好用,建議選擇沒有太多特殊符號的主題。由於zsh的配置其實是一件非常有趣的事情,故其包含的內容也非常多,這裡就不多說了。
cmd設定
儘管zsh非常漂亮,但是在cmd中的顯示依然要通過cmd的支援,所以建議對cmd也進行一些修改,右鍵標題欄->預設值可以設定預設屬性,屬性項裡的設定可以設定本次會話的顯示效果。cmd預設使用點陣字型,但是不太好看,推薦使用TrueTypeFont字型。下載好TrueTypeFont字型檔案並安裝後如果在cmd中無對應選項,可以修改登錄檔中關於concole的設定。
找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\
新增項即可。如新增000項,值為要新增的字型名。
更好的選擇
推薦使用cmder代替cmd,外觀極美的一個命令列工具,關鍵字高亮、配色和字型都很棒,可定製性很強。不過在cmder中使用Linux on Windows只有登陸後才能正常使用,登入前(輸入bash
而未切換到具體使用者)甚至沒有關鍵字高亮和命令重複的支援。
此外,cmder還提供了對mintty/poweshell等的支援。很優雅~
使用cmder時可以新建一個空的task,在start-up的框中填入bash.exe即可。這樣可以避免歷史命令檔案的讀取異常,保證正常使用上下鍵回看歷史命令。不過由於cmder對vim的支援不太好,可能會有方向鍵的問題。解決方法如下:在框中填入%windir%\system32\bash.exe ~ -cur_console:p:n
即可。介面如下:
如果遇到vim的visual block模式無法進入的問題,在設定中關閉Ctrl+v的貼上功能就好:settings->keys¯o->paste->paste mode #2->do nothing
。
進階
w2qw 提供了一種通過bash執行圖形介面軟體的方法。主要步驟如下:
- 在Linux中安裝圖形介面的程式(如Firefox)
- 安裝 Xming X Server for Windows
- 在Linux中輸入
DISPLAY=:0 firefox
)。
有興趣可以體驗一下~