Windows et Linux sont les systèmes d’ex­ploi­ta­tion les plus utilisés dans le monde. Cela étant, ces deux systèmes sont ra­di­ca­le­ment dif­fé­rents : Windows est un produit com­mer­cial de Microsoft, une des plus grandes en­tre­prises de logiciels au monde. À l’inverse, Linux est un « Free and Open Source Software » (FOSS), l’œuvre commune de milliers de bénévoles.

Windows est es­sen­tiel­le­ment utilisé dans des en­vi­ron­ne­ments privés ou pro­fes­sion­nels. Linux tourne sur les serveurs et or­di­na­teurs de pro­fes­sion­nels et de par­ti­cu­liers pas­sion­nés. Linux est notamment fré­quem­ment utilisé par les dé­ve­lop­peurs. Par ailleurs, ce système d’ex­ploi­ta­tion libre est aussi à la base du système d’ex­ploi­ta­tion mobile Android.

Avec Windows Subsystem for Linux (WSL), ou sous-système Windows pour Linux, les uti­li­sa­teurs de Windows accèdent avec une méthode re­la­ti­ve­ment simple aux milliers de packs de logiciels et outils open source dis­po­nibles gra­tui­te­ment. Au­pa­ra­vant, on devait installer une machine virtuelle pour y parvenir ou re­dé­mar­rer l’or­di­na­teur dans un en­vi­ron­ne­ment Linux en dual boot dédié. WSL ne demande que quelques clics.

Qu’est-ce que le sous-système Windows pour Linux (Windows Subsystem for Linux / WSL) ?

Windows Subsystem for Linux est une couche de com­pa­ti­bi­lité qui permet d’exécuter des pro­grammes natifs de Linux di­rec­te­ment à partir de l’interface en lignes de commande de Windows. Plus spé­ci­fi­que­ment, WSL permet d’exécuter des fichiers binaires de Linux 64 bits res­pec­tant le standard « Exe­cu­table and Linkable Format » (ELF).

Le sous-système Windows pour Linux est dis­po­nible à partir de Windows 10. Pourtant, l’objectif de Microsoft, à savoir faciliter le travail des uti­li­sa­teurs Windows avec les outils Linux depuis leur en­vi­ron­ne­ment habituel, va encore plus loin. Ainsi, WSL est issu du projet « Microsoft Services for UNIX » (SFU / Interix), qui était lui-même une évolution de « POSIX Subsystem », déjà intégré à Windows NT. Avec Windows Subsystem for Linux 2 (WSL2), ce dé­ve­lop­pe­ment poursuit son évolution.

Avant la sortie de WSL, les uti­li­sa­teurs devaient effectuer un travail un peu plus con­sé­quent pour réunir le meilleur des univers Windows et Linux. En principe, deux méthodes s’offraient à eux pour rendre les logiciels Linux exé­cu­tables sous Windows :

  1. Uti­li­sa­tion d’une machine virtuelle : dans ce cas, on procédait à l’ins­tal­la­tion complète de Linux en tant qu’or­di­na­teur virtuel sous Windows. L’approche est très ac­ces­sible pour l’uti­li­sa­teur et permet l’uti­li­sa­tion complète des ap­pli­ca­tions Linux sou­hai­tées, mais pré­sup­pose d’avoir de bonnes res­sources ma­té­rielles. De plus, l’échange entre les pro­grammes en cours d’exécution des deux systèmes d’ex­ploi­ta­tion est limité.
  2. Utiliser l’en­vi­ron­ne­ment d’exécution Linux Cygwin : celui-ci doit être installé sous Windows et permet d’exécuter un grand nombre des logiciels Linux les plus appréciés. Avec Cygwin, l’échange entre les pro­grammes en cours d’exécution de Windows et de Linux est limité.

Par ailleurs, les uti­li­sa­teurs pouvaient installer Linux en parallèle d’une ins­tal­la­tion Windows existante. Cette ins­tal­la­tion baptisée dual boot exige cependant de re­dé­mar­rer l’or­di­na­teur pour passer d’un système d’ex­ploi­ta­tion à l’autre. Il est donc im­pos­sible d’échanger des in­for­ma­tions entre les pro­grammes en cours d’exécution de Windows et de Linux.

Windows Subsystem for Linux fonc­tionne sans machine virtuelle, ce qui le rend per­for­mant. Cependant, il n’embarque pas de noyau Linux complet et ne prend donc pas toutes les ap­pli­ca­tions en charge. Plus spé­ci­fi­que­ment, WSL seul ne permet pas l’exécution de pro­grammes Linux avec une interface uti­li­sa­teur graphique (GUI). Pour ce type d’uti­li­sa­tion, là encore, il existe des ap­pli­ca­tions, qui né­ces­si­tent toutefois quelques étapes sup­plé­men­taires d’ins­tal­la­tion et de con­fi­gu­ra­tion.

