Windows 10 affiche les interfaces graphiques de Linux

Nicolas Furno |

Les temps changent et Microsoft n’est plus aussi fermement opposé aux systèmes GNU/Linux qu’à une époque. Qu’elle est loin, l’époque où Steve Ballmer qualifiait Linux de « cancer » et où son entreprise menaçait plus ou moins directement les constructeurs de PC qui voulaient s’y risquer. Cette ère est désormais révolue et l’éditeur de Windows travaille main dans la main avec son ennemi d’hier : on peut utiliser les distributions GNU/Linux sur Azure, son service dans le Cloud, et à l’inverse, on peut installer SQL Server sur Linux.

Cette ouverture ne concerne pas que les serveurs. Avec Windows 10, les deux univers se retrouvent également sur tous les ordinateurs. Microsoft a travaillé avec Canonical, l’éditeur d’Ubuntu, pour intégrer le bash de Linux et tous les composants essentiels nécessaires pour que l’on puisse exploiter les outils en ligne de commande. Mais ce n’est pas tout : on peut même faire tourner certaines interfaces graphiques de Linux sur Windows, que ce soit celle d’Ubuntu ou bien des interfaces concurrentes.

L’interface d’Ubuntu peut tourner sur Windows 10 ! — Cliquer pour agrandir
L’interface d’Ubuntu peut tourner sur Windows 10 ! — Cliquer pour agrandir

Il ne s’agit pas de virtualisation, chose que l’on sait faire depuis des années, mais bien d’une interface graphique conçue pour tourner sur un système GNU/Linux, mais qui fonctionne nativement sur Windows 10. Ce n’est pas une prise en charge officielle, mais une utilisation audacieuse du Bash Linux détaillée sur GitHub, où Microsoft enregistre les bugs et les requêtes des utilisateurs.

Pour le moment, on peut faire tourner Unity, l’environnement de bureau d’Ubuntu, ou Xfce, un environnement de bureau compatible avec toutes les distributions GNU/Linux. Ce détournement du Bash intégré à Windows 10 pour utiliser des interfaces graphiques est audacieux, mais il nécessite d’installer ce logiciel pour émuler la couche graphique des distributions. Il a fallu également compiler plusieurs programmes qui n’étaient pas livrés par Microsoft, mais qui sont nécessaires dans ce cadre.

Xfce sur Windows 10 — Cliquer pour agrandir
Xfce sur Windows 10 — Cliquer pour agrandir

Ce n’est probablement pas la meilleure solution pour utiliser Linux sur un PC, d’autant que l’on n’a le choix qu’entre ces deux interfaces et uniquement ces deux-là. Et puis il y a de nombreux problèmes, des fonctions manquantes, des plantages…

L’exploit technique reste impressionnant, même s’il ne permettra sans doute jamais d’installer une interface graphique issue d’une distribution Linux et d’avoir les mêmes fonctions. Qu’importe, le fait que l’on accède au Bash GNU/Linux depuis Windows 10 ouvre de nombreuses portes, et cet exemple le prouve bien.


avatar fousfous | 

Et concrètement ça sert à quoi? Parce que j'imagine que les gens ne vont pas faire ça juste pour retrouver les interfaces degueulasses de linux

avatar ErGo_404 | 

Oh il y a probablement quelques rares logiciels avec interface graphique disponibles uniquement sur Linux qui n'ont pas d'équivalents Windows.

avatar fousfous | 

@ErGo_404 :
Ça existe des éditeurs qui ne feraient des programmes QUE Linux?

avatar valcapri | 

@fousfous :
Tu as déjà vu Konqueror et Rhythmbox ailleurs que sur Linux? Il y a des logiciels libres qui tourne que sous Linux. Qui sont lier a GTK ou KDE QT. Certes, il y a moyen de les portées vers d'autres OS mais c'est loin d'être une partie de plaisir.
Sans oublier, les packages manager comme aptitude, yum, yaourt,...
Par exemple, Transmission, a une interface graphique différentes sur chaque plateforme et VLC à des adaptations spécifiques aussi.

avatar fousfous | 

@valcapri :
Oui mais quelle est l'intérêt de ne faire des logiciels que sur Linux? Y a pas grand monde qui va les utiliser du coup

avatar reborn | 

@fousfous :
Les barbus

avatar Wolf | 

@fousfous : Je plusssoie c'est une Perte de temps que de développer que sur linux

