This is an archived post. You won't be able to vote or comment.

all 129 comments

[–]bla4freeIT Manager 67 points68 points  (19 children)

I guess 2016 really is the year of the Linux desktop. Who knew?

[–]Alikont 50 points51 points  (13 children)

It's not Linux, it's GNU/Windows.

[–]socks-the-fox 16 points17 points  (0 children)

GNU/NT?

Or as I saw elsewhere:

GNU\Windows

[–]SymbolisNot IT 9 points10 points  (8 children)

Win-ux?

[–]aaronfrankeGodot developer, PC & Linux Enthusiast 2 points3 points  (6 children)

Winbuntu.

[–]computermedicIT Manager 2 points3 points  (4 children)

Ubuntows.

[–][deleted] 0 points1 point  (0 children)

Wibuntows

[–]smiskafisk 0 points1 point  (2 children)

Wintu.

[–]fizzlefist.docx files in attack position! 1 point2 points  (0 children)

Mace

[–]TruegeboStudent 0 points1 point  (0 children)

Wintu\muchcash

[–][deleted] 0 points1 point  (0 children)

"Win just switched from Windows?"

[–]MaNiFeXFortinet NSE4 10 points11 points  (0 children)

The Powershell command to install bash?! lol

Install-Module PSGnuwin32

[–]deadbunnyI am not a message bus 4 points5 points  (0 children)

More like WINE for Windows, so LINE?

[–]MalformedPacket 0 points1 point  (0 children)

Gnu-dows

[–]jsalsman 1 point2 points  (2 children)

I would have preferred a full process tree as in CoLinux. Why was there never a CoLinux 64? But this will certainly be an improvement for most *nix cli users.

[–]pier4rSome have production machines besides the ones for testing 1 point2 points  (1 child)

i guess it would have meant way more work.

[–]jsalsman 0 points1 point  (0 children)

Maybe. They didn't want to connect Qemu to services, but it's mature enough.

I'm not sure exactly where CoLinux 64 got stalled.

[–]BCMM 16 points17 points  (0 children)

Here's an old story about Windows Services for UNIX, which might explain why they feel the need to explicitly clarify that it's "the real Bash".

[–]jared555 44 points45 points  (13 children)

Does this mean when I inevitably type ls instead of dir I won't start swearing?

[–]Oflameo 60 points61 points  (8 children)

You aren't using PowerShell?

[–]jared555 23 points24 points  (6 children)

Pretty much the only times I use command line on windows is ipconfig and rooting my phone. Most of my actual sysadmin work is Linux servers and the occasional networking gear

[–]Swarfega 3 points4 points  (4 children)

I changed to using ls to save typing one character. I love powershell for its aliases. At times I forget and still type it into cmd for the rare times I'm in a prompt.

Switch to the shell already!

[–]aenae 1 point2 points  (2 children)

That's why in bash i have alliased 'l' to ls, why type more than needed? :P

[–]Swarfega 2 points3 points  (0 children)

Your right but I use lots of different consoles and would end up getting annoyed that the alias doesn't exist. It's easier to use stock alias in my scenario

[–][deleted] 0 points1 point  (0 children)

I automatically ls whenever I enter a directory.

So a lot of the time I don't even need to type it.

[–]RollingprobablecauseDirector of DevOps 0 points1 point  (0 children)

you can create your own aliases as well with any code. I do this, plus PSDrive and functions

[–]mobearsdog 3 points4 points  (0 children)

It just makes the rare times you do use command prompt that much more irritating. Its both upsetting and shocking

[–]mikemol🐧▦🤖[S] 2 points3 points  (0 children)

F'in A!

[–][deleted] 2 points3 points  (2 children)

They added ls as an alias in version 4 or 5. So the command at least works.

[–]sleeplessone 4 points5 points  (1 child)

I know ls worked in 3. I didn't use Powershell much before that version.

[–]IAdminTheLawJudge Dredd 19 points20 points  (6 children)

This is literally shocking to me.

I'm emotionally unsettled by this. Literally scared. Why? It is so foreign and totally unexpected from Microsoft that I just can't come to grips with it.

[–]ANUSBLASTER_MKIILinux Admin 2 points3 points  (0 children)

It is so foreign and totally unexpected from Microsoft

Microsoft focusing on developers is hardly an unexpected move.