Quels sont les prérequis pour utiliser WSL ?

En soi, vous n’avez pas besoin d’un système par­ti­cu­lier pour utiliser Windows Subsystem for Linux. Votre or­di­na­teur doit seulement être équipé d’un pro­ces­seur x64 ou ARM, ce qui est le cas de pra­ti­que­ment tous les systèmes modernes. Vous devrez aussi disposer de la version 64 bit de Windows 1709 ou suivantes. Si vous avez un doute sur l’édition et la version Windows que vous utilisez, vous pouvez le vérifier grâce aux méthodes suivantes :

  • Appuyez sur les touches du clavier [Windows] + [R], tapez « winver » dans le champ de texte qui se présente et appuyez sur [Entrée], ou bien
  • Cliquez sur Démarrer > Pa­ra­mètres > Système > In­for­ma­tions système : sur cette page, vous trouverez l’in­for­ma­tion souhaitée dans la rubrique « Spé­ci­fi­ca­tions Windows ».

Comment activer/installer Windows Subsystem for Linux ?

La procédure pour activer le sous-système Windows pour Linux s’effectue en seulement quelques étapes. Voici la marche à suivre pour les par­ti­cu­liers :

  1. Dans la zone de recherche de la barre des tâches, tapez « panneau de con­fi­gu­ra­tion ». Ouvrez le panneau de con­fi­gu­ra­tion puis cliquez sur Pro­grammes > Pro­grammes et fonc­tion­na­li­tés > Activer ou dé­sac­ti­ver des fonc­tion­na­li­tés Windows.
  2. Cochez la case pour « Sous-système Windows pour Linux ».
  3. Re­dé­mar­rez votre or­di­na­teur.
  4. Ouvrez Microsoft Store et lancez une recherche pour « Linux ». Les résultats vous proposent une sélection de dis­tri­bu­tions Linux dis­po­nibles.
  5. Cliquez sur la dis­tri­bu­tion Linux que vous souhaitez puis sur « Installer ». Si vous avez un doute et que vous ne savez pas quelle dis­tri­bu­tion est la bonne pour vous, nous vous re­com­man­dons d’installer « Ubuntu Linux ».
  6. Une fois l’ins­tal­la­tion terminée, cliquez sur « Démarrer ».
  7. Dans la fenêtre qui s’ouvre, au premier démarrage, le logiciel té­lé­charge et dé­com­presse des paquets. Cette étape peut prendre quelques minutes. Enfin, le logiciel vous invitera à définir un nom d’uti­li­sa­teur et le mot de passe associé pour votre nouvelle ins­tal­la­tion Linux.
Note

WSL vous permet d’exécuter plusieurs dis­tri­bu­tions Linux en parallèle. Dans ce cas, dé­fi­nis­sez un compte uti­li­sa­teur différent pour chaque dis­tri­bu­tion.

Autre solution al­ter­na­tive aux deux premières étapes, vous pouvez utiliser la ligne de commande Po­wer­Shell pour activer Windows Subsystem for Linux. Dans ce cas, veuillez noter que l’interface en lignes de commande doit être exécutée en tant qu’ad­mi­nis­tra­teur. Une fois l’ac­ti­va­tion réussie, re­dé­mar­rez votre or­di­na­teur et suivez nos ins­truc­tions à partir du point 4.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Quelles sont les premières étapes à respecter avec Windows Subsystem for Linux ?

Les premières étapes à respecter après l’ac­ti­va­tion du sous-système Windows pour Linux et l’ins­tal­la­tion d’une dis­tri­bu­tion Linux dépendent fortement de l’uti­li­sa­tion que vous souhaitez faire de WSL. Un dé­ve­lop­peur web aura gé­né­ra­le­ment besoin d’un profil différent de celui d’un dé­ve­lop­peur d’ap­pli­ca­tions. Voici un ré­ca­pi­tu­la­tif de quelques-unes des premières étapes les plus courantes.

Afficher et con­fi­gu­rer la dis­tri­bu­tion Linux installée

L’outil Windows wsl.exe permet, à l’aide de lignes de commande, de con­fi­gu­rer la dis­tri­bu­tion Linux installée. Ouvrez une interface de lignes de commandes et tapez la commande suivante pour afficher les options de la commande wsl dis­po­nibles :

wsl --help
Conseil

Servez-vous de l’in­for­ma­tion de référence sur les commandes pour le sous-système Windows pour Linux of­fi­cielle de Microsoft pour ap­pro­fon­dir le sujet.

Afficher la dis­tri­bu­tion Linux installée avec Windows Subsystem for Linux

