WSL
Introduction
Windows Subsystem for Linux (WSL) est une couche de compatibilité permettant d'exécuter des exécutables binaires Linux (au format ELF) de manière native sur Windows 10 et Windows Server 2019. wikipedia
Cela va permettre d'exécuter un terminal (bash) de manière native sur votre système Windows et les applications lancées par ce biais profiteront de toute la puissance que matériel peu offrir.
regardons comment activer cette fonctionnalité !
NB 27/06/2020 : Pour l'instant, WSL2, qui offre une plus grande intégration / compatibilité Linux, est encore en phase de test. De gros problèmes de performance sur le système de fichier, notamment la partie « /mnt » qui permet la passerelle avec Windows, ont été identifiés depuis juin 2019 et ne sont toujours pas corrigés (lien github). Préférez donc WSL1 pour le moment... |
Activation
Il faut d'abord activer la fonctionnalité "Sous-système Windows pour Linux", soit dans un Powershell (en tant qu'administrateur):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
Soit à travers l'interface graphique:
→ |
→ |
→ |
Choix de la distribution
Il faut maintenant choisir une distribution Linux:
- sur le site de microsoft
- ou sur github, comme par exemple pour CentOS
Installation en PowerShell
Une fois le fichier appx récupéré:
Il suffit d'ouvrir un Powershell pour se déplacer dans le répertoire de téléchargement et lancer l'installation:
→ |
||
> cd .\Downloads\ > Add-AppPackage .\kali-linux-08-06-2019.appx |
Avec un exécutable
Dans le cas de CentOS, pas besoin de lancer un Powershell, il suffit de décompresser l'archive et de lancer l'exécutable en tant qu'administrateur. La première fois, l'exécutable créer les fichiers nécessaires et après, un terminal se lancera:
Gérer les distributions WSL
Dans un Powershell, il est possible de lister les distributions installées
>wslconfig /l Distributions du sous-système Windows pour Linux : CentOS7 (par défaut)
Et de les supprimer:
>wslconfig /u CentOS7
Ajouter un point de montage Windows
Il peut être intéressant de monter une partition Windows sous Linux WSL. Tout d'abord il faut identifier la lettre de la partition à ajouter sous Windows (clé USB, carte SD, etc...). Dans cet exemple, nous allons:
- monter le disque Windows G:
- dans le point de montage /mnt/g (si le répertoire n'existe pas il faut le créer).
# mount -t drvfs G: /mnt/g
Lancer une application graphique
Côté Windows
Le déport d'affichage ou déport X (du nom du serveur graphique Linux X11) permet de lancer une application depuis un système Linux sur un autre (Linux ou Windows).
Le seul problème est que Windows ne possède pas de serveur X... nous allons utiliser VcXSrv.
Pour MAC il faut télécharger XQuartz !
Pour démarrer VcXSrv, double cliquez sur l’icône XLaunch qui permet de lancer le serveur X.
Côté Linux
Il ne reste plus qu'à spécifier à notre Linux de rediriger les paquets graphique et pour cela nous allons utiliser la ligne suivante:
$ export DISPLAY=:0
Pour que cela se fasse à chaque démarrage de WSL, il est possible de mettre cette ligne dans le fichier .bashrc de votre répertoire home (à la fin par exemple).
Test
Pour notre exemple nous allons utiliser une application très simple qui affiche une horloge: xclock.
Pour installer xclock il suffit d'utiliser la commande suivante:
- sour Ubuntu:
$ sudo apt-get install -y x11-apps
- sour CentOS:
# yum -y install xclock
et de lancer xclock
Créer un raccourci
Il est possible de faire un raccourci Windows pour lancer directement notre application graphique depuis le bureau Windows.