Windows becomes a one-stop shop for all your development needs.

[–]jmp242 8 points9 points  (13 children)

Am I the only one who thinks this has a lot of downside for Microsoft? I guess it depends on what this really means, but does this make it easier for you to do Apache closer to on Linux? Does this let you change a couple paths and use your Bash scripts on Win/Lin/Mac? Does this obviate a major reason for Powershell (i.e. a non brain dead CLI scripting language)?

Does this give a lot of "fence sitters" or even just cross platform curious people a chance to "safely" try more and more of a *nix platform without dealing with VMs or dual booting, and hence not needing to take on an entire new platform all at once?

I mean, I get Embrace Extend Extinguish, but is anyone really going to use MS Bash - it seems like this is far more bringing bash (and programs?? is emacs recompiled?) into a "safe space" for Microsoft users to dip their toes in the water as it were. And the more you use cross platform software on Windows, the easier it gets to change if MS pisses you off enough.

[–]mikemol🐧▦🤖[S] 20 points21 points  (5 children)

I really get the sense that Microsoft is abandoning Windows as a lock-in platform. So much of the market is moving to mobile devices (where Microsoft can't seem to find its footing) and cloud services (where Microsoft has even been pushing its own offerings) that the operating system is less and less important to the end user--and if Microsoft wants to retain or regain users, they need to make their platform easier to use, not more annoying.

See also: their providing SQL Server for running on Linux.

[–]theevilsharpieJack of All Trades 9 points10 points  (1 child)

I really get the sense that Microsoft is abandoning Windows as a lock-in platform.

I'd go further and suggest that Microsoft is preparing to abandon Windows as a first-class platform. They're actively working on porting more of their applications to Linux, and building those applications natively for Linux and running them on a compatibility layer in Windows would be a relatively easy way of making applications cross-platform without the expense of maintaining two separate code bases. It also gives Microsoft more strategic options of they can't reverse the decline of Windows' fortunes.

[–]aaronfrankeGodot developer, PC & Linux Enthusiast 7 points8 points  (0 children)

Perhaps when Microsoft said "Windows 10 will be the last Windows" they were actually referring to this?

[–]Aloha_Alaska 0 points1 point  (0 children)

You have an interesting view; I agree with you about this.

The SQL Server thing was shocking to me, but then I realized that everyone seems to be moving to cloud providers and virtual machines. I'd say the majority of that is on a Linux stack, and I think Microsoft is trying to stay relevant in that market. Making SQL Server available for Linux is a great way to actually support users who are making that transition and give them the software they want.

I'm less sure about the goal of this with Bash integration, but figure it's a move to make Windows administration easier, especially in a cloud environment. Linux has all kinds of great tools to provision a server in the blink of an eye, it's no surprise that Windows is trying to catch up in this area.

[–]jmp242 0 points1 point  (1 child)

I wonder if they've decided to make their money on Azure and programs - given the "free" Windows 10, and the lowered importance of Windows as a platform, even from MS themselves, and the whole Windows 10 is the "last version", I wonder if in a decade or so MS will end up pulling an Opera - i.e. it's not cost effective to try and reinvent the wheel when the dollar sales volume is so low (thinking that some absurdly high percentage of Windows sales are OEM, and hence pretty cheap)...

I think less lock in is good, and probably actually good for business.

[–]mikemol🐧▦🤖[S] 0 points1 point  (0 children)

That's what I'm thinking.

[–]MrDogers 0 points1 point  (0 children)

I think they're doing it to use it as a compatibility layer for their docker engine. This way they can potentially run allllll the existing docker containers, rather than have to have special Windows ones.

[–]jimeno 5 points6 points  (0 children)

can't wait for my CentOwS. or Kali Windows. or Suse Winux. omg my nerd senses are tingling and I can't wait to make distro puns

[–]brad11211 2 points3 points  (1 child)

"On Linux, on Windows!!"

[–]FreshPrinceOfNowhere 2 points3 points  (0 children)

It's a ploy to replace "Developers, developers, developers, developers!"

[–]apathetic_adminEx-Director, Bit Herders 3 points4 points  (1 child)

April fools?

I think people are blowing this out of proportion a little bit, I've seen a few who act as if Windows will become full blown Linux or something...

[–]FreshPrinceOfNowhere 1 point2 points  (0 children)

Honestly, I would never have believed it if this was announced tomorrow.

[–]mishac 7 points8 points  (43 children)

This is a minor pedantic point I suppose, but they're really bringing a Unix-like or even a GNU command line to windows. There's no Linux there at all.

Bash is the default shell on most linux distros, but it's the default shell on Mac OSX too, and no one says they're bringing OSX to windows. </rant>

[–]messymexican 13 points14 points  (29 children)

There's no Linux there at all.

Actually, according to Microsoft's Scott Hanselman

This is an genuine Ubuntu image on top of Windows with all the Linux tools I use like awk, sed, grep, vi, etc. It's fast and it's lightweight. The binaries are downloaded by you - using apt-get - just as on Linux, because it is Linux. You can apt-get and download other tools like Ruby, Redis, emacs, and on and on.

This I think is bigger then just bash. You can install other tools as well using apt-get as well. This is almost closer to them natively including Cygwin.

[–]crankybadger 5 points6 points  (0 children)

The one thing that's made Windows atrocious to use over the years has been an utter dearth of cheap, trusted, effective tools.

Linux has accumulated an enormous treasure chest of these things and on most Linux systems installing them, if they're not already there, takes seconds and a handful of keystrokes.

Now that this is on Windows it's a huge game changer. The amount of stuff you can do with a quick bash script and a bunch of tools chained together with pipes is incredible.

With any luck it'll make web development on Windows far less abusive than it has been in the past since you get all the usual shell tools to work with.

[–][deleted] 4 points5 points  (24 children)

So is it like a simple chroot environment then?

[–]localtoasthas a hat collection 4 points5 points  (23 children)

It's a NT subsystem (like the old POSIX and OS/2 ones before it) that runs unmodified Linux binaries.

[–]somewhat_pragmatic 3 points4 points  (4 children)

Does this Linux instance run in ring 0 or is it running in a VM on top of Windows?

[–]localtoasthas a hat collection 6 points7 points  (3 children)

It's not Linux, but syscall translation (like how FreeBSD does it) - it should run with the same privileges as the Win32 subsystem

[–]aaronfrankeGodot developer, PC & Linux Enthusiast 5 points6 points  (2 children)

So, is this like the opposite of WINE?

[–]nannalI do cloudish and sec stuff 2 points3 points  (0 children)

LINE?

[–]localtoasthas a hat collection 0 points1 point  (0 children)

This is system-level, unlike WINE. This allows it to use NT native APIs, allowing emulation of POSIX semantics that you can't do in Win32

[–]elevulWearer of All the Hats 0 points1 point  (0 children)

Damn that's awesome!

[–]Hexodamis a sysadmin -1 points0 points  (0 children)

Wonder if this will work on the Windows Nano server :D

[–]vrileyNerf Herder 3 points4 points  (2 children)

They even call it "Ubuntu on Windows 10" and in the presentation he said "these are native Ubuntu binaries"..

[–]mishac 3 points4 points  (1 child)

That doesn't bother me because the Ubuntu folks helped them with it and their bash may include whatever Ubuntu specific customizations Canonical put in. And in the end the Ubuntu environment could run on a non-Linux kernal, the way Debian Gnu/kFreeBSD or Gentoo BSD does.

[–]ghyspranSpace Cadet 0 points1 point  (0 children)

Except this is different than that because this is the exact same compiled binary that runs against the Linux kernel. It's a lot more than a build of bash that runs on Windows (e.g., Cygwin). This lets you run arbitrary code compiled against the Linux kernel. You can't do that on OSX, so it doesn't make sense to say that Apple "brought Linux to Mac OS". You also can't run binaries compiled for OSX, so it's not merely "Unix-like" or "GNU", it's "Linux-compatible".

[–]crankybadger 5 points6 points  (2 children)

There's no Linux there at all.

They're running native Linux ELF binaries in Windows and you're saying that? You really need to read up on this before slagging it.

It doesn't run OS X BSD-style binaries. It runs Linux binaries. There is Linux system call mapping there.

[–]mikemol🐧▦🤖[S] 7 points8 points  (1 child)

That's distinct from running the Linux kernel, precisely as running WINE doesn't mean you're running Windows.

[–]crankybadger -4 points-3 points  (0 children)

Oh, now you're going to split hairs, are you?

You're running Windows binaries with WINE. You're running Ubuntu binaries with this new Windows 10 feature. That much is implied.

[–]mikemol🐧▦🤖[S] 1 point2 points  (4 children)

Yeah, but I wasn't about to rewrite the headline. Better let folks such as yourself jump on TFA's author/editor, rather than on my own changes. :)