avatar vache folle | 

@Wolf :
Ou un parti pris...

avatar oomu | 

milieux scientifiques et académiques par exemple.

avatar C1rc3@0rc | 

+1
...developeurs, ingénierie industrielle, systemes embarqués, serveurs, datacenter, calculateur, centre de recherches publics ou privés ayant a traiter du bigdata et nécessitant de forte puissance de calcul...
En fait des que l'on sort du GP et de la bureautique d'entreprise (et encore) Windows et MacOS sont très minoritaires...

Ce que fait Microsoft c'est surtout un pas de plus dans la transformation de Windows en un service avec a l'horizon la disparition de l'OS pure et simple.

Et franchement une interface type Ubuntu a la place de l'infame Metro de Windows, c'est en soit deja un des plus grand progres de Windows depuis Windows 7

avatar oomu | 

@fousfous 11/07/2016 - 16:22via iGeneration pour iOS

"Et concrètement ça sert à quoi? Parce que j'imagine que les gens ne vont pas faire ça juste pour retrouver les interfaces degueulasses de linux"

Concrètement ?

A ce que windows puisse accueillir, à terme, d'autres environnements de développements et workflow d'ingénieurs que les seuls développeurs .NET.

C'est une stratégie enfin intelligente de la part de Microsoft: faire de windows un environnement accueillant. Bash permet à foule d'ingénieurs de retrouver ses petits rapidement sur un environnement windows.

Après heu, y a du boulot hein.

-
Ce n'est pas techniquement la même chose, mais quand Apple choisit Nextstep pour refaire Mac OS, elle profita du fait que c'était un unix pour dire aux ingénieurs unix et linux "viendez chez nous, regardez, y a tout ce que vous aimez déjà ! y a même Perl !"

avatar Le docteur | 

Il fut un temps où les interfaces de Linux étaient bien moins dégueulasses que Windows (Gnome contre Windows XP ou 98). Maintenant, c'est vrai qu'il y a un côté où ça s'est un peu amélioré et un autre où ça s'est pas mal dégradé.

avatar Apollo11 | 

L'interface, avec Linux, contrairement à MacOS, on peut en faire ce qu'on en veut, à notre goût. Peut-être pas au goût des autres, mais au nôtre.

Linux Mint 18 Cinnamon (modifié) : http://i.imgur.com/i1dEC18.png

avatar Moonwalker | 

Goût de chiotte. :D

avatar Apollo11 | 

Éloquent...

avatar MacGyver | 

a quand l'integration de "l'ecran bleu de la mort" dans linux ?

avatar ingmar92110 | 

@MacGyver :
Hihi

avatar reborn | 

Ils devraient faire un windows basé sur le noyau linux, ça ira plus vite.. Une distribution linux made in microsoft quoi

avatar Ali Ibn Bachir Le Gros | 

Je me demande s'ils n'y réfléchissent pas sérieusement du coup. Le shell Bash porté sur Windows c'est une excellente chose et je pense que Microsoft aurait beaucoup à gagner à se baser sur le noyau de Linux..

Par contre ça demanderait énormément de développement.

avatar oomu | 

non.

Microsoft n'a rien à y gagner.

Le kernel windows leur sert bien. Ils ont une montagne de technologie développées dessus. Plusieurs concept bas niveaux sont différents de POSIX/Unix. et j'en passe.

Pourquoi donc voulez vous emmerder dans la vie quand vous avez déjà un truc qui ROULE ?

C'est comme de dire à Apple "ouais bon, ben vos swift, vos noyau mach, vos metal etc, c'est bien gentil, mais allez on va tout refaire sur le kernel windows, parce que.. boh chais po, je m'ennuie."

inutile.

"Par contre ça demanderait énormément de développement."
au delà de ce qu'on peut concevoir. Le coût année/ingénieur doit être astronomique.

-
Bash sous Windows utilise un sous-système pour faire tourner linux en userland. il ne s'agit pas de prendre bash pour remplacer powershell ou même cmd même si le sous-système linux peut atteindre le système de fichier windows et inversement.

avatar RyDroid | 

> Pourquoi donc voulez vous emmerder dans la vie quand vous avez déjà un truc qui ROULE ?

Sur le long terme, cela dégagerait du travail, même si cela en demande un surcoût à court terme.

> C'est comme de dire à Apple "ouais bon, ben vos swift, vos noyau mach, vos metal etc, c'est bien gentil, mais allez on va tout refaire sur le kernel windows, parce que.. boh chais po, je m'ennuie."

