win10配置linux子系統使用python繪圖並顯示--WSL使用GUI輸出


默認狀況下,Win10的linux子系統(WSL)是隻能使用命令行程序的。全部圖形界面的程序都沒法執行。前端

經過爲Win10安裝XWindows協議的終端應用,可讓Win10成爲一臺XWindow終端,從而接受Linux的XWindow顯示輸出。
這樣的終端應用有挺多,XmingVcXsrv是其中著名的兩個。下載安裝就能夠,我由於一些習慣上的緣由使用了後者。python

安裝設置都使用默認便可,其中在顯示端口設置的位置,默認是-1,表示自動選擇,大多數狀況是能夠工做的。也碰到過不能連通的狀況,這時候能夠嘗試設置成跟你Linux設置相同的端口,好比0。
linux

Linux的環境參數設置能夠放在~/.bashrc文件中,只要兩行:小程序

export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=1

使用的時候先啓動XWindow終端程序。啓動WSL,好比我用的Ubuntu(WSL已經啓動的話,剛修改完配置文件也要從新啓動或者從新鏈接一次以便配置生效),這時候Linux已經可使用GUI輸出了,但默認狀況下的安裝,是沒有任何GUI程序的。能夠安裝一些小程序測試一下:後端

$ sudo apt install x11-apps
    ...
$ xeyes


這表示整個GUI系統已經正常工做了。bash

並不建議在Linux安裝桌面系統,我以爲既然已經選擇了Windows做爲前端,就踏踏實實的用Windows,後端Linux使用命令行纔是正路子。安裝XWindow只是爲了使用Linux的GUI應用輸出。桌面系統作文件管理、系統設置之類的操做,長久來看必定是得不償失的,特別是在技能習慣上。app

Python的繪圖庫,好比經常使用的matplotlib,在WSL中會默認使用Agg繪圖後端。這是一個啞終端,不作GUI輸出,可是能夠保存繪製的圖形到文件。
安裝XWindow以後,但願使用matplotlib繪圖輸出,須要另外安裝TkAgg庫,不然仍然沒法繪圖顯示。
安裝以前先在Python的啓動信息中確認一下Python的版本,若是不是3.6或者3.6.x的版本,請對應修改下面安裝的軟件包。less

$ sudo apt-get install python3.6-tk

以後並不須要從新安裝matplotlib庫。
使用咱們原來課程中的繪圖示例來看看效果:函數

#繪製正弦曲線

#引入數值計算庫,改成短名稱
import numpy as np
#引入繪圖庫,改成短名稱
import matplotlib.pyplot as plt

#生成一個由-4到四、均分爲200個元素的列表
x = np.linspace(-4, 4, 200) 
#計算當x取值範圍-4至4時全部的sin函數解
f = np.sin(x)

#繪製
plt.plot(x, f, 'red') 

#將繪製好的圖顯示出來
plt.show()

結果就是題頭圖了,WSL跟Win10桌面應用和平相處,共創和諧社會。測試

相關文章
相關標籤/搜索