WSL
WSL (WSL 2 )——Windows Subsystem for Linux——是一个兼容层,用于在 Windows 10 及更高版本上本地运行 Linux 二进制可执行文件。 目前,它支持若干 Linux 发行版 ,例如 Ubuntu、OpenSUSE 和 SLES。
配置 WSL
从 Microsoft Store 下载并安装一个 WSL 发行版(例如,Ubuntu)。
此步骤请务必使用至少 Windows 10 或更高版本,并安装最新的“秋季创作者更新”(最低版本 1709,构建 16299.15)。 请参阅官方指南 Install the Windows Subsystem for Linux了解详细说明。
要使用 WSL 2 ,您的 Windows 版本应为 10 版本 18917 或更高版本。 请遵循 这些指示来切换分布式。
运行 Linux 发行版。
首次启动时,系统可能会提示您启用 Windows 可选功能。 在这种情况下,您需要执行以下操作:
以管理员身份打开 Windows PowerShell 并运行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux重新启动您的计算机。
(可选) 如果您的 Linux 发行版未附带
rsync,您需要安装它,例如:apt-get install rsyncyum install rsync
将 WSL 配置为远程解释器
RubyMine 允许您在 Windows Subsystem for Linux(WSL 和 WSL 2)上使用远程 Ruby 解释器来处理本地项目。
打开 设置 对话框 Ctrl+Alt+S ,转到 语言与框架 | Ruby SDK 和 Gems 页面。
单击工具栏上的
,然后在下拉列表中选择 新建远程:

在弹出的对话框中,选择 WSL:

选择所需的 Linux 发行版。
在 Ruby 或版本管理器路径 中,指定 Ruby 解释器或 版本管理器 可执行文件的路径。 点击 确定。
(可选) 如果您在上一个对话框中指定了版本管理器可执行文件的路径,RubyMine 会建议选择用于运行远程应用程序的 Ruby 解释器:

在 Ruby SDK 和 Gems 页面中选择添加的 SDK:

(可选) 如果您希望使用添加的 SDK 调试 远程进程 ,请指定本地和远程项目文件之间的映射。 为此,请单击 编辑路径映射
按钮。 在 编辑项目路径映射 对话框中,指定本地和远程项目根路径:

自定义 WSL 发行版
RubyMine 允许您使用运行在 WSL 上的 自定义 Linux 发行版。 这可以通过编辑 RubyMine 在检测到 WSL 后自动创建的 wsl.distributions.xml 配置文件来完成。
添加自定义发行版
打开 %APPDATA%\JetBrains\<product><version>\config\options\wsl.distributions.xml 文件。
添加
descriptor元素并提供访问自定义发行版的设置。 请注意,id值应是唯一的。 例如:<!-- ... --> <descriptor> <id>DEBIAN_CUSTOM</id> <microsoft-id>Debian</microsoft-id> <executable-path>debian-custom.exe</executable-path> <presentable-name>Debian GNU/Linux - Custom</presentable-name> </descriptor> <!-- ... -->您可以通过两种方式指定
executable-path:指定自定义发行版的可执行文件名称。 在这种情况下,RubyMine 将在 %LOCALAPPDATA%\Microsoft\WindowsApps 中找到自定义发行版。
指定自定义发行版可执行文件的绝对路径。
重启 RubyMine 并将您的自定义发行版 添加为远程解释器。
防火墙配置
您需要执行以下步骤以确保项目构建正常运行。
配置防火墙设置
以管理员身份运行 Windows PowerShell。

执行以下命令以允许使用 WSL 进行连接:
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow使用以下命令检查确切的接口名称,例如
vEthernet (WSL)、vEthernet (WSL2),或者如果您已重命名接口,则为其他名称:Get-NetAdapter然后执行命令以更新防火墙规则:
Get-NetFirewallProfile -Name Public | Get-NetFirewallRule | where DisplayName -ILike "IntelliJ IDEA*" | Disable-NetFirewallRule现在 start the debugger session。 当 Windows 防火墙 弹出窗口出现时,选择 公共网络 复选框。