Le sous-système Windows pour Linux permet d’installer et d’utiliser plusieurs dis­tri­bu­tions de Linux. Tapez la commande suivante dans l’interface en lignes de commande pour afficher un aperçu des dis­tri­bu­tions ins­tal­lées :

wsl --list --verbose

Démarrer la dis­tri­bu­tion Linux par défaut avec le sous-système Windows pour Linux

Pour démarrer la dis­tri­bu­tion de Linux définie par défaut, il suffit de taper la commande « wsl » sans paramètre sup­plé­men­taire :

wsl

Vous êtes enfin connecté(e) en tant qu’uti­li­sa­teur Linux et pouvez di­rec­te­ment profiter des célèbres commandes Linux.

Mettre à jour la dis­tri­bu­tion Linux avec WSL

Dès que vous vous connectez pour la première fois à votre dis­tri­bu­tion Linux, il est re­com­mandé de mettre à jour les paquets logiciels installés pour obtenir leur version la plus récente. Pour ce faire, utilisez la commande suivante :

sudo apt update && sudo apt upgrade

Comme il s’agit d’une opération qui a une influence sur l’ensemble du système Linux, la commande commence par « sudo ». Vous devrez ensuite ren­seig­ner le mot de passe défini au moment de l’ins­tal­la­tion de la dis­tri­bu­tion Linux.

Installer Git avec Windows Subsystem for Linux

Git est l’outil le plus répandu pour gérer les versions de projets en code. Pour installer Git dans votre dis­tri­bu­tion Linux, utilisez la commande suivante :

sudo apt install git

Exécuter des outils Linux à partir de Windows avec WSL

Nous avons déjà vu comment se connecter à la dis­tri­bu­tion Linux et utiliser des commandes Linux grâce à l’outil wsl. Il existe cependant un autre moyen d’y parvenir. Vous pouvez exécuter des commandes Linus di­rec­te­ment depuis le shell Windows. Cette pos­si­bi­lité est notamment utile pour utiliser des commandes Linux dans des scripts Po­wer­Shell. Associez sim­ple­ment la commande Linux souhaitée à la commande d’appel de l’outil wsl :

# Utiliser la commande Linux « ls » pour retourner le contenu du dossier actuel
wsl ls -la

Utiliser des outils Windows à partir de l’invite de commandes Linux grâce à Windows Subsystem for Linux

Comme vous l’avez compris, la commande Linux « wsl » vous permet d’exécuter des commandes di­rec­te­ment depuis l’interface Windows ou dans des scripts Po­wer­Shell. Le fonc­tion­ne­ment inverse est aussi possible : vous pouvez utiliser des outils de lignes de commande Windows dans l’invite de commandes de Linux ou dans des scripts Linux.

Pour ce faire, on utilise l’outil Windows ipconfig.exe pour afficher les in­for­ma­tions réseau, associé aux outils Linux grep pour filtrer les résultats de l’IPv4 et cut pour extraire les champs de la colonne :

ipconfig.exe | grep IPv4 | cut -d: -f2

Dans quels cas utiliser Windows Subsystem for Linux ?

En premier lieu, WSL sert à exécuter des commandes Linux dans l’interface en lignes de commandes et dans des scripts. Mais il peut aussi associer les outils Windows et Linux. Ainsi, WSL intéresse es­sen­tiel­le­ment les dé­ve­lop­peurs. Activer le sous-système Windows pour Linux facilite le dé­ve­lop­pe­ment pour le Web et la pro­gram­ma­tion open source. Windows Subsystem for Linux permet par exemple de :

  • installer une ou plusieurs dis­tri­bu­tion(s) de Linux à partir du Microsoft Store ;
  • utiliser des outils en ligne de commande très po­pu­laires comme « grep », « sed » ou « awk » ;
  • exécuter d’autres fichiers binaires ELF 64 bits ;
  • exécuter des scripts pour le shell bash et d’autres en­vi­ron­ne­ments shell ;
  • utiliser des ap­pli­ca­tions basées sur terminal comme « vim », « emacs » ou « tmux » ;
  • utiliser des langages de pro­gram­ma­tion et leurs outils cor­res­pon­dants, comme p.ex. NodeJS, Ja­vas­cript, Python, Ruby, C/C++, C# & F#, Rust, Go etc. ;
  • faire tourner des serveurs Linux sur son or­di­na­teur, comme SSHD, MySQL, Apache, lighttpd, MongoDB, Post­greSQL, etc. ;
  • installer des logiciels sup­plé­men­taires avec le ges­tion­naire de paquets de votre dis­tri­bu­tion Linux ;
  • appeler des ap­pli­ca­tions Windows à l’aide de lignes de commande sem­blables à Unix ;
  • exécuter des ap­pli­ca­tions Linux sous Windows.
Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel
Aller au menu principal