7Sep

Comment faire pour exécuter des applications de bureau graphique Linux à partir du shell Bash de Windows 10

Le shell Bash de Windows 10 ne prend pas officiellement en charge les applications de bureau Linux graphiques. Microsoft affirme que cette fonctionnalité est conçue uniquement pour les développeurs qui souhaitent exécuter des utilitaires de terminal Linux. Mais le "sous-système Windows pour Linux" sous-jacent est plus puissant que Microsoft ne le permet.

Il est possible d'exécuter des applications graphiques Linux sous Windows 10, mais gardez à l'esprit qu'il n'est pas officiellement supporté.Les logiciels Linux ne fonctionnent pas tous et les applications graphiques sont encore plus complexes et moins testées. Mais ceux-ci devraient devenir plus stables avec le temps, car Microsoft améliore le sous-système Windows sous-jacent pour Linux.

Le shell Bash de Windows 10 ne prend en charge que les binaires 64 bits, vous ne pouvez donc pas installer et exécuter un logiciel Linux 32 bits.

ARTICLES CONNEXES
Comment faire pour installer et utiliser le shell Linux Bash sur Windows 10
Comment installer le logiciel Linux dans Ubuntu Bash Shell de Windows 10

Comment cela fonctionne

Tout d'abord, nous allons exactement comment cela fonctionne afin que vous puissiez comprendre ce quenous faisons ici.

Windows 10 inclut un «sous-système Windows pour Linux» sous-jacent qui permet à Windows 10 de faire fonctionner le logiciel Linux en traduisant les appels système Linux vers les appels système Windows.

Lorsque vous exécutez le programme bash.exe, il télécharge et installe une image complète de l'espace utilisateur Ubuntu sur votre ordinateur. Cela inclut exactement les mêmes binaires( ou applications) qui fonctionneraient sous Ubuntu. Cet environnement «Bash on Ubuntu on Windows» fonctionne grâce au sous-système Windows sous-jacent pour Linux.

Microsoft ne veut pas perdre de temps à travailler sur des logiciels graphiques, car cette fonctionnalité est destinée aux outils de développement en ligne de commande. Mais la principale raison technique pour laquelle les applications graphiques ne sont pas supportées est qu'elles nécessitent un "serveur X" pour fournir cette interface graphique. Sur un bureau Linux typique, ce "serveur X" apparaît automatiquement lorsque vous démarrez votre ordinateur et il restitue l'ensemble du bureau et les applications que vous utilisez.

Mais essayez d'ouvrir une application graphique à partir de Bash sur Windows, cependant, et il se plaindra qu'il ne peut pas ouvrir un affichage.

Il existe cependant des applications serveur X que vous pouvez installer sur un bureau Windows. Généralement, ceux-ci sont utilisés pour faire fonctionner des applications Linux sur d'autres ordinateurs - le protocole «X11» est plutôt ancien et a été conçu avec la capacité de fonctionner sur une connexion réseau.

Si vous installez une application serveur X sur votre bureau Windows et modifiez un paramètre dans le shell Bash, les applications enverront leur sortie graphique à l'application serveur X et apparaîtront sur votre bureau Windows. Tout devrait fonctionner correctement, en supposant que ces applications ne dépendent pas des appels système Linux que le sous-système Windows pour Linux ne prend pas encore en charge.

Première étape: Installer un serveur X

Il existe plusieurs serveurs X différents que vous pouvez installer sur Windows, mais nous recommandons Xming. Téléchargez-le et installez-le sur votre PC Windows 10.

Le processus d'installation est simple: vous pouvez simplement accepter les paramètres par défaut. Il sera ensuite automatiquement lancé et exécuté dans votre barre d'état système, en attendant que vous exécutiez des programmes graphiques.

Étape 2: Installation du programme

Vous pouvez installer des programmes de bureau sous Linux graphiques comme n'importe quel autre programme, en utilisant la commande apt-get dans l'environnement Bash basé sur Ubuntu. Supposons, par exemple, que vous souhaitiez installer l'éditeur graphique vim basé sur GTK.Vous devez exécuter la commande suivante dans la fenêtre Bash:

sudo apt-get installer vim-gtk

Il va passer par le processus d'installation dans la fenêtre de ligne de commande, tout comme il le fait sur Ubuntu.

Troisième étape: Définition de la variable d'environnement d'affichage

Vous devez maintenant définir la variable d'environnement "DISPLAY" pour qu'elle pointe sur le serveur X qui s'exécute sur votre PC Windows 10.Si vous ne le faites pas, les applications graphiques ne pourront tout simplement pas démarrer.

Pour ce faire, exécutez la commande suivante dans l'environnement Bash: Exportation

DISPLAY =: 0

Ce paramètre s'applique uniquement à votre session Bash actuelle. Si vous fermez la fenêtre, Bash l'oubliera. Vous devrez exécuter cette commande chaque fois que vous rouvrez Bash et que vous voulez exécuter une application graphique.

Étape 4: Lancer une application

Vous pouvez maintenant lancer une application graphique en tapant le nom de son exécutable, comme si vous tapiez une autre commande. Par exemple, pour lancer vim-gtk, vous devez exécuter:

gvim

C'est aussi simple que cela. Si l'application se bloque après le lancement, le système Linux l'appelle peut ne pas être pris en charge par le sous-système Windows pour Linux. Vous ne pouvez pas faire grand chose à ce sujet. Mais essayez-le et vous trouverez peut-être que les applications dont vous avez besoin fonctionnent bien!

Vous pouvez également combiner les troisième et quatrième étapes, si vous le souhaitez. Plutôt que d'exporter la variable DISPLAY une fois pour toute une session shell Bash, il suffit d'exécuter une application graphique avec la commande suivante:

DISPLAY =: 0 commande

Par exemple, pour lancer gvim, vous devez exécuter:

DISPLAY =:0 gvim

Rappelez-vous, ceci n'est pas officiellement supporté, donc vous pouvez rencontrer des erreurs avec des applications plus complexes. Une machine virtuelle est une solution plus fiable pour l'exécution de nombreuses applications de bureau Linux sous Windows 10, mais c'est une solution intéressante pour certaines choses plus simples.