Linux on Windows 10: Will penguin treats in Creators Update be enough to lure you?
No.
The Windows 10 Creators Update is set for release shortly, and comes with significant improvements to the Windows Subsystem for Linux, also known as Bash on Windows or Ubuntu on Windows. Just to remind you, this is not done via emulation, nor by running a virtual machine, but rather by redirecting system calls. Does Microsoft …
>"I am proud of my closed mind! The fact Windows sucks is immutable, like science!"
Right, nice strawman. What is immutable is that MS is a convicted monopolist. The fact that windoze tries to fistfvck me by raping my privacy is immutable too. Your ensuing jump across those grand cayons can only be seen as a shill kneepadder rimming corporate anvs. Enjoy, but anything that is full of subcreatinous devolved 4sslickers like you, I want no part of.
In other words: do you know what sucks more than windoze? It's stupid fanboy lusers (who tell me that I'm blind and can't trust my own judgement).
>...rimming corporate... fisftf... rape...
Such rapier wit, such eloquence and careful wordsmithing. Limpid elegant technical arguments, guaranteed to appeal to reason and lead lost sheep back into the obviously warm and welcoming fold of your community.
p.s. I am already off Windows so no need to waste your precious oratory gifts on me. I have seen the light, Hallelujah.
I'm struggling to see the point of this. I can run whichever flavour of Linux that I like in VirtualBox. I tried using Hyper-V, all I can say is "just don't". That aside VirtualBox is responsive enough and connected enough to permit the use of Linux machines where one needs access to Linux tools, some bizarre MS kludge doesn't appeal at all.
Running Linux under a VM is the kludge. The Windows loader now knows how to load a linux executable natively, and the linux program runs at full native speed (no traps for emulation). This is the way that homogeneous-CPU heterogeneous-OS inter-operation should be done.
Are we seeing desktop development mirroring auto technology, where the car is the same, just the power plant varies ?
It's been a while since we've had any suggestions for a new commentard icon. So may I propose a "thoughtful beard/chin stroking" icon. As in "interesting ..."
Hope so.... lets see a proper adult desktop on our work PCs and then test the users to see which one they prefer....
Then say f*** it and throw out the windows engine and replace that with a linux one too ..
M$ should have been split into OS and application divisions a long time ago... that way we still would have office/outlook etc without the crummy OS under it
"test the users to see which one they prefer"
I can tell you right now, that your users will prefer what they're used to, and will hate any form of change.
(Then, after you've dragged them kicking and screaming onto a new system, after about two weeks most of them will prefer the new system and will violently react against any possibility of going back to the old system.)
Which might be why Office 2003 users, XP / Vista / Win 7 users prefer Linux Mint + Mate + Redmond theme, rather than "Ribbon" or Win8 or Win 10.
I was just handed another laptop that "automagically" went from Win7 to Win 10 and now hated by user. They've seen Linux Mint + Mate + Redmond theme and want it instead.
I wish I'd never admitted I knew about Linux.
"I can tell you right now, that your users will prefer what they're used to, and will hate any form of change."
Linux it is then. You can rely on it to remain a good deal more consistent. Take, for instance, the time Gnome 3 replaced Gnome 2. Almost immediately there were two workarounds, one a fork of Gnome 2 and the other to make Gnome 3 look like Gnome 2.
I hate Outlook, esp, its ability to import malware. The only reason for it is Exchange + Scheduling/Meetings/Calendar.
The last decent MS Office was 2003.
Anyway, this is hardly a new approach from MS, is the Microsoft Services For Unix reached 15 years old or is it older?
"Is the Microsoft Services For Unix reached 15 years old or is it older?"
It had XP support. And it seemed _BETTER_ (back then) than now...
Interix / SFU / SUA has gone through some minor changes (mostly the name) since XP, and it was OUT OF DATE BACK THEN, too, when it first appeared. It was purchased technology. Initially (as I recall) you could install it on pretty much any XP system, and later it requried a 'Pro' version (windows 7), and after that, just wouldn't install at ALL (win-10-nic). And they're still using X11R5 last I looked... and really out of date gcc... and I couldn't compile a number of standard libraries with it (gtk-related stuff as I recall), and so I completely gave up on it. Even the NFS share method was flakey, trying to replicate UNIX-style UID security and whatnot. A complete and total kludge. And I said good things about it in the past, too, thinking that having UNIX tools on the command line was its saving grace. Except they don't even have 'tar' (there's a 'pax' but it's kludgy). There are other non-Linux non-BSD quirks as well, but I digress...
In any case, I found CYGWIN to be 'the saving grace' for getting a command prompt that was actually USEFUL for things like ssh and rsync, just to maintain backups on another drive across the network if for no other reason.
So yeah Micro-shaft's "lipstick on a boar" would make a LOT more sense if you haven't heard of CYGWIN before.
And once they integrate ".Not" with it, that will be the 'Extend' part of 'Embrace, Extend, Extinguish', then WATCH OUT! Look what they did with POWERSHELL, and expect POWERBASH to be *NEXT* - *urp* sorry, need more pink liquid...
Can anyone with experience of both say if this environment is 'better' / 'worse' than Cygwin? I use Cygwin (including the Cygwin/X server now, since we lost support for Exceed) as my Linux-style comfort environment on Windows 7, and will probably have to update to Windows 10 at some point.
Current laptop came with Win 8.1, and there was NO way I was going to downgrade to Win 10. Cygwin has its problems because of the underlying host file system, but VirtualBox and a downloaded openSUSE iso to load into the VM does the job. Less risk than wiping the machine down and finding that linux won't install from a USB memory key (laptops with optical drives are getting rare ...)
It's better, IMHO. I have one Win10 laptop (for games) on which I've been experimenting with WSL, basically to see whether my current personal development laptop (an aging MacBook Pro) could get a Win10 successor. I like WSL a lot, so far, although some bugs have still to be worked out (Emacs in text mode backgrounds itself all the time, for example). The biggest win is that WSL (I call it GNU/Win10) is binary compatible with GNU/Linux, meaning that a WSL bash will have an apt setup pointing straight at Canonical's repositories. I never liked Cygwin's setup.exe, and that's now gone.
Pretty much the biggest thing on my wishlist is a better X server. VcXsrv does the job very well, but font management is a pain. Having an Ubuntu-integrated X server would be great. But I can totally see myself working full-time in it - for my next home system, it'd be great to have One To Rule Them All (a platform that can run games, Lightroom, _and_ all my dev tools); for my next work system, it's up to my employer - I won't pay for Apple hardware anymore as it's too locked down and the OS is crap for developers, and I can completely see me working on a work Win10 laptop. I'd prefer that over a work Linux laptop as Win10 takes care of talking to the hardware and does a way better job at it than Linux (I'm talking odd device drivers, GPU drivers, hotplugging hardware, sleep modes, etcetera - from what I'm hearing from Linux-wielding colleagues, still an unsolved problem).
Better support for porting Linux apps to Windows for sure. An example would be that Handbrake, the video compression tool can leave all their libraries (shared libraries) in native Linux format compiled with GCC or LLVM with GNU assembler optimizations while building a UI using XAML and C#. This will save thousands of hours working out platform incompatibility issues often associated with porting complex applications to Windows.
Cross compiled tool chains are another advantage. For example, one could develop code using Apple Swift for IOS development directly on Windows and thoroughly troubleshoot the code using tools like Visual Studio and then compile natively for Android.
Android is another one. It's possible to build the native Android emulator for Ubuntu on Windows allowing native access to Dalvik, GCC and LLVM directly from within Visual Studio allowing faster and more accurate memory debugging than has been possible using SSH or Cygwin/MingW implementations.
There are many reasons this is better for developers.
As for users, that's different. A user probably won't care much about the differences since it's basically the same code. It should be a bit better with the recent emergence of alternative to X11 which generally don't "remote" as well for screen mirroring.
The inability to open a locked file is a Windows "feature" -- I find it hard to believe that their linux implementation will be able to get around that.
The main problem is NTFS. Unlike linux, which can have data on disk pointed to by multiple names, so locking happens from the name(its "inode number), an offset and a range. But on NTFS, locks happen by locking the file's data on disk -- so another process trying to open the same area -- even by a different name, will hit the same lock. Also, on linux, files stay around until the last link or handle to the file is closed. All the links on the file system may be deleted, but as long as a process has that file open, that process can still see and read the original file. This makes it easy to replace in-use files -- currently running procs will keep using the old file until they are restarted. While new procs will pick up the new file. If you *want* to force all procs to update, you must restart the processes that hold on to the old file. On Windows, it seems you can't do that -- or can't determine who holds the file, not sure which -- either way, to replace an in use file on windows, usually involves rebooting the machine.
To really not be affected by NTFS's limitations, MS would have to provide some other file system that allows linux/unix-like semantics. I'd have a hard time seeing how that could be done in an emulation layer that operated over NTFS ...
Technically, opening a file on Windows only locks it if you open it in a locking mode. Open a file in notepad, then rename/modify/delete whatever you want. Windows doesn't stop you.
Presumably, what you mean is that, by default, executing a file on Windows locks it, and that the shadow-copy service or the replace-on-reboot service are common ways of replacing locked executables. And most executables that you would want to replace lock the disk copy, rather than locking a memory copy.
This hasn't been a problem for me. Which is just as well, since the unix/linux system of locking on the i-node instead of locking the locked file has been unworkable for me. When I had multiple systems accessing the files, I kept getting file corrupton and file lockups, neither of which was what I wanted.
Will make it easier to demonstrate why Linux features are better than Windows features without the hassle of a livecd.
My conversion rate should increase. I moved a dozen garden variety punters to Linux last year none of them have gone back, that said I failed 10 times because "Outlook".
I only use Windows when I have to for teaching. I use a Mac for my own development work and Linux for my server.
Running Linux on Windows will only serve to make some small tasks easier, and will also remind me why I prefer a *nix environment wherever possible. It certainly won’t encourage me to actually like Windows, or to use it with any enthusiasm.
With complete betrayal of trust in the while Windows 10 disaster, they are slowly providing a reason to prefer Windows 10 to, say Windows 8. Better still, they are clearly helping technical users to prefer *nix.
I’m not sure that’s what Microsoft had in mind, though …
"I’m not sure that’s what Microsoft had in mind, though …"
FWIW I think what MS have in mind is developers.
If they can bring developers into the fold who would normally work on OSX or Linux and get them using visual studio* then there is potential new revenue there.
* Fully expect down votes for this but VS is by far the best IDE I have ever used.
I am surprised that no one mentions the obvious, run Win10 on Linux instead. WAY BACk when, Caldera distributed "wabi" which loaded Win3.1 from your registered floppies and launched it on your Linux desktop. That was pretty amazing to see, plus Win3.1 ran faster on 32bit Linux than it did on 16bit DOS. There was a version to run Win95, but the company got bought up and it disappeared.
Microsoft is asking you to move out of your house that's served you well for decades and into a special Microsoft house that looks quite like yours except none of the doors fit properly, one of the bedrooms is missing and none of the foundations have been dug correctly.
It's more like, Microsoft are taking people who've been quite happy with their pre-fabricated, cookie-cutter homes, and adding a rustic log cabin on the back, in an attempt to appeal to the hand-built log cabin crowd, who wouldn't be seen dead in a pre-fab.
I guess in this analogy that OSX is something designed by a famous architect and BSD is equivalent to living under a bridge.
I doubt MS are under any illusions that they will convert any Linux users to windows.
It is mostly a defensive play - if you need a couple of tools, do you want to fight for a Linux install (another unmanaged VM/SOE) or are you going to just use the tools Windows comes with? The idea is to keep Linux off the radar.
It's mostly that unux users are no longer comfortable re-compiling their source for different unix platforms, and now expect linux binary compatibility.
It's also that linux has replaced BSD.
That's it. Those are the differences between the unix subsystem on XP, and the unix subsystem on Win 10.
And you rent but the landlord can come and go as he pleases, can rearrange the layout of the rooms, the presence of or armount of security at his wish and you have no chance of stopping them.
House improvements happen whether you like them or not and the only way to keep control of your property is to take it away from the street, move it away from the road completely and stop talking to all your neighbours.
"Microsoft is asking you to move out of your house that's served you well for decades and into a special Microsoft house "
That's brings back memories of the decades old Gates vs Jobs cartoon. It's still on YouTube but I'm not linking to it because the video has been copied so many times that all of the copies are awful quality. You can find it by searching for Gates vs Jobs and see if you can find a decent version.
Anyway, it has a line in it where Steve Jobs materialises an iHouse from nowhere. Gates observes that it doesn't have any windows.
"Precisely!"
Also a joke about being able to run Windows inside OSX.
Gosh, these things keep coming around again and again.
Who needs spyware, just give all you information to Google voluntarily. By not blocking Google Analytics and letting them follow you around the internet.
But oh no, it's MS you need to watch out for. They're the real baddies because of some evil shit 20 years ago. What's happening now is irrelevant.
Of course it is, why does anyone do anything? Even big open-source projects only exist to make or save their sponsors money.
And I'm so glad to see you're against spyware. I trust you don't use iOS, Android, Mac OS or a version of Linux that embeds a bunch of analytics collection either.
"a version of Linux that embeds a bunch of analytics collection either."
What would that be? Debian's popcon? The one you can select or not at install time and do an apt-get remove on if you installed it and changed your mind?
Does this Linux layer on W10 include an apt-get remove telemetry?
>" a version of Linux that embeds a bunch of analytics collection"
And what distros might those be? I'm sure you can come up with at least 5.
Oh, and no old news, those have all been removed. Current versions of current distros only.
The only one I'm aware of is ubuntu tried to capitalize on searches with amazon adverts & affiliate referal program (~4 or 5years ago). Canonical gets the blame (main ubuntu distro only), other derived distros removed that crap because they didn't get paid & had conscientious objections. The current ubuntu version is advert free. (not that I would ever use it cos I like minimalist window managers like lxde)
Besides, switching linux distros is very easy, and I can remove anything in linux, unlike windoze.
And the real point is that you're a shill for a predatory corporation (convicted monopolist) that still uses those same tactics. I won't swim with aligators, killer sharks and anvslicking pigs like you.
The only one I'm aware of is ubuntu tried to capitalize on searches with amazon adverts & affiliate referal program (~4 or 5years ago).
Ubuntu 16.04 - the current LTS - still puts the Amazon crap in. In fact, it's more deeply embedded than before.
dpkg-divert
is your friend...
Vic.
I tried it months ago, the third command I issued dumped core, so I removed it again ... not sure what command it was and no, I will not offer any help whatsoever ... I just hope Ubuntu get a share for each installation, I doubt it, they have just given their and a lot of other people's hard work to MS to market ... A silly move, dumb ? brain dead ? Worse, Ubuntu have probably killed a huge chunk of their server marketshare ...
I don't understand how MS can pull this trick again, again, and again and get away with it .... EVERY SINGLE TIME ... what is wrong with people ? MS are the lowest form of bug-purveyors on this planet, stop feeding them cash or code .... let them die, to paraphrase Linus, a painful death!
The World Won't Listen ,...
"I tried it months ago, the third command I issued dumped core"
Well, it does warn you several times that it's not production ready during the install.
If I remember rightly the feature is called LINUX subsystem for Windows (experimental) or similar.
So I wouldn't expect everything to have worked, as the article points out it's had alot of work done for the creators update but it's still in beta.
Setting asside that Microsoft is the Devil, Windows 10 is spying on me, etc., I have to use a Microsoft machine at work. When I have to do something for Linux, I have been using Virtual Box, which is a bit of a pain. More recently, I've been trying out Docker and that seems to work pretty well. The only inconvenince for me is the poor shell support (Git Bash is not a joy to use and often messes up screen rendering). If I had proper out-of-the-box bash support to use with Docker, that could be a good thing, at least for me...
You should try using msys2 with the mintty terminal emulator. This is IMHO indistinguishable from running bash (or whatever) in a "real" xterm. I fullscreen it and spend happy days in tmux, bash and vim. ;-)
Git Bash is in any case a stripped-down version of msys2, you're better off getting the real thing (which has also proper package system support).
Wow 9 egotistical bosses read that message.
Nobody in the tech world should be told what tools to use. To get the best out of an engineer the only tool you should foist on him/her is your ears. Listen them, thats why you hired them.
Engineers solve problems, thats how the good ones are wired. They're not drones.
I never let anyone tell me what to use to get a job done. If anyone tries, I explain why I use the tools I use and hopefully they understand, if not then I'm out of place there and I move on.
Remember kids, if you get brow beaten by your bosses you'll never be respected. The cornerstone of professional integrity is saying no and knowing when to do so.
Telling someone "no" when they ask you to build for / manage one technology from another technology is one of these cases.
I wouldn't pull an articulated trailer with a Ford Fiesta and I won't use Linux tools on Windows.
Articulated lorries are for trailers, Linux features are for Linux.
.... the issue with Java is exactly it can't parse anything correctly because its developers couldn't see beyond their noses.
Windows is no longer constrained to 260 characters path for a while, although you may have to enable the new behaviour explicitly:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
It will also accept / for paths....
I was tempted to downvote you for providing factually correct and interesting information plus links to external sources on a Reg anti-MS flame thread, but couldn't quite bring myself to do it... Give it time, I'm sure someone will! :)
"the issue with Java is exactly it can't parse anything correctly because its developers couldn't see beyond their noses"
WTF, java is a programming language if it can't do anything the programmer has not programmed it to do. If a developer failed to handle whitespace in input that is not the languages fault. I the case of command line args which I think you are getting at, the same issue needs to be addressed by the developer into C++, C, etc. If you had an app that took a password as an arg like
myapp.exe password with space
in c++/C you will have three args unless you do:
myass.exe "password with space"
I believe he's referring to the code within the Java standard class libraries which handles cross platform code which is the real reason Java failed as a "cross platform tool". Between file processing and AWT, then SWT and Swing, Java has been a frigging nightmare for developers. It may have improved since I ran screaming from it, but I grew awfully tired of screwing around rewriting half of Java every time I tried anything because the Java implementation was broken and due to sealed classes, it was nearly impossible to make anything work without starting over.
Remember the worst thing to ever happen to Java was to name the language, the intermediate language, the run time, the class libraries and the platform as Java. Because of this, the even Oracle management doesn't understand what something like DalvikVm or SWT is and how it fits. Closure straight out baffles them since it's a non-Java language running on Java and that's confusing.
"Windows is no longer constrained to 260 characters path for a while, although you may have to enable the new behaviour explicitly:"
Did someone tell explorer? I had this issue with explorer on win 7 enterprise last week trying to copy a java source tree onto a USB drive, had to use cygwin.
"You mean, 'and finally figured out that they couldn't resist it'"
You're confusing resistance with the outcome.
You can resist anything, whether that resistance influences the end result is another matter.
I don't see why so many people are complaining about this, it's a good thing, it brings Linux to windows opening up more opportunity for us all. No one went mental about wine allowing Windows apps on Linux.
Having used linux for so long now I am always typing in 'ls' rather than 'dir' and other stuff in to the windows shell by mistake. Having those types of linux commands working in a windows terminal would save me having to re-type a few things and eye-rolling at myself.
Forget all that important stuff like services compatibility, running web servers and vi kung-fu. 'ls' and ignoring the slash direction would make me a happy bunny :)
Your getting old! You can re-write commands you keep accidentally typing so they call the windows equivalent. Just remember not to try and pipe/tee them all together - I haven't been on Windows for a while but they seemed to go out of their way to make that as unproductive as possible.
... GCC and gdb and everything else that comes with Linux just by installing Linux and not having to deal with Windows 10 at all.
Oh, I almost forgot: on Linux, I can also compile Linux binaries directly, with GCC, or clang, and I don't need to bother with MSVC. Or Windows 10.
So what exactly is the point of Windows 10 here.
If the business you develop for is a Windows shop then there's a good chance they rely on Outlook for more than just email. This means that you need to run Outlook so the business can invite you to pesky meetings and the like. This pretty much means you have to run Windows. Having something like this would make development on Windows for anything that isn't a Windows app a whole lot less painful and so is a good thing.
> If the business you develop for is a Windows shop
It's not.
If it were a Windows shop, I wouldn't need to install or run Linux. I would only need Windows.
Which makes the whole Linux-inside-Windows-10 100% pointless. Save for Microsoft's bragging rights that one can now run bash in Windows. Woo-hoo!
Oh sorry, I hadn't realised your question related only to your own particular circumstances and that you already had the answer anyway.
Can you not imagine a business that has users running Windows desktops and servers running on *nix boxes?
I suspect your original question was rhetoric.
> Can you not imagine a business that has users running Windows desktops and servers running on *nix boxes?
Yes, I have worked in environments such as the one you describe. We all had a Windows PC and a UNIX or Linux Workstation.
The Windows PC was used for Windows matters exclusively. Namely Microsoft Orifice and Outlook. The work that made the company earn income and make a profit - namely writing, buiding and testing software - was done on the UNIX or Linux Workstation.
HTH.
@st
Well, yeah.. except for docker, node and a whole host of other development aids and tools.
Funny that windows shops seem to be the more open minded when it comes to selecting a toolset.
Personally I'll choose a tool based on its ability to serve its purpose, that means that I use visual studio alot and jummp into a Linux VM when needed.
Now I can ditch the vm.
If your happy with just Linux good for you, but don't whine because other people find something else useful.
> but don't whine because other people find something else useful
I'm not whining, I am questioning the wisdom of embracing the latest pointless Windows 10 bloat with such ease. Because it wasn't bloated enough to begin with.
So now you can run bash in Windows 10. Wow.
@ST
"I'm not whining, I am questioning the wisdom of embracing the latest pointless Windows 10 bloat with such ease"
The whining comment was more general directed at others commenting, however you are complaining about something that doesn't really affect you... that's whining.
"So now you can run bash in Windows 10. Wow."
Like I said, maybe you don't find this feature useful, others do.
Question the wisdom all you like, different people like/need different things, you are obviously happy using linux - good for you. Personally I wont limit myself to one specific tool based on who created it, Ill use what I need to use to achieve my goals - Microsoft just made my life easier because I only occasionally need to jump into linux - now I can do it without taking my hands off the keyboard.
As I have pointed out to someone else - WINE exists for linux, so the linux community obviously saw the benefits to being able to run windows applications without the need for a separate machine or VM... I don't remember anyone complaining about that, this is really no different.
It has the best IDE?
Go on, suggest a better one. Last time I asked this question on a linux thread I got short shrift and no suggestions (other than the IDE bombastic bob was building himself). What's the open source Visual Studio beater?
Linux was written without an IDE. So were the BSD's, and the comercial UNIXes.
There really isn't one. Maybe Code::Blocks? It's decent, although I confess I do not use it. I tried it, along with some others - Qt Creator - and I gave up. Every single time I tried using an IDE in Linux I gave up after one hour. They all made me unproductive, annoyed at the bazillion options and plugins, and slow.
And the main reason why there isn't a good IDE for Linux is: there is no need for one. Not when the two tools used to write and build software in Linux are either Emacs or Vim and GNU make.
You can have GVim - which is the Gtk+ interface to Vim. If you really need graphical bloat and all kinds of other distractions to write and edit what are essentially text files.
Yes, you need to know how to write Makefiles and how to switch between buffers in Vim or Emacs. You really do not need dancing dinosaurs rendered in 3D OpenGL - sorry, DirectX - to watch the output from GNU make.
There's a big difference in writing low level code, usually of relatively limited size, often very well compartmentalized, and without a GUI, like an OS kernel or a library, and very large, complex applications often with a GUI (and all the external resources it means) and a lot of user interactions.
The reason there is not a good IDE for Linux is the same reason there aren't good GUI application (but a very few) for Linux, and why Linux never became a good desktop OS.
It's not just the build process, it's also the whole code navigation/management/deployment, GUI design, debugging and profiling needs.. It's not surprise I still catch many Linux developers using "printf()" debugging - because even using GDB is too much for them...
Also, there's a reason why people use Autotools and CMake, because but for very simple applications, writing and keeping up to date makefiles is not a simple task either.
Then a lot depends on what kind of applications you write. For many, an IDE really mans increased productivity - while vim or emacs would just get in the way, and you would spend more time fighting to manage your code than writing it.
MS crippled Visual Studio years ago with three incompatible forms/Windows API/Toolsets and death of VB6. Yes, C# is nice if you want a C styled VB, or Microsoft's concept of Java (that's what it was developed from).
The "Universal App" is a broken idea. What suits a TV screen, phone, tablet and desktop/Laptop is all different, or far more would have been in Java more than 10 years ago (I've written apps in Java then that worked, looking native on Linux or Windows or a tablet etc 10 years ago).
@sabroni
"What's the open source Visual Studio beater"
I'll expand that, not just open source.. any IDE?
VS is THE killer app for me, everything else I could do without but over the years I've tried many different IDEs and nothing comes close.
At this point I'd really like to put the animated gif of Dennis Nedry and Dodgson at the cafe, alas we cannot upload images (Probably for the best).
Instead, Ill just have to say:
"Hey everyone, we've got a Linux user over here"
"A LINUX USER"
...
"See nobody cares"
Ok, I'll be pedantic and point out that there's no Linux in this. Linux is just a kernel, which MS has no reason to port, they already have a perfectly good kernel. Instead, they converted the GNU userland to work with the Windows environment. So, it's really just GNU/Windows, no Linux here; definitely no Linux on the desktop.
Well, its official now, we can bash Windows !
Its not like anyone has been doing this before and I can't see those who like the far more complete Virtual environments or Cygwin layers wanting to move away in case MS change their mind next week.
They did the same before when they thought other OS's were a threat, (OS/2, Unix), then quietly deprecated them when they thought they could get away with it. The re-introduction must mean that they are worried by Linux (ps its too late MS you f***ed your customers over and they have long memories). They also did the same with other CPU technologies before killing those off too. Linux by comparison still works and has builds for all those CPU families - the word "stability" seems to be appropriate here - There is none in Microsoft's world.
My machines work the other way around, I get real, full fat bash with all the other tools and everything works like it should. I've not had any cases where things weren't how I set them yesterday nor the need to fully re-install the OS every 3rd Tuesday due to the latest beta.
Its easy. Some know they are being shafted by but cant afford to do anything different.
Some were conned by Windows 8 / 10 and won't be replacing with a Windows machine on the next refresh - this is why the PC market is in steep decline and more move to tablets and phones.
Some are locked in corporate customers who are minimising their dependencies on Windows.
Some are die-hard Windows supporters who have not looked outside their windows yet..
Others have already left the building and are happy on a PC that does what they want - e-mail, Internet, a couple of letters, perhaps a bit of financing and one or two critical apps for their hobbies.
One thing is certain, MS aren't adding bash because they are trying to be nice. If their command prompt or powershell thing did as people needed, then people wouldn't want bash, but it seems that they do.
So, how do you explain MS's reasoning for adding it in ?
I can understand sticking with a Windows Shop if you already have it.
I can understand ditching a Windows Shop and switching to Linux.
What I can't understand is ditching a Linux Shop and switching back to Windows.
It must be a new disease - Microsoft Munich madness.
WSL doesn't work as well as Cygwin; these changes will close the gap somewhat but WSL still has a long way to go. If you have Cygwin on your system suitably pathed then you can use generic Linux shell commands from the windows command shell, in fact you can mix 'n match them to your heart's content. This has implications for scripts, both Bash and for scripting languages like TCL.
(So you can happily type 'ls', 'rm' and so on from the Windows shell -- forget Powershell, waste of space.)
I tried WSL but found the lack of interaction between the Linux subsystem and Windows system rendered it unusable. Even the filetypes don't match -- you can't copy between the filesystems using Windows or Linux tools, you end up with corrupted files. For now I'm better off with Cygwin, virtual hosting or a separate machine.
Probably considering it an "aggregate". They could still need to release of the compatibility layer as open source, and because GPL has explicit exceptions for linking with system and compiler libraries, MS has no obligation to release them under the GPL.
Outside that, the GPL is still a "cancer" for any other application that is linked with GPL code if it is against your interests to release the source code.
I took WSL (Windows Subsystem for Linux) for a test drive.
I followed the installation instructions and got a working bash prompt. Poking a bit around seemed to work fine. This is arguably impressive.
The first thing I tried was updating the packages with apt. That worked, but drew my attention to the fact that this is running Ubuntu 14.04 which is basically ancient. Upgrading to 16.04 is currently emphatically *not* supported.
OK, so we are Linux users, we can compile our own software. I downloaded the Python 3.6.0 source code and tried to compile it. The first thing to notice is that unpacking the archive is slow. File system performance seems to be really slow. As in, "slower than in a VM on the same machine". To be precise, unpacking the archive took 1.5 MINUTES in WSL and 2.8 SECONDS in a Ubuntu VM on the same machine.
This is really ridiculous and at the moment undermines any practical reason why you would want to use it.
I tried compiling Python. Unfortunately the compilation seemed to hang somewhere. I let it run overnight but it made no progress. The "top" command doesn't seem to work properly and shows 0% for all processes, so didn't manage to find out what was going wrong. In the end I abandoned the effort.
SUMMARY
Microsoft says it is in beta, and they are not joking. At the moment, there is no reason, stability-wise or performance-wise, why you would prefer this over a VM. The question is if this will improve. Microsoft made the IMHO questionable design decision to emulate a Linux filesystem on top of NTFS. VMs don't bother with that, they just use a big file as a virtual disk.
If they cannot bridge the performance gap, then I don't see this going anywhere.
@stephanh
Do me a favour. Read the article. Read the installation instructions.
Read the name of the feature in the add windows features dialogue.
ITS STILL A BETA. It tells you this repeatedly during the install, its mentioned several times in the article,
Finally, some light reading, stick it out to the end
https://www.linux.com/learn/howdy-ubuntu-windows-how-fast-it
Our "home desktop" computer is actually a Linux hypervisor , running 2 instances of Windows 10 under kvm (with vfio GPU passthrough, so it looks like "native Windows" to anyone using it). This was done to enable me to use ZFS as an underlying filesystem both for Windows system (ZFS volume, which I'm snapshotting regularly) and for user files (ZFS filesystem, shared via Samba). I am able to connect to this "home desktop" from my BB phone when I'm on the run via ssh, but only on the hypervisor level. I am unable to connect to guest VM because, surprise, Windows does not have ssh daemon. With this new feature I expect to be able to setup an ssh daemon inside guests, and hopefully also make it work with Kerberos tickets (that's how I use Samba for authentication both to Windows and to Samba shares) and with X11 forwarding. This could be useful. Oh BTW there is also Linux guest which obviously I can ssh to.
Last I checked there were some issues with file system related weirdness still. Particularly symbolic links that are used a lot in many linux/mac based developer tools (e.g. node.js) are problematic because NTFS has no such thing. I know at least one developer that 'upgraded' his laptop to run linux properly after messing around with half broken stuff for ruby, docker and node.js on windows. It just wasn't ready for any serious full time use as a developer environment for him and working around the issues was a major distraction. All that in principle should be fixable for MS but fundamentally raw NTFS just doesn't cut it for more complicated things that just work on linux and mac file systems. The hacks that you need to use to work around that can cause a lot of headaches as well. OSX has its own quirks of course but it has been a known quantity for a long enough that most relevant OSS just supports that as a build target and first class supported platform. If it doesn't work on a mac, it's basically not likely to be very mature, stable, or widely used.
I'm still on a nice mac book pro that has served me extremely well for nearly four and a half years now. Quad core, 16GB, SSD, decent setup in other words. I'm not aware of a lot of windows based alternatives that I could have bought that I'd still be as happy with using today. If the new macs weren't such a downgrade from what I have (crippled keyboard, no ports, same max memory), I'd have already bought one.
What sold me on macs back in day when I gave MS the middle finger after years of appalling performance, crashes, and corporate bloat ware was not OSX itself but the fact that it is a UNIX derivative that runs essentially everything I need and care about for server development, has a decent enough UI that works out of the box without endless tweaks, driver installs, reboots and configuration, and comes with a nice quality hardware package. With recent improvements in docker support, my workflow has gotten a lot better even. I can basically just launch our production docker images on my laptop in a terminal; or build them locally from scratch for testing and development.
Crucially, docker is also working pretty well on windows these days but mounting docker volumes you still hit NTFS limitations. MS needs to come up with a fix for that.
I do not use this ability much (prefer native Linux stuff), but check "mklink /?" on your Windows 10 machine. It clearly says it will create a symbolic link, either file or directory one (depending on /D switch). Also hard links are supported, and a junction (closest UNIX equivalent is probably a mount point)
I sailed on the Linux ship some years ago, and do my best to avoid ever touching Windows . ( XP was the last version of Windows I used a lot )
Its only close family with Windows machines (asking for tech help) that means I have any clue what Win 10 looks like,
What does Win 10 look like (to me) ? It looks like a bunch load of designers got Windows 7 (which actually was okay) and put layers of dross on it, and moved all the important stuff around so that I can't easily find it .
So why I'd ever want to run Linux inside Windows sure beats the hell out of me. I'd rather just boot Linux ...
I've been using bash on Windows via the Anniversary update for a while now, and have had fairly decent results with it overall. That said, on it's own, it leaves much to be desired... but it wasn't designed to be a complete Linux distribution running under the Windows hood to begin with, so what it does has been acceptable to me as I determine whether to do anything at all with it... meanwhile, I have more than enough Linux systems (workstations and servers) to take care of my needs there while MS does whatever they do.
I had been using apt and aptitude for software management, but tonight I'll install an Xserver, Mate-Desktop (from source, if necessary), and Synaptic to see what I can get it doing once it has a fill environment under it. I would have done this sooner, but PSVR has been eating up all of my time lately. :)
I bought a laptop with Windows 10 on it recently (upgraded from Windows 8.1). I sacrificed a 16Gb USB memory stick for a recovery disk and made an image backup and wiped it and replaced it with my currently preferred Linux (Mint).
I simply have no reason to use Windows 10. I run Windows 7 on an older laptop for a few things I don't have open source alternatives for yet, but nothing really all that important. Most things run under WINE. I don't even need Play On Linux. I'll virtualise at some point.
Windows, it was a good innings. BYE.
Windows is good OS from the technical standpoint, there is no doubt about that. Unfortunately there are ethical as well as private/personal concerns that make Windows simply not a viable alternative for me. I do have it installed, and I do boot into Windows from time to time, but it's mostly to do my consulting work for customers that use exclusively Windows. Personally Linux is my OS of choice for all private and home use. Unless Windows goes fully open source, it will never be an alternative. I don't exclude that will someday happen, but I am neither sure it will.
For me there is no reason to use Bash on Windows either. In those rare cases I develop on window and am not forced to use MS tools (I do office and automation development), I am fine with msys and windows ports of linux applications. For the most part all my hobby/private development is done under Linux and there really is not reason to do development on windows in my eyes.
It's like comparing a Ferrari to Volvo. Sure a Ferrari might be flashy (I wouldn't say better), but a Volvo is nice too and does the jobb required just as well.
Now all we need is some one to write a Windows pop-up which detects the use of the Ubuntu desktop running on WSL, and it pops up saying something along the lines of, "We can see you like using our Linux demo, Microsoft recommends installing an official Linux OS for complete freedom. Click here to download and install..."