Qu'a fait Apple avec GCC qui est pourtant libre ? Il arrêté de contribuer et fait LLVM/Clang.

avatar Moonwalker | 

Les problèmes se posaient de façon différente concernant GCC.

Apple, en fait NeXT à l'époque, s'est trouvée obligée par Stallman de respecter la licence GNU de GCC et donc de publier ses modifications apportées pour l'Objective-C sous les mêmes conditions.

Mais comme elle conservait une partie des briques nécessaires à l'implémentation NeXTStep, et ensuite Mac OS X, ses apports ne servaient à pas grand monde.

Ce qui ennuyait Cupertino ce n'était pas tant l'ouverture que les conditions de la GNU.

LLVM/Clang sont sous licence BSD-like ce qui convient bien mieux dans un projet qui se veut ouvert à tous.

avatar C1rc3@0rc | 

La licence GNU impose de publier tout ce qui est derivé d'un produit sous licence GNU. Apple fait de l'Opensource mais garde une partie prorprietaire, ce qui est incompatible avec la licence GNU: c'est tout ou rien. Apple a la suite de NeXT a choisie rien et a remplacé les outils GNU qui ne sont pas cloisonnés par des licences plus coulante pour des pratiques commerciales proprietaires.

Après il y a aussi une question technologique: LLVM introduit un niveau d'abstraction supplémentaire qui permet a la fois une meilleure portabilité et l'usage d'outils propriétaires dans la compilation finale (le bytecode produit est "universel" et on peut le compiler indépendamment...)

avatar marc_os | 

@RyDroid :
Tu pourrais dire merci à Moonwalker qui a donné de bonnes raisons sur le remplacement de CCG par Apple et corrigé tes _suppositions_ fausses !

avatar oomu | 

@RyDroid

CLANG/LLVM apporte une véritable valeur ajoutée à Apple. Le bytecode intermédiaire est une étape pour permettre une certaine indépendance de l'architecture hardware sous-jacente, des optimisations etc.

Notons que la migration à LLVM de tout le stack a mis des années ce qui n'est pas rien.

Apple n'a presque pas contribué à GCC hormis la maintenance de objective-C.

-
concernant la licence GPL ou BSD comme l'explique @Moonwalker je suis moins convaincu.

Ce n'est pas "stallman" qui a "obligé" NeXT mais la licence du projet GCC qui a inévitablement obligé NeXT a publier le travail dérivé de GCC sous la licence de GCC. Ce sont les termes de la licence GPL de GCC que NeXT avait accepté en utilisant le travail de GCC pour créer leur dérivé de GCC.

Pas besoin de flutiste barbu pour les "obliger".

-
La licence GPL de gcc a toujours dérangé dans le camp BSD (étonnant non ? :) ) et bien évidemment elle enlevait un contrôle à Apple.

LLVM/Clang satisfait à la fois les cercles *BSD et Apple. Apple peut éventuellement faire une version fermée quand cela les arrange.

Depuis plusieurs versions d'Os X, Apple supprime et remplace ce qui est sous licence GPL/LGPL par des équivalents BSD. Un vrai travail de fond.

avatar bonnepoire | 

Sur Linux faut plus redémarrer!

avatar Dumber@Redmond | 

@bonnepoire :
Et ça du coup c'est un sacré inconvénient ! Et surtout un énorme reniement dans la philosophie de Windows ! Du coup je comprends que beaucoup y soient très hostiles..

avatar bonnepoire | 

Tant que ça plante m$ reste fidèle à lui-même.

avatar en ballade | 

@bonnepoire :
Tu confonds avec iCloud

avatar bonnepoire | 

C'est parce qu'ils ont une partie sur Azure! :D

avatar LordJizzus | 

Pour le dev, c'est essentiellement Bash qui me fait rester sur OS X. Avec son arrivée native sur Windows 10 et l'orientation tarifaire/matériel d'Apple, je pense que d'ici peu, Windows sera une alternative viable pour dev sur des trucs comme Rails, Redis, PostgreSQL, etc.

avatar RyDroid | 

Il y a déjà Cygwin depuis longtemps qui permet d'avoir (GNU) bash sous Windows.

avatar byte_order | 

Pas besoin d'attendre Bash dans Windows 10 pour ça, y'a déjà une solution très similaire dispo :

