Windows Subsystem for Linux DISPLAY变量设置
问题内容:
我正在试验Windows Linux子系统,并尝试使用Matplotlib创建python图。但是我收到以下错误
RuntimeError: Invalid DISPLAY variable
echo DISPLAY
什么也没显示。如何设置DISPLAY
变量?
问题答案:
Windows Linux子系统正式不支持图形GNU / Linux桌面应用程序,因此我们不能 保证
所选图形程序所进行的调用将作为Windows系统调用来实现。
您遇到的主要问题是缺少这些程序的图形界面,称为“ X服务器”。我们可以尝试通过以下方法解决此问题:
- 安装X服务器(例如Xming)。
- 通过设置环境变量,告诉Linux的Windows子系统将此X服务器用作DISPLAY。
对于(1),要安装Xming,只需下载并接受默认设置,它将自动启动并等待图形程序显示。
要解决(2),请在运行图形程序之前运行:
export DISPLAY=:0
这样bash知道将正在运行的程序的图形输出发送到哪里。
然后,您可以尝试运行简单的图形程序(例如gvim或python的turtle模块)。
同样,不能保证这对所有GNU /
Linux应用程序都适用,因为Microsoft并未将每个Linux系统调用都转换为Windows系统调用,并且如果您正在运行的图形程序发出了这种不受支持的调用,则您的程序可能只是崩溃。
这些说明大部分来自以下指南,该指南显示了如何使gvim在Linux的Windows子系统上工作:
http://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-
applications-from-windows-10s-bash-
shell/
编辑:由于您还询问了有关检查内容的信息DISPLAY
,因此我补充道,您可以DISPLAY
通过运行以下命令检查变量的值:
echo $DISPLAY
(这$
确保bash将后面的内容解释为变量,而不是字符串文字。运行echo DISPLAY
只会回显字符串DISPLAY。)