Une plongée profonde dans les capacités WSL2



Windows et Linux figurent parmi les systèmes d’exploitation les plus répandus. Si Windows se distingue par son accessibilité, la grande flexibilité de Linux en fait le choix privilégié des développeurs, des professionnels de la productivité et des passionnés d’apprentissage.

Auparavant, l’accès combiné à ces systèmes nécessitait une virtualisation sous Windows ou un démarrage en double.

Toutefois, une nouvelle fonctionnalité Windows simplifie désormais l’accès à Linux directement depuis Windows.

Découvrez WSL2, le sous-système Windows pour Linux, une innovation qui permet d’utiliser Linux au sein même de Windows.

Cet article se consacrera à WSL2, en explorant en détail sa définition, sa raison d’être, le processus d’installation et son utilisation optimale.

Commençons sans plus tarder.

Qu’est-ce que le sous-système Windows pour Linux ?

Le sous-système Windows pour Linux donne la possibilité de manipuler l’environnement GNU/Linux directement depuis le terminal Windows, ce qui rend obsolète le démarrage en double ou l’utilisation d’outils de virtualisation. Il permet l’accès au noyau Linux, ce qui signifie qu’il est possible d’utiliser des fonctionnalités Linux directement à partir de Windows, incluant des outils en ligne de commande, des applications et des utilitaires.

WSL2 représente la dernière version du sous-système Windows, offrant des performances supérieures et une vitesse accrue par rapport à WSL1, introduit avec Windows 10. La majorité des installations Windows intègrent WSL, qui doit être activé pour être utilisé.

WSL2 repose sur la technologie de machine virtuelle Hyper-V de Windows. Cette architecture permet à WSL2 d’être compatible avec Linux, ce qui se traduit par des vitesses d’exécution presque 20 fois plus rapides que WSL1.

En résumé, WSL2 est la plus récente itération du sous-système Windows pour Linux, donnant aux utilisateurs Windows un accès direct au noyau Linux.

Premiers pas avec WSL2

Tout au long de ce guide, nous utiliserons Windows Terminal, une option à la fois pratique et recommandée pour la gestion de terminaux sous Windows. Ce terminal, moderne, rapide et efficace, est idéal pour les utilisateurs qui travaillent avec des outils en ligne de commande et WSL.

Configuration PC requise

L’exécution de WSL2 n’est pas possible sur tous les PC. Il est impératif que votre système prenne en charge la virtualisation, car WSL2 s’appuie sur Hyper-V.

Un processeur 64 bits compatible avec la SLAT (Second Level Address Translation) est également nécessaire, ce qui est le cas de presque tous les processeurs modernes.

En termes d’espace disque, il faut prévoir au minimum 1 Go d’espace libre.

Activation de la virtualisation depuis le BIOS

Si votre matériel répond aux exigences, vous devez activer la virtualisation via le BIOS de votre carte mère.

Accédez au BIOS en appuyant sur des touches spécifiques au démarrage comme F2, Suppr ou F10.

Dans le BIOS, localisez et activez les machines virtuelles sécurisées (SVM) d’AMD ou la technologie de virtualisation Intel VTx. Après avoir effectué ces changements, redémarrez votre ordinateur.

Pour des indications plus précises, je vous invite à consulter mon autre article intitulé « Comment installer Ubuntu sur Windows 10 à l’aide d’Hyper-V ».

Activation des fonctionnalités Windows pour WSL2

Une fois la configuration matérielle validée, il est temps d’activer WSL2 à partir de Windows.

La première étape consiste à vérifier votre version de Windows, ce qui déterminera si votre système prend en charge WSL ou non.

Pour ce faire, appuyez sur les touches CMD + R et saisissez « winver », ce qui affichera votre version de Windows.

Si vous avez Windows 10, vous utilisez probablement WSL1. La plupart des utilisateurs de Windows 11 disposent de WSL2.

Toutes les versions de Windows 10 et 11 prennent en charge WSL2, à l’exception de Windows S, qui est axé sur la sécurité et dont la virtualisation est désactivée.

