Sous-système Windows pour Linux (WSL): que ne puis-je pas faire avec l'application Ubuntu pour Microsoft Windows?

23

Comme la plupart d'entre vous le savent, dans le Microsoft Store, il existe trois versions d'Ubuntu . Cela signifie que sur Windows, je peux émuler Ubuntu et avoir la ligne de commande Ubuntu directement sur Windows.

La question est très simple: que ne puis-je pas faire à partir de la ligne de commande Ubuntu émulée sous Windows que je peux faire sur un Ubuntu Linux approprié? Est-il utile de télécharger cette application Ubuntu, de l'installer et de travailler uniquement avec elle au lieu du véritable système d'exploitation? Est-il possible d'installer toutes les bibliothèques de développement? Puis-je écrire (ou non) des pilotes de périphérique? En d'autres termes: quelles sont les limites?

Quelles fonctionnalités d'Ubuntu Linux manquent à Ubuntu-on-Windows?

De nouvelles réponses sont les bienvenues: je sais que chaque logiciel est en constante évolution en améliorant les caractéristiques et fonctionnalités!

Leos313
la source
Si vous avez démarré sous Windows, peut-être pour les jeux, il est agréable d'avoir Ubuntu 16.04 installé là-bas lorsque vous êtes sur des micro-pauses, en lisant les questions et réponses d'Ubuntu ici et que vous souhaitez vérifier rapidement certaines commandes sans redémarrer. Si vous voulez les limitations d'Ubuntu sur Windows, votre meilleur pari est d'aller sur le site Web de Microsoft et de lire toutes les nouvelles demandes de fonctionnalités ou les bugs que les utilisateurs ont publiés: docs.microsoft.com/en-us/windows/wsl/faq
WinEunuuchs2Unix
1
WSL est encore beaucoup plus lent en termes d'E / S (opérations sur disque), même par rapport aux machines virtuelles Linux fonctionnant sous Windows. Cependant, cela semble être un domaine sur lequel Microsoft a travaillé.
liori
@jpaugh, exactement, merci! Je viens également de mettre à jour la question à nouveau :)
Leos313

Réponses:

19

L'Ubuntu qui fonctionne sous le sous-système Windows 10 pour Linux n'est pas une distribution complète. En fait, ce n'est pas du tout Linux - il n'a pas de noyau Linux. Vous ne pouvez donc pas tester ou essayer les extensions du noyau, y compris les pilotes, car vous n'utilisez pas Linux .

Si vous voulez faire des choses comme ça, installez Ubuntu dans une machine virtuelle - Win10 inclut Hyper-V, mais personnellement, je préfère VirtualBox, qui est gratuit - ou double-démarrez votre machine avec Ubuntu fonctionnant sur le métal nu. Vous trouverez certainement ce dernier plus rapidement que Windows - je le fais sur toutes mes machines. Cela est en partie dû au fait que vous avez besoin d'une protection antivirus lors de l'exécution de Windows, ce qui réduit les performances, en particulier les performances du disque. Et parce que vous en avez besoin, Win10 comprend un antivirus intégré.

Avec Linux, vous n'en avez pas besoin, il y a donc moins d'impact sur les performances.

Liam Proven
la source
20
Pourquoi pensez-vous que vous n'avez pas besoin d'antivirus sous Linux?
7
@SeligkeitIstInGott Ce n'est pas un émulateur. C'est une couche de compatibilité, tout comme pour Wine sur Linux.
Eric Duminil
6
"Avec Linux, vous n'avez besoin d'aucun [antivirus], donc l'impact sur les performances est moindre." - Linux n'est pas à l'abri des virus / malwares / etc. Antivirus SW est utile sous Linux à la fois pour vous protéger et pour empêcher les mauvaises choses de se propager à d'autres environnements (par exemple Windows). Je sais que ce n'est pas normalement utilisé, mais cela ne signifie pas que la menace n'existe pas.
Daniel
4
J'ai un problème avec ça. 1. L'antivirus n'est pas "requis" pour exécuter Windows. Le système d'exploitation Windows fonctionnera sans antivirus. Il est également livré avec un antivirus, ce qui conduit au point 2: choisir un logiciel aléatoire comme "ralentissant le système d'exploitation" semble arbitraire - et si je soutenais que Ubuntu était plus lent parce que j'avais besoin d'un tas de logiciels supplémentaires pour faire fonctionner les applications qui ne fonctionne que sous Windows? (comme une machine virtuelle pour pouvoir jouer à des jeux AAA?). 3. Vous n'avez fourni aucune preuve à l'appui de cette réclamation.
Caleb Jay
6
@ Hack-R Il n'y a pas de tromperie. Ils ont été très clairs dès le début que ce n'est pas le véritable noyau Linux. Il a commencé par "exécuter des outils Linux, en particulier Bash" pour "exécuter des environnements / distributions / applications Linux". Si tout cela est trompeur, le vin aussi.
Bob
7

