WSL je tvořeno soubory lxcore.sys a lxss.sys a je přístupem podobný jako WINE, jen naruby.
Cim presne je to podobne? Na WINE si pustim jeden konkretni program, treba Minesweeper z Widli. Kdyz si budu na Widlich chtit pusti nektery Minesweeper z Linuxu, budu si kvuli tomu muset pustit cele Ubuntu?
Na druhou stranu se tim oteviraji nove, necekane moznosti: Na Widlich si pustim Ubuntu a na nem pod WINE Minsweeper z Widli. Obracene to nejde, z cehoz je doufam kazdemu jasne, ze Widle 10 je mnohem lepsi system.
Jiste, ale k cemu je dobre si na tom poustet cele Ubuntu??? V cem je to lepsi, nez si pustit Ubuntu rovnou z dual bootu? Aby to diky Widlim vespod bylo stejne pomale a nenazrane, jako samy Widle? Aby se to cele samo restartovalo, protoze se Widle rozhodly, ze je cas dokoncit instalaci tech dnesnich 174 updatu? Nebo aby mi viry z Widli mohly sezrat linuxove soubory?
Článek hlásá "Ubuntu poběží nativně na Windows".
Přitom v tom odkazovaném zdroji je docela jasně napsáno toto:
"Right, so just Ubuntu running in a virtual machine?" Nope! This isn't a virtual machine at all. There's no Linux kernel booting in a VM under a hypervisor. It's just the Ubuntu user space.
"Ah, okay, so this is Ubuntu in a container then?" Nope! This isn't a container either. It's native Ubuntu binaries running directly in Windows.
"Hum, well it's like cygwin perhaps?" Nope! Cygwin includes open source utilities are recompiled from source to run natively in Windows. Here, we're talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows.
Jak to chápu já, tak do těch widlí "jen" naportovali bináry cmd utilit, které dělají unix/linux tím, čím jsou a které v tom pseudosystému chybí.
Teda nechybí klasickému klikacímu bfu...
PS:
http://www.hanselman.com/blog/DevelopersCanRunBashShellAndUsermodeUbuntuLinuxBinariesOnWindows10.aspx
http://www.theverge.com/2016/3/30/11331014/microsoft-windows-linux-ubuntu-bash
https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/
Protoze podle vseho nadpis je zcela zavadejici kyd. Clovek si musi precist odkaz, aby se dozvedel, ze se jedna akorat o userland utility, nejspis jen CLI. Takze zadne Ubuntu. Krome toho ani nechapu, proc autor te prekladove vrstvy mluvi o Ubuntu userlandu, kdyz se jedna o stejny userland, jako v kazdem jinem distru. Nevim o tunach utilit specifickych pro Ubuntu, kterymi by nahradili userland, aby meli vlastni.
kydas leda tak ty a to komentare bez premysleni...
instalovat budes sadu binarek zkompilovane v/pro Ubuntu, dalsi umistene v/z Ubuntu repozitari, projekt vznikal ve spolupraci s Canonical, co na tom nechapes? prestan tu averzi zalejvat tolik chlastem, uz ti z toho fakt hrabe ;)
Nadpis jednoznacne tvrdi, ze Ubuntu pobezi na Widlich. Pak se ukaze, ze tam pobezi par CLI binarek. Coz je zprava, jak z Radia Jerevan.
Otázka na Rádio Jerevan:
„Je pravda, že kosmonaut Gagarin vyhrál v loterii automobil?”
Odpověď: „Ano, máte naprosto pravdu. Nebyl to však kosmonaut Gagarin, nýbrž učitel Afanasij Krivošejov, a nevyhrál automobil, ale ukradli mu bicykl.”
mozna by stalo za to si to nejdriv precist? neni to par binarek, je to cely ubuntu 14.04LTS rootfs (identicky s tim co bezi pod linux kernelem) vcetne funkcniho apt-get, takze funguje cokoliv cemu staci terminal. A ostatne kdyz clovek vezme nejaky x-server tak neni duvod aby nefungovaly i graficke aplikace
rekl jsem neco uplne jineho :-)
pro me treba Ubuntu znamena Ubuntu server cili to co funguje je kompletni Ubuntu jak ho pouzivam ja (napr v Azure), pro tebe asi podle tech natvrdlych reci Ubuntu znamena hlavne klikani mysi, no tak to bys asi potreboval doinstalovat X server a treba Firefox pak pojede taky
No, já nevím.
Second, while you’ll be able to run native Bash and many Linux command-line tools on Windows, it’s important to note that this is a developer toolset to help you write and build all your code for all your scenarios and platforms. This is not a server platform upon which you will host websites, run server infrastructure, etc. For running production workloads on Ubuntu, we have some great solutions using Azure, Hyper-V, and Docker, and we have great tooling for developing containerized apps within Windows using Docker Tools for Visual Studio, Visual Studio Code and yo docker.
https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/
No tak asi nikdo neceka ze bude diky tomu z notebooku hostovat produkcni webovou aplikaci pro uzivatele, ale jako vyvojar ji muze u sebe vyvijet a testovat. K tomu prave vyvojari dnes musi mit na notebooku virtual treba s Ubuntu a je to pekny opruz mezi tim furt prepinat. Tohle usetri hodne nervu, kopirovani, RAM, diskoveho prostoru, ... na nejake Ubuntu GUI ti v tomhle pripade sere bily tesak :-) Kdo ho chce tak muze prece vynechat ty Windows uplne ne? Nebo to jet ve virtualu se vsim vsudy.
komunikace s X servrem je ciste TCP/IP a pouziva syscally open/close/read/write/epoll/select to se blokuje dost tezko :-) Taky to jde trunelovat pres ssh.
Treba takovy x2go client je prekvapive rychly i tunelovany pres ssh. Pouzivam nejakou dobu x2go prave na ubuntu VM v Azure a treba Firefox v LXDE desktopu vzdalene (do North Europe) je celkem pouzitelny vcetne scrollingu stranky plne obrazku, nechapu jak to dela :-) Ale treba Chrome je ve stejne situaci uplne tragicky.
Ale jestli pod pojmem graficka aplikace nekdo mysli 3d akceleraci tak to samozreme nebude uplne trivialni ale taky nemyslim ze by to neslo obejit kdyby o to nekomu slo.
Ten zpusob jak to Microsoft ted planuje omezit je ze musi mit v tech windows clovek zapnuty developer mode, coz asi cekaji ze vetsina beznych uzivatelu mit nebude.
Ale to ze pokud to MS zacne vadit tak to utne, o tom zadna - to jsou windows 10 a jejich aktualizace s nabidkami ktere nelze odmitnout :-)
klient je treba firefox binarka v tomhle divnem Ubuntu, server je treba Xming nebo Cygwin/X ve windows na tom stejnem pocitaci, ti dva se spolu bavi pres TCP/IP na 127.0.0.1, firefox si pomoci Xlib v Ubuntu otevira TCP/IP socket na 127.0.0.1:6000 a pres nej vsechny data tlaci, jak tohle lze blokovat pokud chci zachovat sitovou konektivitu ven z toho ubuntu?
moc nechapu jak by sis predstavoval ze fungujou ty "grafické aplikace přímo nad tím microsoftím subsystémem", ktere konkretni graficke API ze strany linuxu mas na mysli? Jak si predstavujes ze by to mohlo fungovat lip? Ktere presne API bys cekal ze ten "microsoftí subsystém" naimplementuje a bude to super?
Treba Xming je dost maly a jednoduchy - zabira jednu ikonu v taskbaru a umi multiwindow cili kazde okno X aplikace je samostane okno ve windows takze na prvni pohled nepoznas ze to okno firefoxu bezi z toho ubuntu a neni to nativni windows firefox, co muze byt min opruz a jak lip by to jeste slo?
Kdybys treba emuloval framebuffer /dev/fb0 tak by linux byl zvlast na sve vlastni plose, to je podle mne prave ten opruz. Ja chci alt+tab do nativni vindows aplikace a alt+tab zpet do linuxove. nebo si je data vedle sebe a pouzivat clipboard.
Neni. Jak to bylo oflastrovane a zkompilovane je uplne jedno. Porad je to stejna utilita, ktera se chova tak, jak pise man v Ubuntu i jinde. Na vsech distrech uplne stejne, mozna s malymi odchylkami podle verze. Ucelem tech patchu neni udelat z toho neco Ubuntu specific, ale naopak zajistit to, aby se to chovalo civilizovane a stejne, jako jinde. BTW, pokud jsou v Ubuntu nejake prasarny, kvuli kterym se to musi patchovat oproti verzim z jinych dister, tak je neco spatne. Na zaklade toho by se tomu dalo rikat leda tak Ubuntu specific prasarna, cimz bych se radsi nechlubil.
OMG, ty ses zabejcenej!
Proste kdyz
1. na Ubuntu spustis "sha256sum /bin/ls", tak ti to vrati treba ABCDEF...
2. kdyz totez spustit na CentOSu, tak dostanes 123456...
3. na tady tom "Ubuntu na Windows" dostanes ABCDEF...
Ergo: na tech windowsech bezi UPLNE STEJNE binarky jako na Ubuntu 14.04, cili PRove receno je to "Ubuntu na Windows" a NENI to "CentOS na Windows".
Je to fakt tak tezky prijmout?
Aha a z toho, ze mi vyjde jinak hash mam jako dojit k zaveru, ze se jedna o uplne jine binarky pochazejici z totalne odlisneho zdrojaku? Na to, aby mi vysel jiny hash, uplne staci, abych pri kompilaci zmenil nejaky flag compilatoru. Nebe jeden trivialni patch, treba pridani jedne mezery do vystupu, dosahne toho sameho i pri pouziti stejnych flagu.
ne, znamena to ze budes mit nainstalovane Ubuntu a pri startu se ti bude poustet Ubuntu a az nastartuje tak ti pobezi na tvem HW nativne Ubuntu...
btw: ten Firefox si pletes s Debianem, tam je(byl) Iceweasel, takze by jsi Debiani balicek instaloval do Ubuntu systemu, kde jiz mas primo Firefox k dizpocici, takze asi blbost ne ? ;)
Ale k cemu by komu bylo poustet si na Widlich Unity a v nem nejake ubunti aplikace? Akorat to sezere vice zdroju a rychlost bude jeste horsi, nez hole Widle. To by se mohlo hodit leda par lidem, kteri opravdu potrebuji provozovat widlacke a Linuxove aplikace soucasne. Na to by si ale museli koupit jeste nadupanejsi masinu, nez na samotne Widle a kdyz uz si takovou koupi, tak nevim, proc by se nevydali bezpecnejsi cestou virtualizace Widli na Linuxu.
Nejake ty CLI binarky se ve Widlich muzou hodit. Takovy wget nebo rsync, napriklad. Ale jak by nekdo pouzil cele Ubuntu? Zatim je situace takova, ze nektere programy, ktere existuji pro Widle, v Linuxu chybi. Ale opacne tomu tak zrovna neni.
http://fossbytes.com/microsoft-canonical-bring-ubuntu-linux-on-windows-10/
This combination of Windows 10 and Ubuntu will be aimed at developers. Linux fans shouldn’t expect Ubuntu to come along with its Unity interface. Instead, it’ll rely on Bash and CLI tools like make, gawk, and grep. Having said that, Microsoft’s target audience are developers, not desktop users.
To chápete úplně špatně, protože toho o Windows moc nevíte. Windows NT jsou od začátku psané tak že mají NT kernel, a nad ním mohou běžet různé subsystémy. Standardně se dodává Win32 subsystem, plus se dříve dodávaly OS/2 a POSIX. Subsystem na jedné straně používá služby kernelu, na druhé straně nabízí API aplikacím.
POSIX subsystem byl už někdy v době NT 3.51 certifikovaný jako UNIX. Dnes nehovoříme o POSIXu, ale o Single UNIX. POSIX subsystem se také párkrát přejmenoval a přidal nové features. Technicky vzato není problém přeložit unixovou aplikaci pro Windows, pokud se drží POSIXu.
V praxi je to ale složitější, protože POSIX toho moc nepopisuje, Unixy implementují řadu věcí které ve standardu vůbec nejsou popsané, a aplikace s těmi nestandardizovanými featurami počítají. Linux jako takový navíc není POSIX compliant.
V případě Windows Subsystem for Linux jde MS ještě o krok dál. WSL je binárně kompatibilní, takže pak lze běžet neupravené binárky z Ubuntu. Ve výsledku máte puštěný Ubuntu userland, takže funguje například i /proc. Jsem zvědavý, jak se MS popere se zařízeními. Rozběhnout například nativní unixový X11 server bude asi dost obtížné (a ne že by to bylo technicky nutné).
Nějaké zdroje:
https://channel9.msdn.com/Events/Build/2016/P488
http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html
Drobné technické poznámky:
> Linux jako takový navíc není POSIX compliant.
Linus to komentoval tak, že pokud jsou některé části POSIXu chybně navržené, tak se jím nehodlá řídit. Je to záměr. Nehodnotím, konstatuju.
> Ve výsledku máte puštěný Ubuntu userland, takže funguje například i /proc.
/proc s userlandem moc nesouvisí, vytváří ho kernel
> Jsem zvědavý, jak se MS popere se zařízeními. Rozběhnout například nativní unixový X11 server bude asi dost obtížné (a ne že by to bylo technicky nutné).
U obojího předpokládám, že nijak. Co jsem zatím slyšel, cílem je umožnit vývojářům spouštět CLI utility a pohodlně je instalovat, aby neodcházeli na MacOS a Linux. X11 není prioritou a Microsoft nejspíš nemá žádnou motivaci, aby fungoval.
Ad Linus to komentoval tak, že pokud jsou některé části POSIXu chybně navržené, tak se jím nehodlá řídit. Je to záměr. Nehodnotím, konstatuju. - jj, vím o tom. Samozřejmě můžeme diskutovat o tom jestli ten či onen standard nebo jeho část má smysl, a jestli je nerespektování a ohýbání standardů dobrý nápad. Pro většinu diskutérů zřejmě bohužel závisí prvořadě na jejich postoji k tomu, kdo nerespektuje a ohýbá :)
Ad /proc s userlandem moc nesouvisí, vytváří ho kernel - no jo, pravda. BTW /proc je zrovna ukázkou toho jak se Unixy liší. POSIX ani Single UNIX /proc vůbec nepopisuje, některé Unixy ho nemají, jiné ano, ale kompatibilita žádná.
Ad devices, X11 - souhlas, je to nepravděpodobné. Samozřejmě není problém rozjet X11 server pod Win32, a s ním by mělo jít používat nativní pro Ubuntu. Takhle jsem používal Services for Unix. Pokud jde o cíl celé akce, tak bych to viděl spíš na možnost běžet na Windows nativní Ruby, Python atd. Ale samozřejmě je to kočkopes, protože ty aplikace jsou psané úplně jinak než pro Windows, vidí jinou strukturu FS, mají jiný oddělovač adresářů, jiná pravidla pro pojmenování souborů, používají jiné IPC mechanismy atd.
Ne.
Environment subsystems include POSIX, OS/2 and Windows subsystems. The Windows subsystem major components consists of the environment subsystem process (Csrss.exe which you can see tuning in the task manager), the kernel-mode device driver (Win32k.sys), subsystem DLLs (such as Kernel32.dll, Advapi32.dll, User32.dll, and Gdi32.dll) and Graphics device drivers.
https://blogs.msdn.microsoft.com/hanybarakat/2007/02/25/deeper-into-windows-architecture/
rozhovor s vyvojovym tymem od Canonical
https://channel9.msdn.com/Events/Build/2016/C906
myslim ze zminili vsechno podstatne co by koho mohlo v tuhle chvili zajimat
GUI je v tuto chvili out of scope