本文首發(fā)知乎/簡書
介紹
作為一名程序員很多時候需要Linux環(huán)境,但是由于PS等某些工具,也不能拋棄Windows,需要雙系統來回切 換很是麻煩,用虛擬機又擔心性能損耗,但是這么久也是將就著過來了,直到知道了WSL.
這篇文章介紹了安裝WSL中的一些坑,希望將來的人能少走一些彎路(教程足夠詳細萌新都能看懂的那種).
WSL(Windows Subsystem for Linux) 適用于Linux的Windows子系統
(總感覺這個官方翻譯有點怪怪的,是不是直譯成 Windows的Linux子系統更合適,雖然還是怪怪的).
這個項目已經啟動了很長的時間,剛開始有著很多問題,甚至連子系統的存在都沒有意義,所以一直沒有安裝, 但是看更新日志項目似乎已經成熟了就決定試一試,結果看來常用的軟件包如GCC.JDK,GIT,SSH等都沒有問題值得一用济丘,而且拿來入門也不差啊.
開始
在開始之前先確定一下Windows版本是不是Windows10,然后建議更新到最新版.
打開 Microsoft Store , 搜索 Linux 會有三個結果 Ubuntu , openSUSE Leap42 , SUSE Linux Enterprise Srever
因為日用為主所以這里選擇 Ubuntu,用Ubuntu作為示范(WSL里的Ubuntu自帶git,vim,ssh等常用軟件,其他的沒用過不清楚).
傻瓜式安裝完成之后(連下一步都沒有),會彈出通知直接打開就行,如果沒有通知可以去開始里找到剛剛安裝好的 Ubuntu 打開就行了
但是,這個時候會發(fā)現,不能用提示沒有打開WSL,需要啟動后重試
需要到 控制面板\所有控制面板項\程序和功能 中選擇 啟用或者關閉Windows功能
找到 適用于Linux的Windows子系統 并勾選,然后 確定 選擇 立即重新啟動
sudo passwd root
先輸入剛剛設置的用戶密碼,然后兩次輸入要設置的root用戶密碼
su root
然后輸入root用戶的密碼即可,接著更換 apt 的數據源
cd /etc/apt #進入配置文件所在目錄
cp sources.list sources.list.bak #備份配置文件
vim sources.list #編輯配置文件
將下面的配置覆蓋 sources.list 中的配置
在用vim進行這部操作的時候,用 +p 粘貼系統剪切板會出現錯誤(具體大家可以試試,如果有人能成功還請告知一下方法)
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源碼
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main
于是我就想,既然這是安裝在Windows上的子系統,那是不是應該有著類似于共享文件夾的東西,于是找到了這么一個文件夾
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
這個就是 Ubuntu WSL版的根目錄,接著到 *etc\apt* 下找到 sources.list 用之前貼的配置文件覆蓋即可.接著更新數據源
sudo apt-get update #更新源
sudo apt-get upgrade #更新軟件
更新源的過程中有可能會報錯(如上圖)重新執(zhí)行即可(404可以無視),更新軟件需要等待的時間稍微偏長大概5-10分鐘,但是沒關系我們可以再開一個窗口干別的事啊,不然怎么是Linux呢,在開始菜單再次點擊 Ubuntu 就可以再打開一個會話窗口(或者在狀態(tài)欄的圖標上右鍵,然后點擊 Ubuntu 也行).
這個時候可以秀一波 screenfetch (滑稽),好了現在來解決下一個坑,在某些電腦中會話窗口的配色有很嚴重的問題,即藍色很暗看不清,但是有些電腦又沒有問題(不清楚觸發(fā)條件,我給公司電腦裝的時候有問題,家里電腦又沒問題,系統內部版本相同,難道是I卡和A卡的區(qū)別?逃),WSL的會話窗口配色實際上取決于 CMD 屬性里顏色標簽里面的配色,發(fā)現兩臺電腦的配色的色值還真不一樣(如下圖)
這就需要用到一個開源的CMD調色工具ColorTool下載解壓zip文件,然后用 CMD 打開到解壓的路徑 ,然后
colortool.exe -b deuteranopia
colortool.exe -b OneHalfDark
colortool.exe -b OneHalfLight
colortool.exe -b solarized_dark
colortool.exe -b solarized_light
這五套主題自己看著選,如果看重了就打開CMD的屬性和默認值分別點一次確定,然后重新打開Ubuntu就會發(fā)現配色修改好了(當然CMD的配色也被修改了)上面是公司的非正常配色修改之后萤厅,下面是我的筆記本用的原始配色的比對圖
好了接下來就和正常玩shell一樣了永丝,盡情的享受運行WSL吧(另附標準結局)