Si vous utilisez Windows S, vous devrez passer à une autre version, comme Windows Home ou Pro.

Pour ce faire, allez dans Paramètres > Mise à jour et sécurité > Activation pour changer votre système d’exploitation.

Par ailleurs, il est nécessaire de disposer de la dernière mise à jour de Windows pour garantir la compatibilité et une prise en charge complète de WSL2. Les mises à jour s’effectuent via Paramètres > Windows Update.

Pour utiliser WSL2, plusieurs fonctionnalités Windows doivent être activées.

Rendez-vous dans Panneau de configuration > Programmes et fonctionnalités. Ensuite, cliquez sur « Activer ou désactiver des fonctionnalités Windows » ce qui ouvrira une nouvelle fenêtre intitulée « Fonctionnalités Windows ».

Recherchez et cochez « Hyper-V », « Plateforme de machine virtuelle » et « Sous-système Windows pour Linux ».

Un redémarrage sera requis pour appliquer les modifications.

Vous pouvez également effectuer cette activation via les commandes suivantes :

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Installation de WSL2

Maintenant que les prérequis sont remplis, il est temps d’installer WSL.

Ouvrez le terminal Windows (Windows 10) ou Windows PowerShell (Windows 11), puis entrez la commande suivante :

$ wsl

#sortie

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

Ce message indique que WSL est disponible, mais non activé.

Pour lancer l’installation de WSL, tapez la commande suivante en mode administrateur :

$ wsl --install

#sortie

PS C:UsersLogan99> wsl --install

Installing: Virtual Machine Platform
Virtual Machine Platform has been installed.
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
Installing: Ubuntu
Ubuntu has been installed.
The requested operation is successful. Changes will not be effective until the system is rebooted.

Note : Il est possible que vous ne voyiez pas ces lignes, étant donné que vous les avez activées via les fonctionnalités Windows. Vous devriez plutôt obtenir la sortie ci-dessous. (Si c’est le cas, passez à la section suivante).

Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
New password:
Retype new password:

Pour vérifier la version de WSL, utilisez la commande wsl –version.

$ wsl --version

#sortie

WSL version: 1.1.6.0

Kernel version: 5.15.90.1

WSLg version: 1.0.50

MSRDC version: 1.2.3770

Direct3D version: 1.608.2-61064218

DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp

Windows version: 10.0.22621.1413

Comme vous pouvez le voir, la version 1.1.6.0 de WSL est déjà installée. Si une erreur apparaît à ce stade, c’est que WSL n’est pas installé.

Pour passer à WSL2, tapez la commande suivante :

$ wsl --set-default-version 2

Étant donné que notre système a déjà WSL pré-installé, nous obtenons ce message.

Vous avez aussi la possibilité d’installer WSL depuis le Windows Store. Ouvrez le Store et recherchez « Sous-système Windows pour Linux ».

Cliquez sur « Obtenir » et patientez le temps de l’installation.

Une fois l’installation terminée, cliquez sur « Ouvrir », ce qui lancera un terminal Windows affichant le message « Le sous-système Windows pour Linux n’a pas de distributions installées ».

Installation d’une distribution sur WSL

L’installation de WSL étant achevée, il est temps de mettre en place les distributions Linux.

Par défaut, WSL installe la version Ubuntu LTS. Pour ce faire, vous devez taper la commande suivante :

$ wsl --install

L’installation d’Ubuntu sera lancée. Vous serez invité à choisir un nom d’utilisateur et un mot de passe UNIX au cours de ce processus.

Une invite Ubuntu Linux apparaîtra lorsque l’installation sera finalisée. Vous pourrez alors utiliser toutes les commandes Linux. Vérifions la version d’Ubuntu.

$ lsb_release -a

#sortie

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

Voilà ! Vous avez désormais accès au noyau Linux.

Pour quitter la distribution, vous devez entrer la commande suivante :

$ exit

#sortie

