Il est désormais possible d'exécuter des applications GUI Linux sur Windows 10 grâce aux dernières modifications apportées par Microsoft à WSL, ou sous-système Windows pour Linux.
Windows est peut-être le système d'exploitation de bureau le plus populaire, mais cela ne signifie pas qu'il peut tout faire. Si tu veux faire quelque chose comme exécuter un serveur JetBrains Projecteur, par exemple, vous aurez besoin d'un système basé sur Unix, comme Linux. Microsoft a introduit il y a quelque temps le sous-système Windows pour Linux (WSL), qui prend en charge l'exécution d'applications Linux directement à partir de votre installation Windows.
Mais le WSL avait certaines limites. La version 1 n'utilisait même pas de noyau Linux complet, donc de nombreuses applications ne fonctionnaient toujours pas. La version 2 a apporté de nombreuses améliorations, mais il manquait encore quelque chose: le support des applications GUI.
Bien sûr, vous pouvez toujours mettre en place une solution hackée dans laquelle vous installez un serveur X sous Windows et modifiez certains ports. transfert et configurer une variable d'environnement automatique dans WSL, mais c'est compliqué à faire et cela ne fonctionne pas toujours très bien.
Entrez WSLg.
WSLg: Exécutez des applications Linux avec des interfaces graphiques sur Windows 10
WSLg est la réponse de Microsoft au problème de l'interface graphique Linux, et c'est honnêtement un peu bizarre. Voici un schéma amusant de son fonctionnement, gracieuseté de Microsoft.
Il se passe beaucoup de choses ici, mais l'idée de base est en fait assez similaire à l'ancienne méthode manuelle de configuration de votre propre serveur X. Au lieu de cela, le serveur X s'exécute sur une instance WSL parallèle invisible pour l'utilisateur. Windows utilise ensuite un protocole de bureau à distance pour rediriger la vidéo et l'audio de cette instance invisible vers le côté Windows. Cela semble probablement compliqué, et ça l’est, mais ça marche.
Microsoft affirme également que, même à travers toutes ces couches, les applications Linux devraient pouvoir tirer parti de votre GPU, avec des éléments tels que le relais OpenGL. Actuellement, ce comportement nécessite un pilote spécial d'AMD, Intel ou NVIDIA, mais il est prévu de le regrouper par défaut à l'avenir.
Cet avenir arrivera probablement au second semestre de cette année, avec Windows 21H2 parallèlement à une grande refonte de l'interface utilisateur. Craig Loewen, responsable du programme pour la plate-forme de développement Windows, a confirmé sur Twitter que la prise en charge de l'interface graphique pour les applications Linux arrivera pour tous les utilisateurs dans la prochaine version majeure de Windows.
Caractéristiques
À l’heure actuelle, WSLg semble en fait assez complet en termes de fonctionnalités. L'affirmation est que vous pouvez bénéficier d'une prise en charge vidéo et audio complète pour les applications Linux GUI, ainsi que d'une accélération 3D. Et c'est assez transparent. Lorsqu'une nouvelle application GUI est installée dans une instance WSL, elle est même ajoutée au menu Démarrer, vous pouvez donc la lancer directement. Les applications doivent s'afficher sous un dossier portant le même nom que l'instance WSL correspondante.
Insectes
Bien sûr, il s’agit d’une version anticipée et il y a quelques bugs. Personnellement, lorsque je l'ai configuré sur l'un de mes ordinateurs portables, je ne pouvais même pas exécuter d'applications. Je n'ai également reçu aucune entrée du menu Démarrer pour les applications. L'équipe derrière cela est incroyablement réactive, et au moins le premier problème a déjà été résolu pour la prochaine version.
Il existe apparemment également d'autres problèmes liés au copier-coller et à l'audio cassé. Vous pouvez consulter la liste complète des problèmes sur le Dépôt WSLg GitHub.
Commencer
Alors, comment peut-on obtenir le WSLg? Eh bien, actuellement, le moyen le plus simple consiste à mettre à jour vers la dernière version Developer Ring de Windows 10 Insider (build 21364 ou version ultérieure). Une fois que vous avez fait cela, vous pouvez simplement exécuter wsl --mise à jour dans une fenêtre d'invite de commande ou PowerShell avec élévation de privilèges, suivi de wsl --arrêt.
Ensuite, ouvrez simplement une instance WSL et exécutez une application Linux avec une interface graphique. En supposant que tout s'est bien passé, vous verrez votre application apparaître presque comme une application Windows native. Sinon, consultez les problèmes GitHub ou déposez votre propre problème si nécessaire.
Ressources
Pour plus d'informations sur le fonctionnement des applications Linux avec interface graphique, assurez-vous de consulter les ressources suivantes :
- Dépôt GitHub de WSLg.
- Annonce Windows Insider 21364.
- Rédaction détaillée de Craig Loewen.
Ou regardez la procédure pas à pas et l'exemple de vidéo de Craig Loewen :