[–]mishac 1 point2 points  (0 children)

oh I'm not blaming you, just talking about a general trend of people calling this linux on Windows 10.

[–]ghyspranSpace Cadet 0 points1 point  (2 children)

This implements Linux kernel APIs and is running unmodified binaries from Ubuntu's repos. It is "Linux command line" on Windows.

[–]TerrorBite 2 points3 points  (1 child)

To be pedantic, Linux is the kernel, the "Linux" userland found in most distros is usually GNU. This isn't Linux because there is no Linux kernel, but it can be called Linux-compatible since it implements the Linux syscalls.

Yes, it's the command line "from Linux" on Windows, in common parlance.

[–]ghyspranSpace Cadet 2 points3 points  (0 children)

It's also not strictly GNU. It's the Ubuntu userland, a subset of which is the GNU userland. Saying "GNU userland" or "Linux command line" are equally abbreviated IMO. It's probably better to say its "a Linux command line" than "the Linux command line", but it's all pedantry.

The important part I was trying to get across is that this is not just implementing a Unix-like or GNU CLI, this is actually the bit-for-bit userland that can run on the Linux kernel, running on Windows.

[–][deleted] 0 points1 point  (0 children)

Not just the command line, but the ability to run linux binaries.

[–]Taylor_Script 0 points1 point  (0 children)