[email protected]:/mnt/c/Users/Logan99$ exit

logout

Installer davantage de distributions

De la même manière, vous pouvez installer d’autres distributions comme Fedora, Debian et OracleLinux_8_5. Pour voir la liste des distributions disponibles, tapez la commande ci-dessous.

$ wsl --list --online

Pour installer Debian, nous devons taper la commande suivante :

$ wsl --install -d Debian

Or

$ wsl.exe --install Debian

Comme pour Ubuntu, il vous sera demandé de saisir un nom d’utilisateur et un mot de passe.

#sortie

Vérifions maintenant la version de Debian.

$ cat /etc/issue

#sortie

$ Debian GNU/Linux 11 n l

Qu’en est-il de Fedora ? Elle n’apparaît pas dans la liste obtenue avec la commande wsl –list –online.

Vous avez également la possibilité d’installer des distributions via le Windows Store.

Ouvrez le Windows Store et saisissez « distributions Linux », la liste de toutes les distributions disponibles s’affichera. Seules les distributions officielles prises en charge seront visibles.

Pour un support de distributions non officielles, vous devez effectuer une recherche manuelle. Ces distributions peuvent toutefois être instables et ne pas garantir une sécurité à 100 %. Il est donc préférable de les utiliser à des fins expérimentales.

Cliquez sur « Installer » pour l’ajouter à votre système.

Définition de la distribution par défaut

Pour obtenir la liste des distributions disponibles, utilisez la commande suivante :

$ wsl --list

La mention « Default » à côté d’Ubuntu signifie que cette distribution Linux sera lancée par défaut si vous tapez « wsl » dans l’invite de commande.

Pour modifier la distribution par défaut, saisissez la commande suivante :

$ wsl --setdefault <NomDistro>

Ainsi, pour définir Debian comme distribution par défaut, tapez la commande ci-dessous :

$ wsl --setdefault Debian

Désormais, si vous entrez « wsl » dans le terminal, Debian sera lancé.

Changer la version WSL de la distribution

Par défaut, les distributions utilisent WSL2. Pour afficher la liste de vos distributions installées et leur version WSL, utilisez la commande suivante :

$ wsl --list --verbose

#sortie

NAME      STATE           VERSION

* Ubuntu    Stopped         2

  Debian    Stopped         2

L’astérisque (*) indique l’installation Linux par défaut.

Pour modifier la version WSL de 2 à 1, saisissez :

$ wsl --set-version Ubuntu 1

Et pour repasser de 1 à 2, saisissez :

$ wsl --set-vesion Ubuntu 2

Remarque : La conversion peut prendre du temps, ne fermez pas la fenêtre pendant le processus.

Lancer des distributions spécifiques avec des noms d’utilisateur différents

Comment lancer une distribution particulière ? Pour ce faire, utilisez la commande suivante :

$ wsl -d <NomDistro>

Or

$ wsl --distribution <NomDistro>

Pour lancer Ubuntu, tapez :

$ wsl -d Ubuntu

Si vous souhaitez la lancer avec un nom d’utilisateur spécifique, ajoutez –user suivi du nom d’utilisateur :

$ wsl -d <NomDistro> --user <NomUtilisateur>

Par exemple, pour lancer Debian avec l’utilisateur « root » :

$ wsl -d Debian --user root

Note : Si vous tentez de lancer la distribution avec un utilisateur inexistant, une erreur de type « Utilisateur introuvable » s’affichera.

Mise à jour de Linux

Pour mettre à jour votre distribution Linux, saisissez la commande suivante :

$ sudo apt update

$ sudo apt upgrade

De plus, vous pouvez vérifier les mises à jour du noyau Linux pour WSL :

$ wsl --update

Configuration de Visual Studio Code avec WSL2

Vous pouvez configurer VS Code pour qu’il fonctionne avec WSL, ce qui vous permettra d’accéder au terminal WSL directement depuis VS Code. Cette approche facilite le développement d’applications basées sur Linux, en utilisant des outils et des chaînes d’outils spécifiques à cet OS.

