截止2019年初,WSL 系統雖然仍舊有些麻煩,可是目前基本可使用了。git
按照微軟的文檔,須要以管理員身份在 PowerShell 中執行以下命令:github
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
而後從新啓動系統,就能夠在 Microsoft Store 中安裝了,建議安裝 Kali Linux,滾動升級,避免了維護上的一些麻煩。docker
WSL 終端窗口的缺省配置慘不忍睹,須要對配色和字體進行必要的修改。shell
配色方面可使用 Windows Console Colortool 來修改,具體能夠參照這個介紹和命令行的幫助,具體的命令須要在 PowerShell 下執行。windows
字體方面,截止2019年初,Windows Console 沒法修改字體的問題仍舊沒有解決,好在能夠利用 YaHei Consolas Hybrid 1.12 For Powerline.ttf 這種 hybrid 字體解決。bash
關於 SSH-Agent 的問題,能夠利用 Win10 自帶的 OpenSSH 和 ssh-agent-wsl 相互配合來解決。ssh
首先須要在將 OpenSSH Authentication Agent 服務的啓動類型設置爲自動。xss
而後下載 ssh-agent-wsl 並解壓縮,將 ssh-agent-wsl 拷貝到 Linux 系統下相似 ~/bin 目錄方便執行,將 pipe-connector.exe 拷貝到 Windows 下的相似 /mnt/c/Windows/System32 目錄,而且在 shell 的登陸配置文件中增長以下內容:tcp
# https://github.com/rupor-github/ssh-agent-wsl eval "\$(ssh-agent-wsl -r -H /mnt/c/Windows/System32/pipe-connector.exe)" > /dev/null
這樣就可使用 SSH-Agent 了。在使用中須要注意的是,win10 的 ssh-agent 把私鑰存儲在註冊表裏,因此不支持 ssh-add -t 選項,而且重啓系統後私鑰仍舊不會清除,建議經過 ssh-add -D 刪除,詳情能夠參考這篇文章。字體
對於 X Server 的問題,能夠經過 Windows 下安裝 VcXsrv 來解決,須要在 Linux 中配置以下環境變量:
export DISPLAY=localhost:0.0
注意其中的 localhost 不可少,以避免沒法經過 SSH 來對遠程的程序進行 X Forwarding。
對於 VcXsrv 的登陸後自動啓動,須要將其配置文件 config.xlaunch 拷貝到以下目錄中:
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
其中 username 爲 Windows 的用戶名。
安裝 Windows 版本的 docker,運行 Linux container,而且選擇 General => Expose daemon on tcp://localhost:2375 without TLS。在 Linux 下設置以下環境變量,就能夠正常使用了。
export DOCKER_HOST=tcp://0.0.0.0:2375
針對偶發的開機後啓動 Linux 報錯的狀況,能夠經過重啓 LxssManager 服務解決。
另外,如須要執行 PS1 腳本,則須要以管理員身份運行 PowerShell,而後執行以下命令:
> Set-ExecutionPolicy RemoteSigned