Convert Figma logo to code with AI

microsoft logoWSL

Issues found on WSL

17,232
811
17,232
1,089

Top Related Projects

Multipass orchestrates virtual Ubuntu instances

23,337

Complete container management platform

:warning: This repository is deprecated and will be archived (Docker CE itself is NOT deprecated) see the https://github.com/docker/docker-ce/blob/master/README.md :warning:

68,613

The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

An open and reliable container runtime

109,710

Production-Grade Container Scheduling and Management

Quick Overview

The microsoft/WSL repository is the official GitHub home for Windows Subsystem for Linux (WSL). WSL allows users to run a GNU/Linux environment directly on Windows, without the overhead of a traditional virtual machine or dual-boot setup. It provides a seamless integration between Windows and Linux, enabling developers to use Linux tools and workflows on their Windows machines.

Pros

  • Enables running Linux distributions natively on Windows without virtualization
  • Provides seamless integration between Windows and Linux environments
  • Offers access to a wide range of Linux tools and utilities directly from Windows
  • Improves developer productivity by allowing use of Linux-based workflows on Windows

Cons

  • May have performance limitations compared to native Linux installations
  • Some advanced Linux features or specific hardware support might be limited
  • Potential compatibility issues with certain Linux applications or drivers
  • Learning curve for Windows users unfamiliar with Linux environments

Getting Started

To get started with WSL, follow these steps:

  1. Enable WSL in Windows:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. Enable Virtual Machine feature:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. Restart your computer

  4. Set WSL 2 as the default version:

    wsl --set-default-version 2
    
  5. Install a Linux distribution from the Microsoft Store (e.g., Ubuntu, Debian, Fedora)

  6. Launch the installed Linux distribution and complete the initial setup

For more detailed instructions and troubleshooting, refer to the official Microsoft documentation.

Competitor Comparisons

Multipass orchestrates virtual Ubuntu instances

Pros of Multipass

  • Cross-platform support (Windows, macOS, Linux)
  • Lightweight and fast VM creation
  • Easy command-line interface for managing VMs

Cons of Multipass

  • Limited to Ubuntu-based VMs
  • Less integrated with the host OS compared to WSL
  • Fewer advanced features for developers

Code Comparison

Multipass:

multipass launch --name myvm
multipass shell myvm

WSL:

wsl --install -d Ubuntu
wsl

Summary

Multipass offers a lightweight, cross-platform solution for creating and managing Ubuntu-based VMs. It's easy to use and provides a consistent experience across different operating systems. However, it lacks the deep integration with the host OS that WSL offers on Windows.

WSL, on the other hand, provides a more seamless experience for developers working on Windows, with better filesystem integration and support for various Linux distributions. It's specifically designed for Windows and offers more advanced features for developers, but it's not available on other platforms.

The choice between Multipass and WSL depends on your specific needs, preferred operating system, and development workflow.

23,337

Complete container management platform

Pros of Rancher

  • Provides a comprehensive container management platform for multiple Kubernetes clusters
  • Offers a user-friendly web interface for managing containerized applications
  • Supports multi-cloud and hybrid cloud deployments

Cons of Rancher

  • More complex setup and maintenance compared to WSL
  • Requires additional infrastructure and resources to run
  • Steeper learning curve for users new to container orchestration

Code Comparison

WSL (PowerShell):

wsl --install
wsl --set-default-version 2
wsl --install -d Ubuntu

Rancher (Docker):

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest

Summary

WSL focuses on providing a Linux environment within Windows, while Rancher is a container management platform for Kubernetes. WSL is simpler to set up and use for individual developers, whereas Rancher offers more advanced features for managing containerized applications at scale. The choice between the two depends on the specific use case and requirements of the project or organization.

:warning: This repository is deprecated and will be archived (Docker CE itself is NOT deprecated) see the https://github.com/docker/docker-ce/blob/master/README.md :warning:

Pros of Docker CE

  • Cross-platform compatibility (Linux, macOS, Windows)
  • Extensive ecosystem of pre-built container images
  • More mature and feature-rich containerization solution

Cons of Docker CE

  • Higher resource overhead compared to WSL
  • More complex setup and configuration process
  • Potential security concerns with container isolation

Code Comparison

WSL (Bash script):

#!/bin/bash
echo "Hello from WSL"
ls -l /mnt/c/Users

Docker CE (Dockerfile):

FROM ubuntu:latest
RUN apt-get update && apt-get install -y curl
CMD ["curl", "https://example.com"]

WSL focuses on providing a Linux environment within Windows, allowing direct access to the Windows file system. Docker CE, on the other hand, emphasizes containerization and isolation, making it easier to package and distribute applications across different environments.

While WSL is primarily designed for developers working on Windows machines, Docker CE offers a more comprehensive solution for containerizing applications and managing them across various platforms. WSL provides a lighter-weight option for running Linux tools on Windows, whereas Docker CE offers a more robust ecosystem for building, shipping, and running containerized applications.

68,613

The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

Pros of Moby

  • More mature and widely adopted in the container ecosystem
  • Highly extensible and modular architecture
  • Supports a broader range of operating systems and platforms

Cons of Moby

  • Steeper learning curve for beginners
  • Requires more system resources compared to WSL
  • Can be complex to set up and configure for specific use cases

Code Comparison

