New Windows 10 Preview For PCs With Bash, Cross-Device Cortana Released 160
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.
trumpet winsock:win95:cygwin bash:win10 (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.
Re: (Score:3)
Re:trumpet winsock:win95:cygwin bash:win10 (Score:5, Insightful)
What about PowerShell?
That was pretty reasonable.
Re:trumpet winsock:win95:cygwin bash:win10 (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.
Re: (Score:1)
and has a name for all the spiders in his attic.
You leave Peter Parker alone!
Re: (Score:2)
Re: (Score:3)
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.
Insane cousin? (Score:2)
Actually, that would be ALGOL [swtch.com]
.
Re: (Score:2, Insightful)
For some twisted version of reasonable....
For one, it tends on being very verbose.
For another, there is a very large amount of *nix ecosystem work in utilities that Powershell hasn't caught up to. Thanks to not invented here.
It's hard to put to words, but a lot of the same syntax things that make perl frequently hard to maintain is present in Powershell.
It's awkwardly in between the simplicity of a shell language and the power of other scripting languages. For example, most sophisticated languages have sy
Re: (Score:2)
It tends to be very verbose, but on Windows this is still considered taciturn.
Re: (Score:3)
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
Re: (Score:2)
...that's because Powershell is more of an environment for Windows C programmers, whereas bash is just a user's interface.
Re: (Score:3)
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
Re: (Score:2)
This is strictly true, but it also adds complexity and requires understanding beyond bash and such. For example, the output of a command may offer different stuff through pipe than you see. You have to pipe into a command to dump *all* of the data before you can think of what you can access. There's fancy polymorphic behavior in play that makes it not 'what you see is what you get'. For a software developer sort of person, the power afforded by this model is appreciated. Those same developers could how
Re: (Score:2)
Sure, there might be some third party utility to serve as a proxy between SSH and Powershell but how much bloat are you willing to accept as sane and reasonable?
You mean like the third party OpenSSH for Linux? Calling it bloat is kind of hilarious when that is how Linux does things. You have programs which are generated by different teams to do different jobs. Windows does things differently from Linux. In Windows, to use remote Powershell through a secure channel, you use the WinRM service, which can allow you to run scripts against other servers over the internet or intranet.
Re: (Score:2)
PowerShell? You mean the scripting language which is useless because by default Windows can't even run unsigned scripts? .cmd
No thanks, I will stick to
Re: (Score:2)
You can run unsigned scripts by default, they just cannot be remote scripts (such as on a shared drive) or a file that a browser has marked as downloaded from the internet (via NTFS file stream).
Although using something like SCCM 2012 I could not run even signed scripts in it because SCCM put spaces at the end of the script when it saved, rendering the signature invalid. Hope that bug is fixed now.
Re: (Score:2)
no matter what the exact conditions are, it's a limitation not present in bash or cmd.exe
Re: (Score:2)
Made even more hilarious because a cmd script can disable the signing policy. I have seen quite a few powershell scripts bundled with a cmd script to wrangle the signing policy before launching the powershell script.
In otherwords, pretty useless in the face of an adversary, but a pain for legitimate use.
Re: (Score:2)
It's security theater. Any context where you can execute a powershell script, you can execute a cmd script to disable the signing policy. Malicious software that for whatever reason wants to run in powershell (there's much better vectors to run), need only preface their script with a command to disable the signing policy first.
Re: (Score:3)
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.
Re: (Score:2)
It is reasonable, if rather than using easy-to-type commands such as "ls" or "dir", you like "ListDirectoryEntriesInOrderOfName".
Re: (Score:1)
Re: (Score:3, 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 b
They Did? -- "Windows PowerShell ISE" (Score:5, Informative)
---> 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
Re: (Score:3)
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 cons
Re: (Score:1)
The Redstone builds of Windows 10 (14295 onwards) have added ANSI emulation too - only 30-odd years after DOS brought us ansi.sys.
Re: (Score:2)
That actually was the precursor to the whole Linux subsystem being brought over - otherwise things that use ncurses or terminfo would break horribly since the old conhost.exe didn't support it. Native Win32 console applications could control the cursor and get mouse events, but not Linux command line applications, at least not without some shim Microsoft writes to replace ncurses
Re: (Score:3)
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$ shar
Comment removed (Score:5, Informative)
Re: (Score:1)
Before Windows 95, there was Trumpet Winsock [thanksfort...insock.com] that was available 1993. When the first ISP's like Demon Internet allowed USENET access, DOS 3/4 systems could install a basic TCP/IP network stack that allowed basic internet functionality (ftp, gopher, mail). Given the slow speed of dial-up modems, reading USENET involved downloading the article headers, then picking which articles and threads to download completely.
Re: (Score:3)
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.
Re: (Score:3)
I think I had to use a TSR to execute DOS-SLIP.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
don't get used to it. microsoft will remove the feature soon as someone makes something useful (i.e. something microsoft doesn't want)....
like a script that re-enables full end-user control over windows updates,
or allows the installation of parts of 'cumulative' (one kb containing multiple others) updates,
or prevents all methods of telemetry gathering and transmission,
or puts the search slut cortana in her place,
or prevents hijacking of default applications settings...
Re: (Score:2)
It's also ironic that in their effort to get TCP/IP they couldn't write their own and had to take the BSD version and integrate it into windows. There's a BSD copyright notice in Windows to this day because of that.
Re: (Score:2)
The gnu32 utils have been around for forever, has/had bash as well as many of the textutils and fileutils
More like 4 years (Score:3)
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/... [wikipedia.org]
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 transla
Re:trumpet winsock:win95:cygwin bash:win10 (Score:4, 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.
Not so fast! (Score:2)
There are a number of things Cygwin does that don't quite work on Windows 10 + Bash, such as setting up GCC and C libraries and environment variables for building OSS projects out of the box. But this is a good start.
Re: (Score:3)
From what I read it actually does all that. You can 'apt-get install '. At least that what I understood from reading this [dustinkirkland.com]. I think its kind of cool, like a "reverse WINE".
Re: (Score:1)
Re: (Score:3)
Re: (Score:2)
Typical Microsoft (Score:3, Informative)
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.
Re: (Score:2)
No wonder I always feel lost when I use Microsoft products. They can't even make a proper navigation tree.
If they didn't put the options in a different place and a layer deeper with each release, you wouldn't feel like you got any value when you're finally forced to upgrade.
Re: (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
Re: (Score:1)
Never used Android, don't plan on using it, don't want to use it.
Re: (Score:2)
I've never used GNU/Linux either, I singled out Microsoft because that's the only one I know with such oddball menu tree choices.
Re: (Score:3, Insightful)
No it doesn't, at least on my device.
Re: (Score:2)
Gotta love window navigation!
Re: (Score:2)
They're worried that a mere customer might be able to type "bash" by accident and end up enlightened. Microsoft's core bread and butter comes from unenlightened customers.
Re: (Score:1)
it is: Settings -> Update & security -> For developers. So a little bit better in reality :)
Re: (Score:1)
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.
Or you press the windows key on start writing "For devel.." and there you are.
Same with Office 2016, no longer need to browse the menus, just type what you want. I really like the direction Microsoft is going with Bash and all.
Re: (Score:2)
Android is much better for that. To find developer mode you just open up Settings > About > Click on the phone version number 7 times, and magic happens. Suddenly you get an exposed hidden menu.
But Linux is best of all. You get all the developer options whether you want them or not, buried in a list of 100 other settings.
Re: (Score:2)
If it makes you feel any better, they'll probably change it all around again tomorrow. It won't actually be improved but you can rest assured it will take more clicks to get their than the last version.
Re: (Score:2)
Where would you put the setting to enable developer mode updates?
At the root of it, this is an update, you have to update Windows from Windows Update to enable it.
Windows Subsystem for Linux? (Score:3, Insightful)
Shouldn't that be Linux Subsystem for Windows?
Re: (Score:1)
Ah... the problem with English. It's a subsystem of Windows for the Linux ABI. It's a Linux-ABI subsystem for the Windows NT kernel. ..
Although.. you're right. If they followed the traditional naming of subsystems, it should actually be called "Linux Environment Subsystem", or possibly "Linux Environment Subsystem for Windows NT"
(Technically, it's a NT Subsystem, not a Windows subsystem. Win32, aka, Win32 Environment Subsystem, is a subsystem on top of the NT Kernel; but few people notice the differenc
Re: (Score:2)
"Windows Services for UNIX" was introduced 17 years ago, so "Windows Subsystem for Linux" is at least consistent with their prior naming for such things.
clippy (Score:3, Funny)
It seems like you are ssh to a server should I save the password for you?
Re:clippy (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!
Little slow today (Score:2)
Re: (Score:2)
Yup. You should even have aptitude on your Windows box. You can apt-get install foo and run with it. I don't know how far they've come and I'm not going to go install Windows to find out but it's kind of amazing, isn't it? If I understand, it's getting the Ubuntu mini and you get that for starters. I almost want to install Windows in a VM to check it out but I'm afraid the recursion would collapse the universe or rip a whole in the time/space continuum.
I'm thinking, install Windows in a VM... Install Wine..
It's not just Bash... (Score:2)
It's pretty much a port of the console based user space from Ubuntu, which will make a lot of developers happy (more options good). But, given how it works, you can't use bash to script windows commands (like you could in Cygwin/MSYS2). Nor can you expect to run some unix commands from the console either. On the other hand, the whole apt toolkit is at your hands, so you can install a ton of software and not wait for a Cygwin port.
I'm sure I'll get labeled as a shill (I'm not, it'd be nice, I could use the e
Re: (Score:2)
No need. The common UI toolkits for Linux (Qt, GTK+) work on Windows already.
apt-get install gimp
gimp
GIMP calls through to GTK+, which detects it's running on Windows and specifies a Win32 backend. Thanks to dynamic linking, the original GIMP binary for Linux doesn't need to know or care.
Re: (Score:2)
Perhaps temporarily. We have no reason to doubt that Microsoft has repented of its Embrace, Extend, Extinguish strategy.
Re: (Score:2)
Perhaps temporarily. We have no reason to doubt that Microsoft has repented of its Embrace, Extend, Extinguish strategy.
Or to say it differently: the leaders of Microsoft are bad people. They are as a group selfish, anti-social, and willing to break the law and steel from the public for their own personal gain. They are not worthy of any trust or benefit of doubt.
Re: (Score:3)
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.
Will it restore my "start" button? (Score:1)
Re: (Score:2)
Even better was that if you had more than 512 entries in your start menu (which isnt hard, because that includes folders, readme's, uninstalls, utils, etc etc) most of your applications would not be displayed in your start menu.
So you'd have a start menu, it would just be useless.
Re: (Score:2)
You more likely could have rebuilt the windows system image in Powershell using some obscure dism command. I've done it once or twice for people, but I can't even begin to remember how to Google the solution.
Re: (Score:2)
This has happened on several of our Win10 pro machines, and the solutions found online don't work. We didn't have to nuke the installs, but it did mean deleting roaming profiles and the local copy. We are now backing profiles again after a few years of not doing it, but there are definite issues with Win10's start menu and none of the fixes work.
And don't get me started on Edge. Needless to say within a few weeks we had a GPO rolled out that made Firefox or Chrome the default browser.
Microsoft Linux (Score:4, Insightful)
I've said many times, Linux can't 'beat' MS, because MS can always do MS Linux.
Re: (Score:1)
Not true. Its the opposite. MS can't beat Linux because Linux can survive without $$$. MS can't. EEE doesn't work on Linux. MS will extinguish itself if it drove the $$$ down.
If MS open sourced all their software to try to beat Linux. The first that would happen is someone will fork MS programs remove all the crud and bs and release a superior version .. or at the very least the best bits of MS will be ripped out and integrated into Linux proper. MS Linux would be a win for Linux because it would bring more
Re: (Score:2)
Windows only makes up 10% of Microsoft's revenue, and that's dropping. They literally gave away Windows 10 for free. They can survive just fine without any OS revenue.
Standard Terminology Please (Score:2)
Finally Correct (Score:1)
So now it is okay to do Windows bashing?
INb4 exploit (Score:2)
--News article reporting a new Web-based viral exploit for the Win10 "bash" shell in 5..4..3..
Re: (Score:3)
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.
Re: (Score:2)
I've heard the argument and I somewhat agree with it yet I've yet to see anyone replace bash with Python as their 'default' terminal. It's just 'simpler' to learn the shitty language to do what it is built to do than look up and implement the correct order into a function call every time I want to do something.
Because this:
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
May be not as shitty but still not as simple as this:
ls -l
Re: (Score:3, 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
Re:Bash? (Score:5, 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.
Re: (Score:2)
*sighs* The world's changing and the dinosaurs need to go extinct on their own, lest they come hunting us.
Yes, yes I have read all the comments down to here. Funny, I never knew bash was so terrible. Does that mean I'm gonna have to change my evil ways or am I still allowed to use it? How about my own custom alias file, is that a relic of bygone years or can I keep it? 'Cause I really don't want to learn Python yet. No, I do not. I sort of plan on learning it - and even got some materials to do so. But I'd
Re: (Score:2)
No. The problem with bash is not bash itself but the fact that it takes most of it's features from the underlying userland and THAT varies from Unix to Unix.
Your fixation with Python is itself an ancient relic that doesn't exactly match the year you're trying to post to.
Re: (Score:1)
Re: (Score:2)
Depends on what you consider a "script", I suppose. You can write pretty complicated stuff in things that are called "scripting languages" like perl and there is some (broken) OO in perl5. Ruby is basically a scripting language and OO is pretty much built-in so that everything is an object.
Now, if you mean a minimalist scripting language like bash, then yeah, probably little need for OO since constructing a whole object to merely send myself an listing of my mail queue at 2am every night via cron is proba
Re: (Score:2)
It runs them. Not recompiled binaries, but actual ELF binaries.
Re: (Score:2)
That's an interesting difference from the old Subsystem for Unix Applications (SUA, formerly known as Service For Unix or SFU). SUA/SFU were source compatible with many (though by no means all) user-mode Linux programs, but the actual binaries had to be compiled as PE format (targeting the POSIX subsystem, though, not the Win32 subsystem the way normal Windows programs and Cygwin binaries do). They didn't have .EXE extensions (unless you wanted them to) and followed Unix-like loading behavior, but they were
Re: (Score:2)
The point is that MS are touting bash support as a milestone for their compatibility layer.
What is being downloaded is a minimal amd64 Ubuntu image. I don't know the specific technical details but it's like a chroot mounted at c:/users/ChunderDownunder/Linux.
So its not just bash, pick any package from your local Ubuntu mirror - including the list of commands you mentioned.
command line only, a UI isn't a goal, initially.
Re: (Score:2)
Cygwin is slow. Maybe not for a few commands here and there but you can see noticeable slow downs when running some scripts or makefiles or things like that. This is because Cygwin is forcing full Unix compatibility, the point is not to have a Unix look-alike but to allow compiling and running code written for Unix.
But that's inherently slow on Windows where a process sticks around long term rather than the one-process-per-command fork/exec style of Unix. So a Windows native bash would probably not be ju
Re: (Score:2)
Vodka helps.
Re: (Score:2)
It looks like a glorified VM instance. There's no real integration. There's no suggestion it will end up on the server editions, and no suggestion it will be in any way integrated into Windows in a way that anyone could use as an alternative to PowerShell or CMD.EXE. Yes, I suppose for cross platform developers it might take one step out of testing some code on the other operating system, but really it sounds only slightly less of a pain that simple running an Ubuntu install virtualized in Windows.
If this i
Re: (Score:2)
Windows runs a lot more than just bash too, since this isn't a port of bash, but an entire Linux kernel compatibility layer. It's basically reverse WINE.
If you want to SSH into Windows after installing WSL, you type the same thing you would on your Linux box: "sudo apt-get install openssh-server"
Re: (Score:2)
What does a touch screen have to do with anything? Win10 apps don't require touchscreens.