Slashdot Mirror


New Windows 10 Preview For PCs With Bash, Cross-Device Cortana Released

An anonymous reader writes: Microsoft has released a new Windows 10 preview for PCs. The preview, dubbed build 14316, comes with a range of features including support for Bash, which Microsoft had announced at its developer conference Build last week. Users interested in it can enable the feature by turning on Developer Mode (detailed instructions here), searching for "Windows Features," choosing "Turn Windows features on or off," and enable Windows Subsystem for Linux (Beta). To get Bash installed, open Command Prompt and type in "bash" (without the quotes.) Other features included in the new build include low battery notification, find my phone (ring my phone), and the ability to share map directions across devices. Additionally, the company has also released a new universal Skype app.

31 of 160 comments (clear)

  1. trumpet winsock:win95:cygwin bash:win10 by nyet · · Score: 3, Insightful

    Only took 15 years to get tcp/ip into windows.

    Makes sense it took another 15 to get it a reasonable shell.

    1. Re:trumpet winsock:win95:cygwin bash:win10 by jfdavis668 · · Score: 2

      It still won't let me run a DOS program.

    2. Re:trumpet winsock:win95:cygwin bash:win10 by AvitarX · · Score: 5, Insightful

      What about PowerShell?

      That was pretty reasonable.

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    3. Re:trumpet winsock:win95:cygwin bash:win10 by squiggleslash · · Score: 4, Informative

      Pedantic note:

      No it didn't. Even if you count from Windows 1.0, and start counting from 1983 despite it not really being available to the public until 1985, that'd be 12 years until Windows 95, or 11 until Wolverine (the official Microsoft Windows for Workgroups extension.)

      But in practice there wasn't really a high demand for TCP/IP until well after 1990.

      --
      You are not alone. This is not normal. None of this is normal.
    4. Re:trumpet winsock:win95:cygwin bash:win10 by MightyMartian · · Score: 5, Funny

      PowerShell ain't Bash. It's like Bash's insane first cousin, the one who keeps his urine in the fridge and has a name for all the spiders in his attic.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    5. Re:trumpet winsock:win95:cygwin bash:win10 by MightyMartian · · Score: 3, Interesting

      Got there first? Huh? Bash is the latest iteration of the Bourne Shell, which has been around since the 1970s, and has had a number of offshoots. I mainly cut my teeth on ksh, but because the *nix world goes by the credo "if it ain't broke", it meant that a lot of the old /bin/sh scripts still run pretty much unmodified, and moving to Bash just meant learning a superset of that which I had been using for years.

      And then came along PowerShell, which is just enough like the Bourne ecosystem to remind you of how Microsoft comes so close sometimes, but the inherent anti-*nix attitudes of its developers means it never quite gets there.

      The fact is that if Microsoft really wants to make inroads into the realms dominated by Unix flavors, then it isn't going to do it with a scripted layer over .NET. There are decades worth of Bourne-variant scripts and libraries out there, and maybe, just for once, Microsoft might land on the right side of the question.

      Unless of course, this Bash shell is nothing more than the latest iteration of the broken Posix subsystem, in which case, it's pretty much worthless.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    6. Re:trumpet winsock:win95:cygwin bash:win10 by __aaclcg7560 · · Score: 2

      What about PowerShell?

      The story I heard was that PowerShell got written because Microsoft paid for new lines of code and not for refactoring old lines of code like CMD.EXE (command line). Hence, you got two command line utilities. BASH will make it three.

    7. Re:trumpet winsock:win95:cygwin bash:win10 by swb · · Score: 2, Interesting

      What I don't understand is why they didn't provide an updated console mode/app/window with PowerShell and why they just threw it into the same dumb console that they had been throwing cmd.exe into.

      I'm also curious why they didn't borrow more heavily from Unix. There are some things in PowerShell that are really awkward to do that are trivial in a Unix shell.

      I'm sure there's some valid reasons but a lot of it simply seems like not invented here syndrome. I'm really annoyed with the default console window being so brain damaged, now I have to put ConEmu on everything if I want reasonable interaction with the console window.

      Why can't we have nice things?

    8. Re:trumpet winsock:win95:cygwin bash:win10 by Darinbob · · Score: 2

      There was higher professional demand. However they seemed to think that Novell was good enough and helped lock customers to their platform, whereas a more open standard like IP was only going to encourage customers to go elsewhere. Microsoft isat heart a microcomputer company from the eight bit world and they are reluctant to be tainted by good ideas that originate from outside of the microcomputer world.

    9. Re:trumpet winsock:win95:cygwin bash:win10 by CrashNBrn · · Score: 2

      Aye, I was running DOS until Windows 98. With DOS-PPP or DOS-SLIP (to dialup), plus NCSA Telnet. I don't recall what the email program was.
      I think I had to use a TSR to execute DOS-SLIP.

    10. Re:trumpet winsock:win95:cygwin bash:win10 by Ol+Olsoc · · Score: 2

      PowerShell ain't Bash. It's like Bash's insane first cousin, the one who keeps his urine in the fridge and has a name for all the spiders in his attic.

      Hell, I was all ready to mod that insightful. I mean, yeah it's funny, but after trying out PowerShell, the only thing you are guilty of is going easy on it.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    11. Re:trumpet winsock:win95:cygwin bash:win10 by Espectr0 · · Score: 2

      I have recently read a powershell book. Sure, it's verbose, but how it manages piping through commands is a lot more advanced and cleaner that what you can get in bash. Sed/awk/grep looks like a hack once you have seen what powershell can do

    12. Re:trumpet winsock:win95:cygwin bash:win10 by Antique+Geekmeister · · Score: 2

      Powershell was very unreasonable in security terms. It relied on accessing, and locally mounting, with Administrative privileges, the hidden C$ from every powershell controlled host from every client running the powershell remote commands. That share is very dangerous to permit such direct CIFS mount access with, and is very difficult to disable without blocking the CIFS ports at your local firewalls. It''s a very powerful, but extremely dangerous tool to leave active by default. But turning off the C$ share can be quite difficult in most Windows configurations. :Like activating a VNC server on every Windows installation, and putting a common password on all of them "so that the admins can access the serves", it's a terrible practice from a security standpoint.

    13. Re:trumpet winsock:win95:cygwin bash:win10 by cbhacking · · Score: 2

      C# programmers, more obviously. Powershell is basically the runtime for .NETscript, which happens to also be usable as an interactive shell.

      I actually quite like using it interactively, provided I also get Win10's upgraded console host (nothing can justify the shit-pile that is the legacy console host). The commands *can* be verbose, but tab completion handles that pretty well. You can also shorten parameters to the minimum length necessary to avoid ambiguity, which often amounts to single-letters a la *nix commands. The ability to invoke arbitrary .NET classes and functions can make what would otherwise be a moderate-length script a single line that can by typed interactively, too.

      With that said, I also like using Bash on Windows. I've been doing so since long before this "Windows Subsystem for Linux" announcement, but that's another post!

      --
      There's no place I could be, since I've found Serenity...
    14. Re:trumpet winsock:win95:cygwin bash:win10 by cbhacking · · Score: 2

      Win10 *DOES* have an upgraded terminal emulator. It's still called conhost.exe ("Console Host"), but it is wayyyyyy better than the legacy one. Horizontal resize (with text reflow), line selection instead of block selection, copy-and-paste that doesn't suck, better keyboard shortcuts, and so on. It's a huge improvement. It doesn't support a tabbed interface (yet... they're still adding stuff to Win10 though) but it's a night-and-day difference nonetheless, and a decent alternative to the standard Linux console programs.

      --
      There's no place I could be, since I've found Serenity...
  2. Typical Microsoft by U2xhc2hkb3QgU3Vja3M · · Score: 3, Informative

    Users interested in it can enable the feature by turning on Developer Mode (Settings - Update - Security - For developers)

    Let me get this straight: to enable Developer Mode, you need to go into settings (okay), update (wait, what?), security (why?), for developers (could be named a bit better IMHO).

    No wonder I always feel lost when I use Microsoft products. They can't even make a proper navigation tree.

    1. Re:Typical Microsoft by Anonymous Coward · · Score: 2, Informative

      As apposed to Androids completely intuitive:

      Settings->About Device->Click on the build number 10 times->Go back to Settings->Click the now visible Developer Options->Enable Developer Options

    2. Re:Typical Microsoft by setantae · · Score: 3, Insightful

      No it doesn't, at least on my device.

  3. Windows Subsystem for Linux? by Anonymous Coward · · Score: 3, Insightful

    Shouldn't that be Linux Subsystem for Windows?

  4. clippy by Joe_Dragon · · Score: 2, Funny

    It seems like you are ssh to a server should I save the password for you?

    1. Re:clippy by vux984 · · Score: 5, Funny

      That was windows 98 era stupid. We have progressed since then.

      It seems like you are trying to ssh to a server, should I share the password with everyone in your contacts?

      Yes always / Yes right now / Cancel connection

      However if you go into Settings -> Advanced -> Personalization -> Sharing -> Extra Settings -> SSH Options there is a check box that says "Disable SSH Passwords" that will add a "No" box to the other dialog box.

      There is also a group policy that makes No the default and turns off the prompt.

      RTFM n00b!

  5. Re:Bash? by chipschap · · Score: 2

    I have to disagree. It takes some time and effort to get comfortable with Bash, but once you do it's really powerful and logical. I used to script most things in Perl or Python but found that for a lot of uses, Bash was more than adequate once I put in the effort.

    Just like C, Perl, Python, or anything, Bash scripts can be indeed a nightmare if poorly coded. But properly coded Bash scripts are easy to work with.

  6. Re:Bash? by MightyMartian · · Score: 2, Insightful

    I've developed plenty of sophisticated scripts in Bash. Just because you haven't learned Bash doesn't mean it isn't useful, it just means you lack experience and knowledge.

    For some of us, having a common scripting language on Windows and *nix, one which has decades worth of scripts behind, is more valuable than OOP concepts. For chrissakes, even on a fairly well-speced system, the amount of time Powershell takes to start is astonishing, whereas I have Linux installs on crappy Cyrix processors with 256mb of RAM where Bash pops up right away.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  7. Re:What's the point? by mingot · · Score: 2

    It runs them. Not recompiled binaries, but actual ELF binaries.

  8. Re:so awesome by butchersong · · Score: 2

    This makes me wonder what Windows could be say 10 years from now... Windows 10 BSD with GNU userland?

  9. Re:Not so fast! by Faw · · Score: 2

    From what I read it actually does all that. You can 'apt-get install '. At least that what I understood from reading this. I think its kind of cool, like a "reverse WINE".

  10. Re:Bash? by alantus · · Score: 4, Insightful

    Just use Python. It'll let you accomplish the same tasks, likely in a fraction of the time, and with a much better result. Plus your script will likely be more portable, too, even to Windows!

    Sure, as long as you have the same version of Python installed, your script might be portable. I can't remember when was the last time I had to check $BASH_VERSION.

    Bash is a relic from a pre-Python world. It's time to move away from bash.

    How about using the right tool for each job?
    Use Bash for simple tasks that involve running programs, piping their output, checking their exit code, etc.
    Use Perl for text manipulation, regular expressions, complex data structures, complex logic, one-liners, etc.
    Use Python for your code to be readable by an 8 year old.

  11. They Did? -- "Windows PowerShell ISE" by CrashNBrn · · Score: 4, Informative

    Windows PowerShell Integrated Scripting Environment (ISE):
    ---> C:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe

    Or you can launch PowerShell via the console:
    ---> C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

  12. Microsoft Linux by Kaenneth · · Score: 3, Insightful

    I've said many times, Linux can't 'beat' MS, because MS can always do MS Linux.

  13. Re:It's not just Bash... by slimjim8094 · · Score: 2

    Actually it's apparently not a port. You could copy a regular ELF binary from your Linux system and it would run just fine. The kernel is actually implementing the Linux syscalls, more or less. IIUC it's a peer to Windows in the NT kernel.

    This isn't the first time people have done this. The old Services for Unix implemented a lot of the primitives like fork() but still required recompilation. People bolted on an ELF loader and dynamic linker to that and were able to get stuff working.

    --
    I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
  14. More like 4 years by cbhacking · · Score: 2

    If you're counting from 1995, when Cygwin was first released, it took Microsoft only 4 years to get native Unix shells on Windows (and that's counting from when Microsoft made them available itself, not from when a third party offered them on top of the NT kernel's POSIX subsystem). https://en.wikipedia.org/wiki/...

    For many years, Windows (NT family only) had a POSIX-compatible subsystem built into it. Like the Win32 subsystem, this "Subsystem for Unix Applications" (SUA) took POSIX system calls and translated them into NT native syscalls (the NT kernel does not recognize either Win32 or POSIX syscalls, but rather implements its own calls that are a superset of both in functionality; Win32's CreateProcess cannot properly implement POSIX's fork, but NtCreateProcess supports both). SUA also provided a Unix-like filesystem (with case sensitivity, Unix file permissions including stuff like setuid/setgid, working /proc and /dev, and so on).

    Microsoft provided a bare-bones set of tools and libraries for SUA, called Interix. As of Windows 7 (Interix 6.7), this included two Unix shells, C shell and Korn shell, which both suck compared to Bash but were sufficient to bootstrap the system. Interix also included a working GCC build toolchain. From this minimal start, you could install additional packages (NetBSD, Debian, and I believe Gentoo all supported building and managing their packages for Interix, plus there was an Interix-specific package repository that Microsoft funded). There were thousands of such packages available, from Bash to OpenSSH (client and server) to Apache httpd to Git to... you get the idea. X11 client libraries, plus a Win32 X11 server (typically Xming), meant you could even run graphical software.

    Microsoft deprecated SUA and stopped all development on Interix with Win8.0; in Win8.1 and Win10 (until now?) the subsystem itself is unavailable. I'm really curious to see if they built this new "Subsystem for Linux" on top of the old POSIX subsystem, or did something else (and if the latter... what?)

    --
    There's no place I could be, since I've found Serenity...