WSLg : comment utiliser WSL pour ouvrir des applications GUI Linux ?

I. Présentation

Dans la continuité de mes précédents articles sur WSL, je vais vous parler aujourd'hui de WSLg. C'est le nom donné par Microsoft à la nouvelle fonctionnalité de WSL qui permet d'ouvrir des applications GUI Linux directement depuis Windows. En fait, il faut imaginer une distribution Linux installée via WSL, avec un paquet d'une application avec une interface graphique installé sur cette même distribution, et l'on va venir ouvrir cette application Linux directement à partir de Windows et du raccourci dans le menu Démarrer.

🎥 Episode disponible au format vidéo :

Pour le moment, cette fonctionnalité est disponible seulement sur les versions preview de Windows 10 (je n'ai pas testé sur la version preview de Windows 11), accessibles par l'intermédiaire du programme Windows Insiders. Plus précisément, la fonctionnalité est disponible depuis Windows 10 Build 21364. Elle devrait être intégrée à Windows 11 lors de la sortie de la prochaine version stable prévue pour fin 2021.

L'alternative consiste à installer une interface graphique comme XFCE sur la distribution Linux géré par WSL 2 et de venir se connecter sur la machine via RDP ou VNC. Ensuite, on peut utiliser les applications sur la machine Linux, localement.

WSLg Windows 10

Si l'on regarde de plus près le schéma ci-dessus, qui provient de la documentation de Microsoft, on remarque que Microsoft s'appuie sur trois composants pour l'affichage :

- XWayland qui permet de faire fonctionner des applications Xorg (X11) avec Wayland. D'ailleurs, Wayland est destiné à remplacer le protocole de serveur d'affichage X11.

- Weston qui est une implémentation du protocole d'affichage Wayland et qui servira à gérer l'affichage des applications, aussi bien celles compatibles Wayland, que celles compatibles X11 (grâce à XWayland).

- FreeRDP qui est une implémentation open source du protocole RDP. Grâce à lui, le client Bureau à distance de Windows va pouvoir afficher l'application Linux dans le même esprit qu'une Remote App.

En complément, il faut savoir que WSLg supporte le copier-coller entre Windows et l'application Linux, ainsi que le multi-écrans, et la gestion de l'audio grâce au composant Pulse Audio Server.

Note : la majorité des commandes wsl.exe de cet article ne fonctionne pas sur les versions stables actuelles de Windows 10. Ce sont des commandes qui seront intégrées sur la future version de Windows, prévue pour fin 2021.

II. Prérequis de WSLg sur Windows 10

Comme je le disais, il faut au minimum Windows 10 Build 21364 pour pouvoir tester WSLg et utiliser les applications GUI de Linux depuis Windows. Ensuite, il faudra procéder à l'installer de WSL au sein de la machine Windows 10.

Avant de parler installation, sachez que WSL 2 est installable au sein d'une machine virtuelle hébergée sur un serveur VMware ESXi ! Il suffit d'activer l'option "Exposer la virtualisation assistée du matériel au SE invité" au sein des paramètres de la VM.

Pour revenir sur l'installation, vous pouvez utiliser mon tutoriel qui explique la méthode classique pour installer WSL 2 sur Windows 10.

À l'avenir, l'installation de WSL sera plus simple, enfin disons que ce sera plus par les fonctionnalités optionnelles de Windows. Il ne sera plus nécessaire également d'installer le Kernel WSL 2 manuellement, ce sera inclus. On pourra faire l'installation de WSL 2 directement à l'aide d'une seule commande :

wsl.exe --install

Une fois que la fonctionnalité est installée, pour être sûre de bien avoir tous les composants à jour, une petite mise à jour s'impose. On commence par stopper la machine virtuelle WSL :

wsl.exe --shutdown

Puis, on effectue la mise à jour :

wsl.exe --update

Une nouvelle fois, nous devons arrêter la machine virtuelle :

wsl.exe --shutdown

Passons à la suite.

III. Installer un distribution Linux sous WSL

Si vous avez déjà une distribution Linux via WSL sur votre poste de travail, vous pouvez passer à la suite. Pour rappel, l'installation d'une distribution Linux s'effectue généralement à partir du Microsoft Store.

Néanmoins, j'en profite là encore pour vous parler d'une nouvelle commande qui va permettre d'installer une distribution Linux depuis une commande wsl.exe. Par exemple, pour installer Ubuntu :

wsl --install --distribution Ubuntu

Tout en sachant que les distributions disponibles peuvent être listées :

wsl.exe -l -o

Pour utiliser WSLg, nous devons avoir une distribution Linux en version 2. Si vous venez de l'installer, normalement elle est en version 2 par défaut. Dans le doute, on va forcer l'utilisation de cette version :

wsl.exe --set-version <Nom de la distribution> 2
wsl.exe --set-version Ubuntu 2

Il est fort possible que le message "La distribution présente déjà la version demandée." s'affiche.

IV. Installer une application GUI Linux sous WSL

Venons en maintenant à la question du jour : comment installer une application GUI Linux avec WSL ? La réponse se trouve ci-dessous... En fait, le plus gros est déjà fait : installer WSL et le mettre à jour. Ensuite, c'est classique finalement. On met à jour le cache des paquets (pour récupérer les dernières versions) :

sudo apt update

On met à jour les paquets sur la machine (tous les paquets installés ayant besoin d'être mis à jour) :

sudo apt upgrade

Enfin, on installe l'application graphique de son choix. Prenons par exemple l'éditeur de texte Gedit :

sudo apt install gedit -y

Dès qu'il est installé, si l'on ouvre le menu Démarrer de Windows 10, on voit un nouvel icône : Text Editor (Ubuntu). Intéressant.

Si on ouvre l'application, Gedit s'ouvre sur Windows 10 et permet d'accéder au contenu de la machine Linux, en l'occurrence ici Ubuntu.

V. Installer VSCode sous WSL

Pour finir cet article, je vous propose de voir comment installer Visual Studio Code alias VSCode, un éditeur de code gratuit disponible sous Windows, mais aussi Linux. De quoi coder sous Linux directement à partir de sa machine Windows.

Suivez ces quelques étapes. Les commandes sont à exécuter directement depuis la machine Linux.

Positionnez-vous dans le dossier /tmp (ou ailleurs) :

cd /tmp

Téléchargez les sources de VSCode pour Ubuntu / Debian (fichier .deb) :

wget https://go.microsoft.com/fwlink/?LinkID=760868

Vous allez obtenir un fichier avec un "nom bizarre". On va le renommer en "vscode.deb" :

mv 'index.html?LinkID=760868' vscode.deb

Via Aptitude, on va installer notre paquet à partir du fichier .deb :

sudo apt install ./vscode.deb

Ce qui donne :

Dès que c'est terminé, on retrouve le raccourci "Visual Studio Code (Ubuntu)" directement dans le menu Démarrer de Windows 10. Il ne reste plus qu'à l'ouvrir et à coder ! Si vous installez PowerShell sur Linux, vous pouvez coder un script depuis VSCode et l'exécuter sur la machine Linux directement ! 🙂

Vous voyez, c'est assez simple d'utiliser les applications graphiques de Linux sous Windows 10 ! Le plus chiant, c'est d'attendre que ce soit disponible au sein d'une version stable de Windows. En attendant, vous pouvez toujours tester en VM.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau et cofondateur d'IT-Connect. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian a publié 3118 articlesVoir toutes les publications de cet auteur

2 thoughts on “WSLg : comment utiliser WSL pour ouvrir des applications GUI Linux ?

  • l’enregistrement des fichiers (sous vscode par exemple) sur l’hôte (windows) fonctionne ?

    Répondre
  • Perso, pour vscode, je fait « choco install vscode » et ensuite, dans mon terminal Linux, je tape « code . »

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.