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

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