工具篇 | WSL使用入门教程以及基于WSL和natApp内网穿透实践 对比VMWare

2023年 9月 28日 171.4k 0

介绍

在开发工具中,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官方
  • 相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论