GUI 应用程序

GUI 应用程序

我去年玩过 WSL,但当时它无法运行我想要尝试的神经网络项目。显然这与它的内核过时或类似的东西有关。

从那时起,WSL 就有很多更新。在 WSL 上运行 Ubuntu 上的程序有什么限制?它们本质上是等同的吗?我可以使用一些信息来提前确定这一点吗?

答案1

来自WSL 常见问题解答

我可以在 WSL 中运行所有 Linux 应用程序吗?

不!WSL 是一种旨在使有需要的用户能够在 Windows 上运行 Bash 和核心 Linux 命令行工具的工具。

WSL 不旨在支持 GUI 桌面或应用程序(例如 Gnome、KDE ​​等)

此外,即使您能够运行许多流行的服务器应用程序(例如 Redis),我们也不建议在服务器场景中使用 WSL——Microsoft 提供了多种解决方案,用于在 Azure、Hyper-V 和 Docker 中运行生产 Ubuntu 工作负载。

还有官方测试用于 Linux 测试程序,它提供了一些有关软件的见解,以及它们是否有效或接近有效。


上面的两个链接是官方立场。微软指出的一件事是,WSL 并不打算支持图形界面。不过,用户可以运行微软统一

当有人能让 Unity 在 WSL 上工作时,我怀疑是否存在任何限制。WSL 的很多方面都是未经证实的,因此让某些东西工作可能取决于用户(即,在这种情况下是你 ;) )。

答案2

自从提出这个问题以来,WSL 的事情已经稍微平息了一点,我想传递这个信息。

我可以报告说,基本上可以在 WSL 中执行任何只需要 CPU 的常规 Linux 任务。这意味着您可以轻松运行 GUI 应用程序,甚至整个桌面环境,但这也意味着运行神经网络更像是一种浪费电力的行为。(WSL 也缺少 CUDA 驱动程序,尽管如果 WSL 确实可以获得 GPU 访问权限,Ubuntu 有 CUDA 驱动程序可能会使用)

GUI 应用程序

您可以通过以下方式获取 GUI 应用程序:

您所要做的就是:

  1. 安装 Windows X 服务器。我使用虚拟主机
  2. 使用以下命令将路由信息添加到 bash:
    echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
    
    如果您运行 zsh,只需将导出显示信息添加到您的 .zshrc 文件中。

如果您运行 zsh,只需将导出显示信息添加到您的 .zshrc 文件中。

我解决了想要运行神经网络的问题...只需在我的桌面上安装 Linux,哈哈。这样就简单多了。

更广泛地回答这个问题

WSL 的最大限制是 Linux 和 Windows 文件系统并不真正兼容。Linux 文件使用与 Windows 文件不同的权限方案,当您在 WSL 主文件夹中编辑或保存文件时,~/您会使用元数据保存它,这会使 Windows 在记事本中只显示一个空文件。行尾的差异也存在一些问题(Linux 上的 LF 与 Windows 上的 CRLF),但这不是什么大问题,尤其是因为 Microsoft 已允许 VS Code 和记事本使用任一行尾。

从技术上讲,可以通过 Windows 资源管理器访问 Linux 文件系统,但这是极不建议的,而且如果您愿意的话,您实际上无法用它做任何事情。

相关内容