Linux avec WSL2 & serveur X

lundi 30 janvier 2023, par Jérémy De Cock

Installation de Linux avec WSL2 et un serveur X sous Windows 11.

Présentation

Windows Subsystem for Linux est une couche de compatibilité qui permet d’exécuter des programmes natifs de Linux directement à partir de l’interface en lignes de commande de Windows. Plus spécifiquement, WSL permet d’exécuter des fichiers binaires de Linux 64 bits respectant le standard « Executable and Linkable Format » (ELF).

Le sous-système Windows pour Linux est disponible à partir de Windows 10. Pourtant, l’objectif de Microsoft, à savoir faciliter le travail des utilisateurs Windows avec les outils Linux depuis leur environnement 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.

Activer WSL 1 Pour profiter de Linux sous Windows 10 ou Windows 11, on doit activer WSL (Windows subsystem for linux). Il s’agit d’un sous système qui va nous permettre de faire tourner des applications ou des distribution Linux comme Ubuntu, Fedora, Docker, etc.

  1. Ouvrir "Windows Powershell" en tant qu’administrateur.
  2. Saisir la commande Powershell suivante : dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
  3. Entrer ’Y’ et valider ce qui va redémarrer la machine.

C’est bon, nous avons WSL 1 !

Passer à WSL 2

Voici une image qui résume bien les différences entre les deux :

Maintenant, passons à l’acte.

  1. Ouvrir "Windows Powershell" en tant qu’administrateur.
  2. Saisir la commande Powershell suivante : dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
  3. Entrer ’Y’ et valider ce qui va re-redémarrer la machine.

Au revoir WSL 1 et bonjour WSL 2 !

Installer une machine Linux

Les distributions Linux sont trouvables dans le Microsoft Store de Windows. Dans notre cas, nous voulons une machine Kali Linux : disponible ici. Pour tester que celle-ci fonctionne, on va l’ouvrir.

img

Nous devons télécharger le noyau Linux trouvable au lien suivant : ici. Une fois téléchargé, on peut ouvrir notre machine Linux de nouveau.

img

Notre machine a fonctionné !

Bien configurer WSL 2

Pour s’assurer d’utiliser WSL 2 par défaut, on peut lancer la commande suivante dans Powershell : wsl --set-default-version 2

Pour savoir si notre machine Kali Linux utilise bien WSL 2, on peut lancer la commande suivante : wsl --list --verbose

La sortie devrait être la suivante :

img

C’est bien le cas.

Si ça ne l’avait pas été, on aurait pu faire : wsl --set-version kali-linux 2

Interface graphique ?

C’est prévu, Microsoft l’a annoncé pour Windows 11 mais pour le moment, rien n’est encore sorti. Comment allons-nous donc faire ?

WSL sait exporter nativement ses écrans dans un serveur X : cela signifie que nous allons tout de même pouvoir installer et utiliser des applications graphiques Linux sous Windows.

Installer un serveur X

On va installer l’outil VcXsrv sur notre machine Windows disponible ici. Au lancement de VcXsrv (nommé XLaunch), on peut choisir un mode d’affichage :

Ce que j’ai fait :

Configurer la machine Linux

Allons dans notre machine Kali Linux pour la suite.

Il faut modifier notre fichier .bashrc en rajoutant les deux suivantes à la fin :

export LIBGL_ALWAYS_INDIRECT=1export DISPLAY=$(ip route | awk '/^default/{print $3; exit}'):0

C) Test depuis la machine Linux

On installe ensuite x11-apps en s’assurant au préalable que la machine est à jour.

$ apt update[...]$ apt install -y x11-apps[...]

Pour tester que ce que nous avons fait fonctionne, nous allons essayer d’ouvrir xcalc.

img

Super, tout fonctionne !