🐧 WSL 使用心得

1. 介绍 🐧 WSL

Windows Subsystem for 🐧 (WSL) 是微软推出的一项创新功能,允许用户在 🪟 操作系统上无缝运行 🐧 环境。通过 WSL,用户能够在 🪟 中直接执行众多 🐧 命令和工具,无需借助虚拟机或双系统启动。这一功能对于希望在 🪟 环境中利用 🐧 强大能力的开发者和科研人员来说,极大地提升了灵活性和便利性。

2. WSL 在科学计算领域的优势

  • 🚀 速度与兼容性优势:与直接在 🪟 上运行科学计算软件相比,WSL 在计算速度和系统兼容性方面均表现更为优越。🐧 系统在科学计算领域拥有更高的优化水平,因此相关软件在 WSL 中运行时,性能明显优于 🪟 环境中的原生版本。
  • 🛠️ 计算工具的优化:🐧 系统在科学计算和工程计算方面有着丰富的工具链和深厚的优化基础。在 WSL 上运行这些工具,可以更好地发挥其性能优势,显著提升计算效率。
  • 🌍 与开源生态的紧密结合:WSL 使用户能够轻松安装和管理 🐧 生态中的众多开源工具和库,从而更加顺畅地进行科学研究和开发。这种与开源社区的深度结合,使科研工作能够直接利用开源社区的资源,降低了开发门槛。

3. WSL 网络配置调整

为了提升 WSL 环境下的网络响应性能和包下载速度,本文对 WSL 网络配置进行了优化,具体分为两个部分:

3.1 使用镜像源更新源列表

  1. 更新源列表:编辑 WSL 中的源列表文件,将默认源替换为更快的镜像源。例如,可以通过以下命令打开源列表文件:

    sudo nano /etc/apt/sources.list
    

    将默认的源地址替换为国内的高速镜像源,如阿里云或清华大学的源,以加速软件包的下载。

  2. 替换为镜像源:将文件中的所有链接替换为镜像源地址,例如将默认的 archive.ubuntu.com 替换为 mirrors.aliyun.commirrors.tuna.tsinghua.edu.cn,然后保存并退出文件。

  3. 更新软件包列表:执行以下命令以更新软件包列表:

    sudo apt update
    

    通过这一操作,WSL 将从新的镜像源中获取软件包,提高下载速度和稳定性。

3.2 配置 Mirror 模式网络

  1. 确保使用 WSL 2:首先,打开 PowerShell,执行以下命令以确保 WSL 使用的是 WSL 2 版本:

    wsl --set-default-version 2
    
  2. 配置网络设置:编辑 WSL 的配置文件(/etc/wsl.conf),启用 🪞 网络模式以优化网络性能,内容如下:

    [experimental]
    autoMemoryReclaim=gradual  # 自动回收内存,可选择 gradual, dropcache, disabled
    networkingMode=mirrored     # 启用 🪞 网络模式
    dnsTunneling=true           # 开启 🌐 隧道
    firewall=false              # 关闭 🪟 防火墙限制
    autoProxy=true              # 启用自动代理同步
    
  3. 配置主机网络适配器:在 🪟 主机上配置网络适配器,使得 WSL 与主机共享相同的 IP 地址。这可以通过 Hyper-V 管理器或 🪟 设置中的网络共享功能来实现,从而确保 WSL 能够与主机环境无缝连接。

  4. 🔄 重启 WSL:完成配置后,需要重启 WSL 以应用新设置,确保网络环境的同步性和稳定性。

通过上述配置,WSL 的网络将与主机一致,从而提升网络请求的效率和整体响应性能。

4. 🌐 远程使用 WSL 的方法

WSL 不仅可以用于本地开发,还可以通过远程连接来提升工作效率。以下介绍两种远程使用 WSL 的方法:

4.1 使用 🖥️ VSCode 远程连接 WSL

  1. 安装 VSCode 及插件:首先,在 🪟 上安装 Visual Studio Code,然后安装 Remote - WSL 插件,以便 VSCode 能够与 WSL 环境进行集成。
  2. 启动 VSCode 远程连接:安装插件后,打开 VSCode,通过 Remote - WSL 插件远程连接到 WSL 环境,从而实现对 WSL 中代码的编辑、运行和调试。
  3. 配置 🪞 网络模式:确保 WSL 配置了 🪞 网络模式,与主机共享相同的 IP 地址。这样 VSCode 就能够无缝连接到 WSL 环境中,提供极大的开发便利性。

4.2 使用 Jupyter 📓 远程连接 WSL

  1. 安装 Jupyter Notebook:在 WSL 中使用以下命令安装 Jupyter Notebook:

    sudo apt install python3-pip
    pip3 install jupyter
    
  2. 启动 Jupyter 服务:在 WSL 中启动 Jupyter Notebook,并设置允许远程访问:

    jupyter notebook --no-browser --ip=0.0.0.0 --port=8888
    
  3. 配置 🪞 网络模式:确保 WSL 配置了 🪞 网络模式,使其与主机共享相同的 IP 地址,从而使 Jupyter Notebook 服务能够通过主机 IP 进行访问。

  4. 远程访问 Jupyter:在浏览器中输入主机的 IP 地址和端口(例如 http://<主机IP>:8888),即可远程访问 Jupyter Notebook 服务,实现对科学计算和数据分析的高效管理。

通过上述方法,可以显著提升科学计算和数据分析的远程工作体验。