【问题标题】:How do I access Linux binaries from Windows when using WSL?使用 WSL 时如何从 Windows 访问 Linux 二进制文件?
【发布时间】:2017-01-05 22:11:42
【问题描述】:

我正在尝试使用适用于 Linux 的新 Windows 子系统作为在 Windows 中开发 Rails 应用程序的一种方式。我已经安装了 WSL,并且里面有 Ruby,但是我如何在 Windows GUI 应用程序中使用该 Ruby,特别是 RubyMine:

这样我就可以轻松启动 Rails、运行测试等。

【问题讨论】:

  • 你试过gist.github.com/kpheasey/502f73c1d9cf2456c1f4291a6ec06a3e 吗?我想知道这是否比仅使用 virtualbox 更好...
  • @BradWerth 是的,我无法让 ssh 服务器工作。当我尝试连接到它时,我会立即关闭连接。
  • 您需要使用bash.exe -c the_linux_command_you_need。如果您不能传递参数,那么您可能需要创建一个 shim,作为一个小型 C++ 程序,或者 - 如果您的程序允许使用它 - 作为 BAT/CMD 脚本

标签: ruby-on-rails ruby rubymine windows-subsystem-for-linux


【解决方案1】:

如果有人想知道此时如何使用最新版本的 Ruby 完成此操作,有一个用于 ruby​​ 远程存储库的 WSL 连接器。

【讨论】:

  • 看来是正确的方式。知道如何在带有 PHP WSL 环境的 VScode 上做到这一点吗?
【解决方案2】:

[2020-10-30 更新] 自从我在 2017 年的初次回复以来,更新了下面的回复已经发生了很多变化和改进?

JetBrains 的优秀团队拥有enabled RubyMine to talk to WSL via SSH 并使用“远程”Ruby 解释器,甚至可以调试在 WSL 中运行的 Ruby 代码! :)

此外,在 Windows 10 1903 中,WSL 提供了通过 \\wsl$\ 伪 UNC 路径从 Windows 访问 Linux 发行版文件系统的能力。

在 Windows 10 2004 中,WSL 向文件资源管理器添加了一个 Linux 图标,从而更容易发现这个伪 UNC 路径。

因此,在 Windows 10 >= 1903 中,Windows 应用、编辑器、IDE 等也可以访问存储在例如 \\wsl$\Ubuntu\...! 中的文件!

? 备注:

  1. 在 Linux 中通过\\wsl$\... 访问文件将比在本地访问文件慢,因为文件 IO 请求必须通过 9P 文件服务器来回编组。如果您打算密集访问文件,我们建议将文件存储在最接近您将用于密集访问这些文件的任何文件系统中。
  2. 因此...虽然您可以直接通过伪路径访问文件,但如果可用,应该首选使用 RubyMine、VSCode、Visual Studio 等工具内置的 WSL 集成。

【讨论】:

  • 会有更多的连接器吗?我安装了 apt tesseract 并在 Windows 上安装了 python。我可以从我的 VSCode Wsl 远程会话运行 python,但它正在运行(简而言之可能)python 窗口,因为我用 python.exe 启动它。黑客将运行一个连接到 tesseract 的 bash 脚本,但我更喜欢 Python ..
  • 上面提到的连接是 IDE 的一个特性,而不是 WSL。 IDE 供应商负责构建他们的工具,以允许 UI 在 Windows 中运行,并与他们“远程”运行的引擎实例进行通信。在 WSL 中。 VScode 是在这方面做得很好的 IDE 的一个很好的例子。
  • 感谢 Rich,解释得很好。
猜你喜欢
  • 2017-05-21
  • 1970-01-01
  • 2017-09-02
  • 2019-02-13
  • 1970-01-01
  • 2021-03-24
  • 2021-11-22
  • 1970-01-01
相关资源
最近更新 更多