Babun

Depuis, j'utilise nettement moins une VM sous Windows ou un poste dédié et c'est quand même clairement plus confortable qu'une bête sessions sous Putty.

Mais comme Bash Windows 10, il ne s'agit pas d'un UNIX derrière, mais bien d'un environnement très complet d'outils Unix et un shell porté pour s'appuyer sur Windows derrière.

avatar LordJizzus | 

@byte_order :
Tu peux faire un apt-get dessus ?

avatar hawker | 

Ohlala (tachons de pas sombrer dans l’énervement) : Ça sert a rien de développer que pour Linux... ?

Si un produit ne cible pas directement 5 milliards personnes potentielles c'est stupide ? Et les usages pros qui concernent des domaines que tu ne connais pas cad 99.9 pourcent ?

Tes sites préférés tournent avec des logiciels Linux uniquement, tes films préférés sont faits avec certains logiciels uniquement Linux, les avancées scientifiques sont faites sous des système Linux, et on peut continuer longtemps... ça sert toujours a rien ?

Ps : les barbus (a chemise a carreaux, et jeans slim), ils sont surtout sur mac...

avatar Philactere | 

@hawker :
"Ps : les barbus (a chemise a carreaux, et jeans slim), ils sont surtout sur mac..."

Oui enfin là quand on parle de barbus GNU/Linux on parle plutôt de la génération précédente de barbus ;-)

avatar oomu | 

ça n'a guère de rapport avec Microsoft.

Une portion de ubuntu linux fut portée sur Windows via un sous-système qui traduit les appels linux en appels windows, le tout principalement pour permettre bas, un effort soutenu par Microsoft.

Après, forcément, sur cette base, vous pouvez recompiler le reste, jusqu'à avoir un stack suffisant pour Unity/Gnome 3. Mais à quoi bon ? le travail restant à faire pour que cela soit stable et maintenu upstream est gigantesque.

Après, les avis dénigrants sur linux etc. Vous savez.. si on traverse la cloture et qu'on va dans d'autres cercles, y a les même propos mais sur le Mac (ou Windows).

alors hein.. Gardez vos lubies, elles vous servent bien mais le monde est plus vaste que vous ne l'imaginez.

avatar lmouillart | 

"le travail restant à faire pour que cela soit stable et maintenu upstream est gigantesque." Ce n’est pas tellement le souci. Il faut aussi voir quel est le bénéfice pour les potentiels utilisateurs.
Le travail à accomplir pour créer WINE est énorme, le besoin et la demande sont là, des entreprises se sont montées autour. Le projet est solide et fonctionne.

Concernant les stacks GNOME ou KDE il y a des années les développeurs avaient essayé de faire justement des passerelles vers le monde Windows, mais elles ont vite été désuètes, et peu fonctionnelles, pourquoi ? Car le gros des utilisateurs et encore plus des développeurs en dehors de ceux de Firefox, LibreOffice, est directement sur un système libre.

Pour convaincre un développeur *nix (GNU/Linux, OS X, BSD, ...), de travailler sur son temps libre pour du Windows, il faut se lever tôt...

Une fois n'est pas coutume et je me range du coté de l'avis de foufou: "ok ça fonctionne, mais pourquoi, pour qui ?"
Il faudra voir aussi la pérennité de la solution proposé par Microsoft pour voir si de gros logiciels peuvent mutualiser plus de composants entre les *nix et Windows.

avatar SartMatt | 

"le tout principalement pour permettre bas, un effort soutenu par Microsoft."

Euh non, bash n'est absolument pas la finalité du truc. C'en était juste la vitrine lors de l'annonce. Avoir bash sans tout le reste, ça n'a strictement AUCUN intérêt. bash, c'est juste un shell, avec un langage de script rudimentaire et quelques commandes tout aussi rudimentaire. Sérieusement, les commandes built-in du shell, c'est pas grand chose... y a les structures de contrôle du langage de script, y cd pour changer de répertoire, export et unset pour manipuler des variables, eval pour faire quelques opération mathématiques, et c'est à peu près tout... tout le reste, c'est des exécutables externes au shell, même des trucs aussi basiques que ls, rm ou mkdir. Fait le test sur un shell bash, tape "which ", si ça te répond rien, c'est que c'est une commande built-in, si ça te répond un chemin d'accès c'est que c'est une commande externe... À noter que même "which which" donne un chemin externe ^^ Bref, bash seul, ça ne sert strictement à rien, ça ne fait rien de plus que le vieux shell de Windows hérité tout droit de DOS...

