默認情況下,Win10的linux子系統(WSL)是只能使用命令行程序的。所有圖形界面的程序都無法執行。
通過為Win10安裝XWindows協議的終端應用,可以讓Win10成為一臺XWindow終端,從而接受Linux的XWindow顯示輸出。
這樣的終端應用有挺多,Xming和VcXsrv是其中著名的兩個。下載安裝就可以,我因為一些習慣上的原因使用了后者。
安裝設置都使用默認即可,其中在顯示端口設置的位置,默認是-1,表示自動選擇,大多數情況是可以工作的。也碰到過不能連通的情況,這時候可以嘗試設置成跟你Linux設置相同的端口,比如0。
Linux的環境參數設置可以放在~/.bashrc文件中,只要兩行:
export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=1
使用的時候先啟動XWindow終端程序。啟動WSL,比如我用的Ubuntu(WSL已經啟動的話,剛修改完配置文件也要重新啟動或者重新連接一次以便配置生效),這時候Linux已經可以使用GUI輸出了,但默認情況下的安裝,是沒有任何GUI程序的。可以安裝一些小程序測試一下:
$ sudo apt install x11-apps
...
$ xeyes
并不建議在Linux安裝桌面系統,我覺得既然已經選擇了Windows作為前端,就踏踏實實的用Windows,后端Linux使用命令行才是正路子。安裝XWindow只是為了使用Linux的GUI應用輸出。桌面系統做文件管理、系統設置之類的操作,長久來看一定是得不償失的,特別是在技能習慣上。
Python的繪圖庫,比如常用的matplotlib,在WSL中會默認使用Agg繪圖后端。這是一個啞終端,不做GUI輸出,但是可以保存繪制的圖形到文件。
安裝XWindow之后,希望使用matplotlib繪圖輸出,需要另外安裝TkAgg庫,否則仍然無法繪圖顯示。
安裝之前先在Python的啟動信息中確認一下Python的版本,如果不是3.6或者3.6.x的版本,請對應修改下面安裝的軟件包。
$ sudo apt-get install python3.6-tk
之后并不需要重新安裝matplotlib庫。
使用我們原來課程中的繪圖示例來看看效果:
#繪制正弦曲線
#引入數值計算庫,改為短名稱
import numpy as np
#引入繪圖庫,改為短名稱
import matplotlib.pyplot as plt
#生成一個由-4到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桌面應用和平相處,共創和諧社會。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
