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桌面应用和平相处,共创和谐社会。测试

相关文章
相关标签/搜索