La vrai finalité, c'est bien de pouvoir exécuter des applications Linux sous Windows, avec un objectif de compatibilité binaire à 100%. Ça a été dit dès la présentation du projet, et c'est pour ça que Microsoft a rapidement précisé que ce sont bien tous les paquets Ubuntu qui vont devenir accessible, avec apt pour gérer les installations.

En d'autres termes, faire ce que fait Cygwin, mais en beaucoup mieux, car Cygwin ne fait que limiter les efforts de portage, mais nécessite quand même un portage (à minima, une recompilation, alors qu'avec WSL tu peux prendre directement un binaire compilé pour Ubuntu et l'exécuter sous Windows, et inversement un binaire compilé dans WSL pourra être exécuté sous Ubuntu).

avatar bompi | 

Ce que l'on peut espérer avec le bash de W10 est que ses I/O soient de bonne qualité.
Parce que c'est le défaut principal de Cygwin et que ce serait agréable d'avoir un shell efficace.

Ceci posé, avoir KDE ou Gnome sur Windows, Cygwin le permet et, franchement, ce n'est pas compliqué à installer [il y a même une application graphique pour y aider...]

À qui ça sert ? Sans doute pas beaucoup au grand public. Mais cela m'est utile parce que je suis contraint de travailler sur Windows et qu'avoir sous la main tous les utilitaires UNIX ou presque, c'est appréciable [PowerShell, c'est super mais ça ne remplace pas forcément les autres outils de scripting].

Sans entrer trop dans le détail, on peut aussi souligner que certaines bonnes applications unixiennes ne sont pas portées directement sur les interfaces graphiques de Windows (ou de macOS aussi bien) et avoir un X11 sous le coude peut être pratique.

Enfin, je vois au moins deux autres bonnes raisons :
a) cela me paraît intéressant pour l'apprentissage des futurs informaticien(ne)s d'avoir une vision de la diversité des approches et des solutions ;
b) personnellement, je trouve ça fun et ça m'amuse.

Utiliser des machines virtuelles, des espaces virtualisés ou des portages, c'est assez stimulant et AMHA cela peut aider à comprendre comment tout cela fonctionne, sans se braquer contre tel ou tel environnement/système/fournisseur.

J'ai Python3 côté Windows et Python2 côté Cygwin ; je teste mes scripts Perl sous chaque environnement ; idem pour mes documents LaTeX.
[Ça n'y paraît pas mais ça aide à éliminer des bugs et à mieux développer.]

PS : j'ai bien conscience d'être assez minoritaire, pour le coup ;-)

avatar RyDroid | 

> Qu’importe, le fait que l’on accède au Bash GNU/Linux depuis Windows 10 ouvre de nombreuses portes, et cet exemple le prouve bien.

Cette exemple montre le potentiel du sous-système Linux, pas de GNU Bash qui est un shell texte.

avatar JLG01 | 

!
Microsoft serait en train de découvrir qu'il y a un monde de stabilité à côté de chez eux!
Le début d'une révolution, grâce à une nouvelle génération de gestionnaires et de développeurs capables de tuer le père.

avatar bompi | 

Je n'aime pas Windows pour diverses raisons (encore que W10 est plutôt présentable, dans l'ensemble) mais, quand on l'utilise correctement, il fonctionne très bien.
Certes, c'est assez mal fichu par certains côtés mais dans l'ensemble c'est devenu robuste. Ce sont surtout les développeurs d'application qui sont responsables des dysfonctionnements et des à-peu-près fâcheux.

Sans oublier les utilisateurs (j'en suis un ;-)) qui font un peu tout ce qu'il ne faut pas faire.

avatar macinoe | 

La volonté de Microsoft depuis près de 10 ans me semble claire.
Faire de windows le système d'exploitation universel qui tourne sous toutes sorte de materiel ( pc, tablettes, smartphone)
Et maintenant qui puisse faire tourner le maximum d'applications y compris celles conçues pour d'autres systèmes.
A ça s'ajoute le navigateur Edge qui adopte les standard de chrome et Firefox..
Et l'achat de xamarin qui permet de faire des applications universelles aussi bien pour android, iOS que windows 10.

Les applications Linux, c'est fait.. Bientôt les applications android ?

CONNEXION UTILISATEUR