Guide to Getting Started with WSL2 on Windows

Introduction

Imagine having the power of Linux within your Windows machine without dual-booting or using a virtual machine. That’s precisely what Windows Subsystem for Linux version 2 (WSL2) offers. WSL2 allows users to run a full-fledged Linux distribution alongside Windows 10 or 11, providing a seamless environment for development activities. This powerful tool bridges the gap between the two operating systems, making it easier for developers, especially those in web development or system administration, to experiment and deploy applications efficiently.

In this blog post, we’ll explore how to set up and optimize WSL2 for your development workflows. We’ll cover essential features, steps to install the necessary tools, and some configurations to enhance your WSL2 experience. By the end, you will have a fully integrated Linux shell ready to tackle development tasks right from your Windows desktop.

Table of Contents

Setting Up WSL2 on Windows

Ensure Prerequisites are Met

Before you can install WSL2, you need to ensure your system meets the necessary prerequisites. Here’s what you need:

  • Windows 10, Version 2004 or later, or Windows 11
  • Enable “Windows Subsystem for Linux” feature
  • Enable the “Virtual Machine Platform” feature

To enable these features:

  1. Open PowerShell as Administrator.
  2. Execute the command to enable WSL:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  3. Execute the command to enable the Virtual Machine Platform:
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

These steps prepare your system for WSL2 installation by enabling necessary Windows features.

Install WSL2

Once the prerequisites are in place, you can proceed to install WSL2 itself. Here are the steps:

  1. Download the WSL2 Kernel Update Package from the official Microsoft website.

  2. Run the downloaded installer to update the WSL kernel to use WSL2.

  3. Open PowerShell as Administrator and set WSL2 as the default version using the command:wsl –set-default-version 2

This ensures all future Linux distributions you install on WSL default to version 2.

Install a Linux Distribution

The next step is to install a Linux distribution from the Microsoft Store. Here’s how:

  1. Visit the Microsoft Store via the Start menu.
  2. Search and select your preferred Linux distribution (e.g., Ubuntu, Debian).
  3. Click on “Install” to download and install the distribution.

After the installation completes, launch the distribution from the Start menu to complete the setup. During the first run, configure the username and password for your Linux instance.

Configuring WSL2

Update Your Linux System

After setting up WSL2, it’s crucial to update your Linux system to get the latest packages and security patches:

  • Open the installed Linux distribution and type the following commands:
    sudo apt update
    sudo apt upgrade

This updates the package lists and upgrades all installed packages to their latest version.

Integrate WSL2 with Windows

WSL2 allows seamless integration with Windows, including access to files and applications:

  • Access Windows files through /mnt/c/ in the Linux terminal.
  • Launch Windows applications from the Linux terminal by typing the executable name (e.g., notepad.exe).

Boost Performance with Configuration

To enhance WSL2 performance, especially if you plan to use it for development:

  • Create a .wslconfig file in your Windows home directory with customized settings, such as:
    [wsl2]
    memory=4GB # Limits the WSL2 memory usage to 4GB
    processors=2 # Sets the number of CPUs to 2

This configuration file helps maintain system resources while running WSL2.

Leveraging WSL2 for Development

Installing Development Tools

With WSL2 installed, you can dive right into development. Here are a few essential tools you might consider installing:

  1. Git for version control:sudo apt install git

  2. Node.js and npm for JavaScript development:sudo apt install nodejs npm

  3. Python for scripting and application development:sudo apt install python3

Developing with WSL2

Developers can enjoy coding in a native Linux environment without leaving Windows. For example:

  • Use a tool like Visual Studio Code, which seamlessly integrates with WSL2. Open your Linux files directly in VSCode by executing:code .from your WSL terminal.

  • Leverage local and Linux-hosted resources, like databases or web servers, directly from WSL2.

Example: Setting Up a Simple Node.js Server

Let’s create a simple Node.js server to show how WSL2 facilitates web development:

  1. Initialize a new Node.js project:mkdir myproject && cd myproject
    npm init -y

  2. Create a simple server by editing app.js:

<p><code class="language-javascript">const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

// Create server
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World! This is running on WSL2\n');
});

// Listen on port
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});</code></p>Code language: HTML, XML (xml)
  1. Run the server:node app.js

  2. Visit the URL http://127.0.0.1:3000 in your web browser to see the server’s output.

Conclusion

Setting up WSL2 transforms your Windows machine into a versatile development playground, enabling you to enjoy the benefits of Linux without leaving the Windows environment. Following the comprehensive steps outlined, you can effectively install and configure WSL2, enhancing your development efficiency.

If you find this guide useful, consider sharing it with your developer community. Alternatively, explore more on topics such as Install WSL2 on Windows or Unlocking the Potential of Linux.

Share your experience or any tips you have for using WSL2 effectively in the comments below. Let’s continue the conversation on how WSL2 boosts productivity in diverse development workflows.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share via
Copy link
Powered by Social Snap