De plus, vous pouvez continuer à profiter des outils de productivité Windows tout en bénéficiant des fonctionnalités de VS Code.

Pour cela, vous devez installer le pack d’extension de développement à distance. Vous pouvez le rechercher directement dans VS Code via l’onglet des extensions.

Pour une utilisation locale, configurez-le via le menu VS Code : Affichage > Terminal.

Cela ouvrira le terminal. Vous trouverez le symbole > à côté du symbole « + ». Cliquez dessus pour voir la liste des terminaux WSL.

Vous pouvez aussi sélectionner le « Profil par défaut » ici.

VS Code peut accéder directement à \\wsl$ ainsi qu’à tous les débogueurs exécutés en localhost, ce qui rend cette intégration possible.

Utilisation d’applications graphiques avec WSL2

Pour exécuter des applications graphiques, vous devez installer les pilotes appropriés pour WSL2. Intel, AMD et Nvidia proposent des pilotes spécifiques pour WSL, qui permettent un fonctionnement fluide des applications graphiques basées sur Linux.

Cette approche peut toutefois entraîner des problèmes. Certaines applications graphiques peuvent présenter des fonctionnalités non opérationnelles, et d’autres peuvent ne pas fonctionner du tout, ce qui peut vous amener à chercher des alternatives.

En résumé, cette méthode repose en grande partie sur des essais et des erreurs, ce qui peut prendre beaucoup de temps.

Vous pouvez consulter leur guide WSL2 sur l’utilisation d’applications graphiques à l’aide d’Ubuntu.

Docker Desktop WSL2 sous Windows

Si vous ne souhaitez pas utiliser Hyper-V pour une configuration locale, Docker Desktop peut être une alternative. Il prend officiellement en charge WSL2 et permet d’utiliser les outils Docker directement sur Windows. Pour plus d’informations, consultez ce guide.

Pourquoi Microsoft prend-il Linux au sérieux ?

Microsoft est une entreprise propriétaire qui crée des solutions telles que Windows dans un environnement fermé, et qui préfèrerait que ses utilisateurs restent sur Windows plutôt que de passer à Linux.

Cependant, en 2016, Microsoft a annoncé son engagement envers l’open source, un revirement par rapport à l’opinion de Steve Ballmer qui qualifiait Linux de « cancer » au début des années 2000.

En 2023, la situation a bien évolué. Microsoft intègre Linux directement dans son écosystème. Ils ont annoncé WSL2 en mai 2019, et l’ont introduit dans le Windows Store en octobre 2021. La version 1.0 de WSL2 a été publiée en novembre 2022.

Microsoft a également rendu ses logiciels tels que Edge et Teams accessibles aux utilisateurs Linux. L’entreprise contribue activement au noyau Linux et est membre de la Linux Foundation.

Ces éléments indiquent que Microsoft prend Linux au sérieux, même si certains sceptiques doutent de la sincérité de l’approche de Microsoft vis-à-vis de Linux.

En bref, l’intérêt de Microsoft pour Linux est indéniable. Leur sous-système Windows témoigne de leur attention pour Linux et l’open source. Plus important encore, cela montre qu’ils souhaitent offrir à leurs utilisateurs un accès simple et transparent au noyau Linux, sans nécessiter de virtualisation ni de démarrage en double.

Derniers mots

À l’ère du « Quel est le meilleur système d’exploitation pour les développeurs ? », les développeurs peuvent choisir une voie qui leur donne accès aux deux. WSL2 permet l’accès au noyau Linux via différentes distributions, le tout avec rapidité et compatibilité avec Docker.

WSL2 est en développement actif, avec des améliorations constantes sur la compatibilité et une autonomie accrue pour les développeurs. L’avenir s’annonce donc prometteur avec WSL2, et Microsoft fait tout son possible pour rendre le noyau Linux accessible à ses utilisateurs Windows.

Consultez également les distributions Linux à connaître pour tout administrateur système et développeur.