前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >win10配置linux子系统使用python绘图并显示--WSL使用GUI输出

win10配置linux子系统使用python绘图并显示--WSL使用GUI输出

作者头像
俺踏月色而来
发布2019-07-01 17:56:23
3.6K0
发布2019-07-01 17:56:23
举报
文章被收录于专栏:月色的自留地

默认情况下,Win10的linux子系统(WSL)是只能使用命令行程序的。所有图形界面的程序都无法执行。

通过为Win10安装XWindows协议的终端应用,可以让Win10成为一台XWindow终端,从而接受Linux的XWindow显示输出。 这样的终端应用有挺多,XmingVcXsrv是其中著名的两个。下载安装就可以,我因为一些习惯上的原因使用了后者。

安装设置都使用默认即可,其中在显示端口设置的位置,默认是-1,表示自动选择,大多数情况是可以工作的。也碰到过不能连通的情况,这时候可以尝试设置成跟你Linux设置相同的端口,比如0。

Linux的环境参数设置可以放在~/.bashrc文件中,只要两行:

代码语言:javascript
复制
export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=1

使用的时候先启动XWindow终端程序。启动WSL,比如我用的Ubuntu(WSL已经启动的话,刚修改完配置文件也要重新启动或者重新连接一次以便配置生效),这时候Linux已经可以使用GUI输出了,但默认情况下的安装,是没有任何GUI程序的。可以安装一些小程序测试一下:

代码语言:javascript
复制
$ sudo apt install x11-apps
    ...
$ xeyes

这表示整个GUI系统已经正常工作了。

并不建议在Linux安装桌面系统,我觉得既然已经选择了Windows作为前端,就踏踏实实的用Windows,后端Linux使用命令行才是正路子。安装XWindow只是为了使用Linux的GUI应用输出。桌面系统做文件管理、系统设置之类的操作,长久来看一定是得不偿失的,特别是在技能习惯上。

Python的绘图库,比如常用的matplotlib,在WSL中会默认使用Agg绘图后端。这是一个哑终端,不做GUI输出,但是可以保存绘制的图形到文件。 安装XWindow之后,希望使用matplotlib绘图输出,需要另外安装TkAgg库,否则仍然无法绘图显示。 安装之前先在Python的启动信息中确认一下Python的版本,如果不是3.6或者3.6.x的版本,请对应修改下面安装的软件包。

代码语言:javascript
复制
$ sudo apt-get install python3.6-tk

之后并不需要重新安装matplotlib库。 使用我们原来课程中的绘图示例来看看效果:

代码语言:javascript
复制
#绘制正弦曲线

#引入数值计算库,改为短名称
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桌面应用和平相处,共创和谐社会。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档