L'une des choses que vous ne pouvez pas faire facilement sous le sous-système Windows pour Linux (WSL) est d'exécuter des applications GUI Linux.

Pour ce faire, vous devez installer un serveur X11 non pris en charge tel que VcXsrv ou Xming.

L'activation de WSL est relativement triviale. Il semble être assez bon comme espace utilisateur en ligne de commande Linux.

RedGrittyBrick
la source
Je n'appellerais pas VcXsrvsans support. Ils ont publié environ 10 mises à jour depuis que je l'utilise (octobre 2017).
WinEunuuchs2Unix
1
@ WinEunuuchs2Unix: Je voulais dire non pris en charge par Miscrosoft, dans le sens où ils prennent en charge WSL en implémentant l'API du noyau, en distribuant l'espace utilisateur Ubuntu, en fournissant des outils pour installer / activer WSl et ainsi de suite.
RedGrittyBrick
7

Il existe de nombreuses informations utiles sur chacune des réponses ci-dessus. Je résume ici les principaux concepts de chacun d'eux.

Mise à jour de mai 2019 : comme indiqué dans l'une des réponses les plus récentes, WSL évolue en utilisant le vrai noyau Linux et en offrant beaucoup plus d'options. J'ai parcouru ce document et, s'il est confirmé, ce sera un grand pas en avant. Ici vous pouvez trouver un bel article sur le sujet « vrai noyau Linux sur W10 »

Résumant: "Ubuntu sous Windows est l'intégralité de l'espace utilisateur Ubuntu au-dessus d'un noyau Windows en mode de compatibilité Linux", comme le souligne l'un des commentaires.

Ce que je ne peux pas faire:

  • Officiellement, aucune interface graphique n'est prise en charge jusqu'à présent. Cela signifie également que les applications graphiques ne peuvent pas être exécutées. De plus, les interfaces graphiques standard de la version classique d'Ubuntu Linux ne sont pas prises en charge pour cette raison bien sûr.
  • Le noyau de Linux développé par Linus ne fait PAS partie du sous-système Windows pour Linux (WSL). Cela signifie que vous ne pouvez pas développer de pilotes et l'essayer directement.
  • Toutes les lignes de commande ne fonctionnent pas.

Qu'est-ce que je peux faire:

  • Utilisez la ligne de commande et le shell Bash de base. Il est possible d'écrire et d'exécuter des scripts.
  • Développer des applications (compiler ou compiler de manière croisée et les exécuter) mais sans graphiques jusqu'à présent.
  • Utilisez "apt-get" pour installer / supprimer les nouveaux / anciens paquets.

Information additionnelle:

  • d'autres distributions sont officiellement prises en charge (comme, par exemple, Debian et Kali)
  • ces applications sont gratuites, téléchargeables à partir du Windows Store et ici vous pouvez trouver les instructions pour installer et l' utiliser.

  • Dans cette autre question du blog, quelques suggestions sur la façon d'utiliser une interface graphique pour WSL (non officiel, tiers)

MISE À JOUR août 2019 : le nouveau WSL 2 a été publié (lire ici pour plus d'informations). Il semble que vous puissiez travailler avec un vrai noyau Linux et avec un système de fichiers Linux. Pour l'instant, je n'ai pas encore essayé la nouvelle version (elle est sur ma liste TODO).

Leos313
la source
4

De How-To Geek :

[Il] ne prend pas encore en charge les logiciels de serveur d'arrière-plan, et il ne fonctionnera pas officiellement avec les applications graphiques de bureau Linux. Toutes les applications de ligne de commande ne fonctionnent pas non plus, car la fonctionnalité n'est pas parfaite.

Mise à jour à partir du commentaire d' allquixotic :

À partir de Windows 10 v1803, les tâches en arrière-plan sont prises en charge.

wjandrea
la source
6
À partir de Windows 10 v1803, les tâches en arrière-plan sont prises en charge.
allquixotic
Il peut être utile de signaler les "tâches d'arrière-plan" = crontabet d'autres démons. Voici un exemple pratique de chargement au crontabdémarrage de Windows. Puis en utilisant rsynctous les 2 jours pour sauvegarder la base de données Windows: blog.snowme34.com/post/…
WinEunuuchs2Unix
2

Depuis mai 2019, WSL 2 est en cours de développement .

Les performances du système de fichiers dramatique augmentent et la compatibilité complète avec les appels système, ce qui signifie que vous pouvez exécuter plus d'applications Linux dans WSL 2 telles que Docker.

...

WSL 2 utilise une architecture entièrement nouvelle qui utilise un véritable noyau Linux .

...

Les versions initiales de WSL 2 seront disponibles via le programme Windows Insider d'ici la fin de juin 2019.

(c'est moi qui souligne)

DB
la source