【问题标题】:Windows Subsystem for Linux DISPLAY variable setup适用于 Linux 的 Windows 子系统 DISPLAY 变量设置
【发布时间】:2016-06-22 13:17:49
【问题描述】:

我正在试验适用于 Linux 的 Windows 子系统,并尝试使用 Matplotlib 创建 python 图。但我收到以下错误

RuntimeError: Invalid DISPLAY variable

echo DISPLAY 什么也没显示。如何设置DISPLAY 变量?

【问题讨论】:

标签: windows-subsystem-for-linux


【解决方案1】:

Linux 的 Windows 子系统不正式支持图形 GNU/Linux 桌面应用程序,因此我们无法保证我们选择的图形程序进行的调用将作为 Windows 系统调用实现。

您遇到的主要问题是这些程序缺少图形界面,称为“X-server”。我们可以尝试通过以下方式解决这个问题:

  1. 安装 X-server(如Xming)。
  2. 通过设置环境变量告诉 Linux 的 Windows 子系统将此 X-server 用作 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。)

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 2019-04-21
    • 2017-12-14
    • 2017-11-10
    • 2017-01-07
    • 2019-01-09
    • 2017-02-26
    • 2019-06-27
    • 2017-02-04
    相关资源
    最近更新 更多