介绍
在开发工具中,Windows Subsystem for Linux (WSL) 和 VMWare 它们都可以实现了在 Windows 上运行 Linux系统。
文章概览
WSL Vs VMWare
我们将简单比对 WSL 和 VMWare,在性能、资源消耗等方面的差异,以协助您做出更加明确的选择。
深入探索 WSL使用细节与实践
本文主要研究 WSL 在现代开发中的应用和优势,并将深入探讨其对开发流程的影响。
💡 提示: 在选定工具时,要考虑好自身具体使用场景,例如资源、性能和开发便利性。工具本身是为人服务,没有优劣之分,只在于用的人。
2 WSL的安装和配置
2.1 准备工作
💡 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。 如果使用的是更早的版本,请参阅手动安装页。
同时,需要启用虚拟化技术,可以在BIOS或UEFI设置中进行调整。在任务管理器中可以看是否开启了虚拟化技术,如图所示:
2.2 安装步骤
1. 开启Windows功能
打开“控制面板” > “程序” > “启用或关闭Windows功能”,勾选如下内容(我勾的可能多了,可以把Hyper-V去掉):
2. 设置WSL默认版本
打开 PowerShell 并以管理员身份运行。键入以下命令来设置WSL默认使用的版本:
wsl --set-default-version 2
3. 安装Linux系统
由于网络问题,我这里选择应用商店进行安装Linux系统。打开 Microsoft Store,并从中选择 Linux 系统进行安装,如 Ubuntu。
2.3 配置Linux系统
完成安装后,运行已经安装的 Linux 系统,首次运行将要求您创建一个用户帐户和密码。
2.4 完成与验证
至此,WSL 应该已经配置好并可以使用了。您可以通过在 PowerShell 中输入 wsl
命令来运行 Linux,也可以直接从开始菜单运行您安装的 Linux 发行版。
💡 提示: 要确保一切运行顺利,请务必按照指引一步步来进行操作,并确保系统满足所有的前提条件。
3 WSL与VMWare快速对比
维度 | WSL | VMware |
---|---|---|
系统资源占用 | WSL的系统资源占用相对较低,因为它是直接在Windows内核上运行,无需模拟整个操作系统。 | VMware需要模拟整个操作系统,因此会占用更多的系统资源。 |
性能 | WSL的性能通常优于VMware,因为它直接在Windows内核上运行,无需通过任何虚拟化层。 | VMware的性能可能会受到虚拟化层的影响,尤其是在进行高强度计算时。 |
兼容性 | WSL与Windows的兼容性非常好,可以直接访问Windows文件系统,并在Windows和Linux之间无缝切换。但是,WSL可能无法完全支持所有Linux应用程序和功能。 | VMware可以运行任何Linux发行版,并完全支持所有Linux应用程序和功能。但是,它不能像WSL那样直接访问Windows文件系统,或在Windows和Linux之间无缝切换。 |
易用性 | WSL易于安装和使用,特别是对于那些主要使用Windows但偶尔需要访问Linux功能的用户来说。 | VMware的安装和配置可能会更复杂一些,但它提供了更多的自定义选项和控制。 |
💡 提示: 选择 WSL 还是 VMWare,主要取决于具体需求和使用场景,需要权衡性能、资源消耗和使用便利性。
通过WSL无缝将代码运行至Linux环境
4.1 接入WSL目录
通过 IntelliJ IDEA 在 \\wsl$
目录下创建项目
我在该目录下创建了一个java-demo
的环境:
4.2 配置运行环境
4.3.1 安装 JDK
为了将项目可以运行在Linux中,我们需要安装JDK环境
sudo apt update
sudo apt install openjdk-11-jdk
4.3.2 验证 JDK 安装
通过运行下面的命令来确认 JDK 是否已成功安装和配置:
java -version
4.4 在Ubuntu中执行jar包
我们找到Main方法的位置,执行如下命令:
可以看到操作系统和版本号成功打印出来了。
5 基于NatApp实现远程访问虚拟机
在我们的日常开发工作中,能够远程访问和操作虚拟机大大提升了工作的灵活性和效率。这一章,我们将使用NatApp这一专业的内网穿透工具,实现远程访问虚拟机的目标。
5.1 内网穿透与NatApp简介
内网穿透是一种网络技术,能够让你在任何地方都可以访问到局域网中的设备,就像直接连接到局域网一样。NatApp则是一款优秀的内网穿透工具,以其稳定性和高效性受到了开发者的喜爱。
NatApp的主要优势在于其简单易用,能快速实现远程访问,而无需复杂的网络配置和设置。下面,我们将指导你如何配置和使用NatApp来实现远程访问虚拟机。
5.2 配置与使用NatApp
5.2.1 下载与安装
首先,需要访问NatApp官方网站下载对应的客户端,并按照提示完成安装过程。
5.2.2 创建穿透任务
- 打开NatApp客户端并登录。
- 购买隧道,使用免费隧道即可。
- 根据下图完成创建。
5.2.3 启动穿透服务
修改安装的客户端目录下的config.ini
文件,authtoken直接从之前的网页那边复制。
5.3 测试与验证
双击natapp.exe就建立成功了。
当然,在远程连接之前需要在ubuntu中安装ssh服务,具体安装教程可以见参考文献的第二点。接下来,我们在另一台机器进行远程连接,我所使用的远程连接工具是mobaXterm:
s
输入上面的网址和端口号,就连接成功了。如同使用云服务一样。
💡 小提示: 在使用NatApp时,请确保网络稳定,并注意保护你的网络安全,避免暴露重要的个人信息和网络资源。
注意事项
- 确保Windows防火墙允许SSH服务的入站连接。
- 在进行内网穿透时,要格外注意网络安全,尤其是暴露了22端口之后。
- 使用强密码,并考虑使用SSH密钥对进行身份验证,以增强安全性。
总结
在本文中,我们详细探讨了**WSL(Windows Subsystem for Linux)**的安装、配置和使用,指导读者如何在Windows系统中轻松设置和运行Linux环境。我们比较了WSL与VMWare在性能、资源消耗和使用便利性方面的差异,揭示了WSL在开发者日常工作中的实用性和优势。最后,我们还深入讲解了如何在WSL中通过IntelliJ IDEA开发Java项目,并在Ubuntu中配置和运行Java环境,实现在Linux下无缝运行Java项目。通过WSL,开发者可以更加高效、便捷地利用Linux的功能和特性,优化开发流程和提升工作效率。
参考文献
- WSL 使用教程 - 知乎
- 【WSL】WSL折腾之旅(3)SSH远程连接 - 知乎
- Windows 11 安装 WSL2 - 知乎
- 适用于 Linux 的 Windows 子系统文档 - microsoft官方