WSL (PowerShell):

wsl --install
wsl --set-default-version 2
wsl --install -d Ubuntu

Moby (Docker CLI):

docker run -d --name my_container ubuntu
docker exec -it my_container bash
docker build -t my_image .

Key Differences

  • WSL focuses on running Linux environments on Windows, while Moby is a container platform
  • WSL integrates more seamlessly with Windows, whereas Moby provides cross-platform containerization
  • WSL is primarily for development and testing, while Moby is used for both development and production deployments

Use Cases

WSL:

  • Windows developers working on Linux-based projects
  • Running Linux tools and utilities on Windows
  • Testing cross-platform compatibility

Moby:

  • Building and deploying containerized applications
  • Creating portable and reproducible development environments
  • Orchestrating microservices architectures

An open and reliable container runtime

Pros of containerd

  • Platform-agnostic container runtime, supporting multiple operating systems
  • Lightweight and modular design, allowing for easier integration and customization
  • Active community and widespread adoption in cloud-native ecosystems

Cons of containerd

  • Primarily focused on container runtime, lacking the full Linux subsystem functionality
  • Steeper learning curve for users not familiar with container technologies
  • May require additional tools for a complete development environment

Code comparison

WSL:

wsl --install
wsl --set-default-version 2
wsl --install -d Ubuntu

containerd:

sudo apt-get update
sudo apt-get install containerd
sudo systemctl start containerd

Summary

WSL provides a more comprehensive Linux environment on Windows, while containerd focuses on container runtime functionality across platforms. WSL is easier for Windows users to set up and use, but containerd offers greater flexibility and is more suitable for container-centric workflows. The choice between them depends on specific use cases and development requirements.

109,710

Production-Grade Container Scheduling and Management

Pros of Kubernetes

  • Highly scalable and designed for managing containerized applications across multiple hosts
  • Extensive ecosystem with a wide range of tools and integrations
  • Supports complex orchestration and automated deployment scenarios

Cons of Kubernetes

  • Steeper learning curve and more complex setup compared to WSL
  • Requires more resources and overhead for small-scale development environments
  • May be overkill for simple local development tasks

Code Comparison

WSL (PowerShell):

wsl --install
wsl --set-default-version 2
wsl --install -d Ubuntu

Kubernetes (kubectl):

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=LoadBalancer
kubectl scale deployment nginx --replicas=3

Summary

While WSL focuses on providing a Linux environment within Windows, Kubernetes is designed for container orchestration at scale. WSL is more suitable for local development and testing, whereas Kubernetes excels in managing complex, distributed applications across multiple hosts. The choice between the two depends on the specific needs of the project and the development workflow.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

This repo is for:

  • Reporting of issues found within and when using Windows Subsystem for Linux. Please read CONTRIBUTING.md before making an issue submission

    Do not open Github issues for Windows crashes (BSODs) or security issues. Please direct all Windows crashes and security issues to secure@microsoft.com. Issues with security vulnerabilities may be edited to hide the vulnerability details.

  • Surrounding discussions about the Windows Subsystem for Linux.

Reporting issues in Windows Console or WSL text rendering/user experience

Note that WSL distro's launch in the Windows Console (unless you have taken steps to launch a 3rd party console/terminal). Therefore, please file UI/UX related issues in the Windows Console issue tracker.

Labels:

This is your best way to interact directly with the Windows Subsystem for Linux teams. We will be monitoring and responding to issues as best we can. Please attempt to avoid filing duplicates of open or closed items when possible. Issues may be tagged with with the following labels:

  • bug – The issue considered to be a bug internally by the dev team. This tag is generally for gaps in implemented (read: intended to be working) WSL behavior. Things marked with bug have a corresponding bug in on Microsoft’s internal bug tracking system. Example: "du -h reports wrong file size on DrvFs" (#1894)

  • feature – Denotes something understood as not working and is not yet implemented. Example: "Cuda can not be installed" (#327)

  • fixinbound / fixedinNNNN – The bug or feature request originally submitted has been addressed in whole or in part. Related or ongoing bug or feature gaps should be opened as a new issue submission if one does not already exist.

  • duplicate – The submission is substantially duplicative of an existing issue, and/or has the same underlying cause.

  • need-repro – The issue submission is missing fields from the issue template, cannot be reproduced with the information provided, or is not actionable.

  • discussion / question – Submissions which are not a bug report or feature request. Example: Windows Subsystem for Linux is not open source (#178)

  • bydesign / linux-behavior – Denotes that an issue that is considered working as intended or would behave analogously on a native Linux kernel.

  • console – The submission should be directed to the console issue tracker.

  • documentation – The submission should be directed to the WSL documentation issue tracker.

  • wsl2 - The issue relates specifically to WSL 2.

  • fixed-in-wsl2 - The issue could be resolved by switching the distro to use the WSL 2 architecture.

Additional tags may be used to denote specific types of issues.

  • 9p-linux-file-access - The issue is related to accessing Linux files from Windows.

Closing:

Issues may be closed by the original poster at any time. We will close issues if:

  • The issue is not a bug or feature request
  • The issue has been addressed
  • The issue is a duplicate of another issue
  • Discussions or questions that have ran their course

Microsoft Links:

Community Links:

Troubleshooting:

Common troubleshooting issues and solutions are available on our MSDN documentation.