Win+Linux單系統解決方案——WSL(入門篇)

本文首發知乎/簡書

介紹

作為一名程序員很多時候需要Linux環境,但是由于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 打開就行了

但是,這個時候會發現,不能用提示沒有打開WSL,需要啟動后重試


需要到 控制面板\所有控制面板項\程序和功能 中選擇 啟用或者關閉Windows功能


找到 適用于Linux的Windows子系統 并勾選,然后 確定 選擇 立即重新啟動

重啟之后再次打開 Ubuntu 就可以使用了,根據提示輸入用戶名,兩次輸入密碼就可以看見熟悉的命令行
然后熟悉的套路,先設置root用戶

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  #更新軟件 

更新源的過程中有可能會報錯(如上圖)重新執行即可(404可以無視),更新軟件需要等待的時間稍微偏長大概5-10分鐘,但是沒關系我們可以再開一個窗口干別的事啊,不然怎么是Linux呢,在開始菜單再次點擊 Ubuntu 就可以再打開一個會話窗口(或者在狀態欄的圖標上右鍵,然后點擊 Ubuntu 也行).
這個時候可以秀一波 screenfetch (滑稽),好了現在來解決下一個坑,在某些電腦中會話窗口的配色有很嚴重的問題,即藍色很暗看不清,但是有些電腦又沒有問題(不清楚觸發條件,我給公司電腦裝的時候有問題,家里電腦又沒問題,系統內部版本相同,難道是I卡和A卡的區別?逃),WSL的會話窗口配色實際上取決于 CMD 屬性里顏色標簽里面的配色,發現兩臺電腦的配色的色值還真不一樣(如下圖)

這就需要用到一個開源的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就會發現配色修改好了(當然CMD的配色也被修改了)

上面是公司的非正常配色修改之后,下面是我的筆記本用的原始配色的比對圖

好了接下來就和正常玩shell一樣了,盡情的享受運行WSL吧(另附標準結局)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,521評論 9 467
  • 轉載自:http://blog.csdn.net/hguisu/article/details/6122513原作...
    miaoiao閱讀 1,542評論 0 7
  • Linux系統一般有4個主要部分:內核、shell、文件系統和應用程序。 內核、shell和文件系統一起形成了基本...
    請愛護小動物閱讀 2,752評論 0 22
  • 花難道不知道之后是枯萎嗎? 不還是一樣恣情地綻放。
    郭綠獅閱讀 728評論 0 2
  • 太子雪山高塔現,高聳直抵凌云峰。 途觀青山綠柏松,潺潺流水動游人。 百年石橋水中橫,湖底無魚云相映。 山野清風醒疲...
    春夏AI閱讀 525評論 0 2