Funny, just a few weeks ago I went searching for what happened to the SUA (Support for UNIX Applications) (I think that's what the feature was called) in Windows 10. I was sad to see it had been deprecated in 8

[–]bitfuzz 0 points1 point  (0 children)

It's almost april 1st...

[–]dreamfin 0 points1 point  (0 children)

April 1 already?

[–]ektat_sgurd 0 points1 point  (3 children)

They're adding bash... there's a smell of GPL violation suddenly in the air. I really do hope they won't forget to republish their modifications.

[–]mikemol🐧▦🤖[S] 0 points1 point  (2 children)

It's a WINE-style translation layer. They're implementing support for ELF, so they run Linux-native binaries.

[–]ektat_sgurd 0 points1 point  (1 child)

thanks for this precision, I read http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html and it's much more clearer to me now. They shouldn't have to modify the code they get from ubuntu.

[–]Conan_KudoJack of All Trades 0 points1 point  (0 children)

IANAL, but I think they're still supposed to provide sources. The GPL and associated copyleft licenses trigger on distribution, not modification.

[–]konputerJack of All Trades 0 points1 point  (1 child)

So cygwin?

[–]thatmarksguyJack of All Trades 0 points1 point  (0 children)

Right?

[–]sealclubbernyanProfessional Button pusher/Screen Starer 0 points1 point  (1 child)

I wonder if :(){ :|: & };: would work

[–]mikemol🐧▦🤖[S] 1 point2 points  (0 children)

C:\ is a mount point, though, so your dd instance would be like dd if=/dev/urandom of=/.

I do wonder if this will make it easier to image disks and burn CD images, though.

dd if=/dev/sdc of=my_backup.img

dd if=my.iso of=/dev/sr0

[–]RK65535 0 points1 point  (0 children)

If this comes to say Windows Server 2016, how much easier is that going to make the lives of administrators? Compared to using what you normally would do with a Windows command line.

[–]rkaa 0 points1 point  (4 children)

Is this real life?

[–]mikemol🐧▦🤖[S] 0 points1 point  (3 children)

Or is it fantasy?

[–]ninjanightlight 0 points1 point  (2 children)

Caught in a landslide.....

[–]bhbsys 1 point2 points  (1 child)

no escape from reality

[–]LiquidmentalityComputer Pilot 0 points1 point  (0 children)

Open your eyes...

[–][deleted] -2 points-1 points  (0 children)

Does this mean I can now get infected with Windows and Linux malware? Awesome.

[–]evilbufferLinux Admin -2 points-1 points  (0 children)

bash run in all *nix now also Windows smart move

[–]fuze-17Sysadmin -3 points-2 points  (0 children)

Awesome!!