More Unix Tools Coming To Windows 10 (neowin.net) 123
Long-time Slashdot reader Billly Gates brings news about beta 4 of Redstone (the Spring version of Windows 10's Creators Update for 2018):
- Beta 4 of Redstone aka Build 17063 includes BSD utilities bsdtar and curl from the command prompt and Unix sockets (AF_Unix). These are also rumored to be part of a future version of Windows Server.
- WSL will now run background tasks and will continue to run them even after the command prompt window is closed...
- A previous story mentioned a discovered OpenSSH for Windows... OpenSSH and VPN can now be accessed via PowerShell in remote connections via the PSRemote commandlet. With the extra background support added you can for example keep a Secure Shell session open on a server/client and reconnect later.
- Also a tool is available called WSLPath to convert Linux to Windows path options
There will also be some graphical Windows Shell improvements with Microsoft's design language, and "Timeline," a new way to resume past activities...
- WSL will now run background tasks and will continue to run them even after the command prompt window is closed...
- A previous story mentioned a discovered OpenSSH for Windows... OpenSSH and VPN can now be accessed via PowerShell in remote connections via the PSRemote commandlet. With the extra background support added you can for example keep a Secure Shell session open on a server/client and reconnect later.
- Also a tool is available called WSLPath to convert Linux to Windows path options
There will also be some graphical Windows Shell improvements with Microsoft's design language, and "Timeline," a new way to resume past activities...
Re: That'll make hacking it nicer (Score:1)
Re:35 year later... (Score:4, Informative)
Give them a few more decades and they might finally support remote displays.
Hah. The new generation of Linux programmers do their utmost to destroy that in Linux, with "hot corners", no lbx or X fontserver. In fact, I think you'll have a hard time with many of the "modern" Linux flavors of running anything except a video streaming application like a VNC client. At which point you might as well use Windows.
Re: (Score:2)
They even took way the little [v] and [^] buttons in the scroll bars. When a web browser was jammed up with downloading content, I could still scroll up and down with those little buttons. Now the scrollbars just look broken.
Re: (Score:2)
Why stop there in your indictment? Remember the bastards took away the Meta key too.
Re: (Score:3)
So enlighten me on the advantages of X compared with VNC? Thank god Wayland is dumping all the legacy bullshit for people who want responsive graphics and not close to four decades of kludges.
Re:35 year later... (Score:5, Informative)
The second advantage is that you don't need to remote in. On a high-speed network that you might have in the office, you can say DISPLAY=otherbox:0
The third advantage is that programs written thirty years ago will display correctly and do not need to be recompiled or rewritten to play with the latest and greatest fad. Wayland, Unity, what else is there? SystemD is bound to have a display server pop up at some point.
The fourth advantage is that it works out of the box without requiring (or inviting) a bunch of third-party garbage that's only compatible with itself, costs money, and is fragile by virtue of existing to establish vendor lock-in rather than accomplishing a task.
The fifth advantage is that you can turn graphical applications into background processes by using Xvfb, which you can start as a user process and use via DISPLAY=localhost:NN
The sixth advantage is the big one: it works. It isn't broken. What do you gain by replacing it?
Re:35 year later... (Score:5, Informative)
Another few:
- Remote X works with your window manager. You can choose which windows overlap others, not entire displays. You can minimize them as other window. You can move individual windows between different screens. Dock them.
- Remote X works with your X clipboard. I can mark and paste into or from a remote X window.
- Moving windows around isn't laggy. The graphics primitives are cached (especially with lbx) and do not have to be re-sent as you move a window.
- You don't get blurry text when the subpixel rendering differs between different machines. Because the text is rendered in your own display.
- You don't get flyspeck when the remote side is a much higher DPI than the local side. Or obnoxiously large text when it's the other way around. Because the X server is on your local machine, you are in control.
Re: (Score:2)
Exactly what programs are you running over an X session? Don't even fucking tell me you use it to open a terminal window.
Re: (Score:2)
Another use case that comes to mind is openning up an email client on another machine so that I don't have to copy over and install SMIME certificates on my own box and can read encrypted emails that way. Don'
Re: (Score:2)
X protocol is absurdly inefficient (which is why NX is at least 10 times faster)
Depends on usage and use case. As others point out, if you're tunnelling over SSH, you get a level of compression for free. If not and you're using it locally, you get the benefit of 100Mb/sec or 1Gb/sec links.
insecure
Who cares? Tunnel it securely and there's no problem. You know what else is insecure? Just about everything. Yet we manage to mitigate it just fine.
difficult to manage
You say that, and what pops into my head is the image of a kid fresh out of school who not only thinks he's invented sex, drugs, and rock-and-roll, but the entire computing industry as well.
while most app developers don't program correctly for a network environment (very few programs use Xcb to avoid sync latency, or even just use group operations like XInternAtoms).
Most software is crap. If you're acquiring software for use in remote sessions, that's one of the parameters to check for.
Re: (Score:2)
(Excuse my ignorance) Does that include programs written using GTK? Qt? SDL? Tkinter? wxWidgets?
Re: (Score:2)
Re: (Score:2)
QT is a hideous viral mess.
Re: (Score:3)
then the bandwidth requirements and latency are lower and the quality is higher than if you are using VNC that has to render the window completely on the server end
That is now true for a small subset of programs written with a subset of tools in Linux. You'll find a lot of what you do in X is now not identical to the way VNC does it, only due to the fact VNC uses compression to speed it up.
Re: (Score:2)
Re: (Score:2)
Which is far more fundamentally efficient: sending a few specific drawing commands only when something changes? or transmitting multiple bitmaps of the whole screen (even just compressed deltas) every second?
Also,X isupports the resolution of the remote display, and only sends the application's wndow. VNC can only give you the server's whole desktop at whatever resolution the sending side supports. Lets not even get into the associated security issues of showing a whole desktop.
Re: (Score:2)
The former.
Except that hasn't been how most Linux apps draw on X for a good 20 years now.
Re: (Score:2)
if they're remotely displayed, yes it is.
Re:35 year later... (Score:5, Informative)
X11 is a vector protocol unlike VNC. If you use GLX over the X11 protocol, an app can send 3D OpenGL commands over the X connection over a network, this allows you to run apps on a different computer and display them to another computer and do it with a faster speed than a raster protocol. So X protocol isnt just for 2D, and its not outdated therefore, it has been able to do full 3D graphics for a very long time.
Once upon a time the fonts were rendered on the X server, the X client could just send the text and the server would render it. For whatever reason, they decided to change this. This was around the time the Render extension happened. This caused clients to switch to sending font bitmaps to the server and then composite the bitmaps together on the server for alpha transparency support. Alpha transparency could have been implemented on the server side font model, but they chose not to do this. There are some applications for the Render extension for fonts which are used inside a web page and for sending images to the X server and being able to reuse fonts and images on composite operations on the server without having to upload rasterized images everytime the applications window content layout changes, this could actually save resources for network transparency.
One thing that could have been done is to allow uploading of PNGs, JPGs and TTFs to the X server and have the X server rasterize them, this would make things work better over network connections, and allow the client to choose to use server side font rasteration with alpha transparency if the server has the font it needs. As others have mentioned, there was an X Font Server as well which the X server could download remote fonts from.
One of the things we hear from Wayland proponents is X11 hasnt been network transparent. This is not true, even Render should be useable over a network connection since you can upload your images to the server and composite them together on the server, GLX is certainly network transparent. Clients are supposed to be written so they fall back to sending any image data over the socket if shared memory is used. So shared memory while not useable for network transparency does not conflict with it since the client just falls back to sending image data over the wire.
X11 is more flexible than VNC since you can export single applications between different desktop sessions. There are even tools to move an X program from one X server to another so you can switch which computer or display an X program is displayed too. There are X based remote desktop tools. There were even programs like XMX that allowed you to multiplex an X application to multiple X servers simultaneously.
The legacy support in X does not consume a significant amount of resources, its very insignificant, so thats a false canard that should be soundly refuted. The core X protocol graphics primitives are simple and few in number so it takes little code to implement them. Increasingly, as well, there is a move to transition the X servers backend to use OpenGL mesa drivers so the X server will use the same drivers as the DRI programs, so these X 2D primatives will be rendered by the OpenGL driver code, which will avoid driver duplication and means the X 2D primatives and the 3D be rendered by the same code and drivers anyway, so the legacy X protocol support really does not use a significant amount of resources.
Re: (Score:2, Interesting)
Yes. This.
"Those who do not understand UNIX are condemned to reinvent it, poorly."
-- Henry Spencer, programmer
Re: (Score:2)
Tell that so the systemd crowd, not me. A separate fucking toolchain for dealing with log files. So you recreated grep, sed, and awk but this time they work on the binary log files. Totally worth it.
Re: (Score:2)
Performance. Bandwidth efficiency. Better integrated. Better for doing things like remote displays from embedded devices.
Re: (Score:2)
There is FreeBSD for the real Unix folks who like the old style documentation and FreeBSD handbook and hate gui things. ArchLinux I heard has the same elitist thing that you can custom configure but a disclaimer I never used that one.
Re: (Score:3)
But I don't hate GUI things. I like it so much that I want my GUI thing when I display remote windows. X11 provides that.
cygwin (Score:4, Informative)
Re: (Score:1, Informative)
You're joking, right? They don't even ship an uninstaller with that POS. Cygwin is useless trash that should be taken out back and shot. It might have been useful ten years ago but it's just trash now.
Re: (Score:3)
https://nuwen.net/mingw.html [nuwen.net]
Portable and doesn't require any uninstall other than deleting the directory.
Re: (Score:2)
del *.*/r is the uninstall command.
Comment removed (Score:4, Informative)
Re: (Score:3)
Cygwin is a gift from the gods. It works, it does what I want, and it doesn't get in the way.
Re: (Score:2, Informative)
% uname -a
CYGWIN_NT-10.0 hp15t 2.9.0(0.318/5/3) 2017-09-12 10:18 x86_64 Cygwin
Seems to have been last updated 12 September 2017. And Cygwin has a package manager, download it from https://www.cygwin.com/setup-x86_64.exe and it see section 2.3 of https://www.cygwin.com/faq/faq.html#faq.setup.cli for running it on the command line.
Cygwin compiles GAMESS (https://www.msg.chem.iastate.edu/gamess/), Dalton (http://daltonprogram.org/), Octopus (http://octopus-code.org/wiki/Main_Page), babel (http://www.ccl.net/c
Re: (Score:2)
% uname -a
CYGWIN_NT-10.0 hp15t 2.9.0(0.318/5/3) 2017-09-12 10:18 x86_64 Cygwin
Seems to have been last updated 12 September 2017. And Cygwin has a package manager, download it from https://www.cygwin.com/setup-x... [cygwin.com] and it see section 2.3 of https://www.cygwin.com/faq/faq... [cygwin.com] for running it on the command line.
Cygwin compiles GAMESS (https://www.msg.chem.iastate.edu/gamess/), Dalton (http://daltonprogram.org/), Octopus (http://octopus-code.org/wiki/Main_Page), babel (http://www.ccl.net/cca/software/UNIX/babel/index.shtml), OpenBLAS (http://www.openblas.net/), and xv (http://www.sonic.net/~roelofs/greg_xv.html) just fine, and of course gnuplot 4.6 patchlevel 6 (which I maintain to avoid an annoying bug in later versions) compiles and works as well. Perfect for people who publish results, not just make bash scripts only a few people ever see.
Compiling gcc version 7.2.0 was painless. Throw "set t_ti= t_te= syntax=none" in ~/.vimrc and
set ignoreeof noclobber filec history=500 prompt="hp \!% "
set cdpath=(. ~)
along with a few other things in ~/.login and you're set for life.
Or I can just apt-get install X. Seems less complicated does that not?
I do not like Cygwin as I found it hacky when I tried it last admitting 10 years ago. It uses posix to win32 call conversions like the inverse of wine and I am glad it has a package manager now. But if you still have to compile things maybe there are still issues?
The whole problem with this (yes it implies with WSL as well to an extent) is Windows is object based while Unix is text based. If you need automation on Windows PowerShell is re
How to uninstall Cygwin (Score:3)
1. Right-Click C:\Cygwin64
2. Select "Delete"
3. Empty trash
All done!
Re:cygwin - the next step (Score:1)
The year of Windows? (Score:5, Funny)
Will 2018 be the year of Windows on the command line?
Re:The year of Windows? (Score:4, Funny)
Beware of the Hidden Costs!
Using Unix tools on Windows means that you will liable to purchase a $699 license from SCO, who own the copyrights for Unix!
Re: (Score:2)
Knowing Microsoft, we will soon see "Client Access Licenses" for this too.
Re: (Score:1)
Re: (Score:3, Funny)
Re: (Score:2)
Windows 10 should implement a Wayland compositor next.
Re: (Score:2)
We at Microsoft heard your cries slashdotters! We are making this the year of the Linux desktop just like you all wanted.
Not beta 4 (Score:1)
It's not "beta 4 of Redstone"; version 1803 is codenamed Redstone 4 (RS4). 1709/Fall Creators is Redstone 3 (RS3), 1703 was RS2 and so on.
Windows 10 Preview builds don't have beta designations, only a build number, and eventually release candidates which have the final release build number but aren't necessarily individually numbered themselves.
Can't believe this took so long (Score:1)
When I was using Windows I always had Cygwin installed, and when I switched to using a Mac one of my favorite aspects (seriously) was having a real shell and all of the unix utilities again. While Cygwin works, the integration with Windows was never great (perhaps that changed over time) and I seem to recall having to use c: or something like it so the mapping to the filesystem was annoying.
I use still like curl, vi, emacs and even grep/sed/awk stuff all the time still, not to mention shell scripts - maybe
Re: (Score:1)
Is slow really a problem anymore unless you are creating and destroying 10k processes?
Re: (Score:3)
When I was using Windows I always had Cygwin installed, and when I switched to using a Mac one of my favorite aspects (seriously) was having a real shell and all of the unix utilities again.
I went from Windows to Linux, but then (circa 2003) switched to Mac because it gave me all the Unix tools I relied on, along with easier access to mainstream programs I needed - like Photoshop.
Now, Microsoft is moving towards the command line for power users, while Apple appears to be dropping hints they want to lock down computers the same way they lock down iOS. When I'm ready for a new computer in two or three years, I'm not sure it'll be a Mac. I still have a lot of history-driven distrust of Microsoft,
Re: (Score:2)
When I was using Windows I always had Cygwin installed, and when I switched to using a Mac one of my favorite aspects (seriously) was having a real shell and all of the unix utilities again.
I went from Windows to Linux, but then (circa 2003) switched to Mac because it gave me all the Unix tools I relied on, along with easier access to mainstream programs I needed - like Photoshop.
Now, Microsoft is moving towards the command line for power users, while Apple appears to be dropping hints they want to lock down computers the same way they lock down iOS. When I'm ready for a new computer in two or three years, I'm not sure it'll be a Mac. I still have a lot of history-driven distrust of Microsoft, though... but Linux is still there.
And perhaps, by that point in time, systemd will include its own 64-bit Windows emulation layer. At which point I might opt for early retirement and no computers at all.
I am the original author. I believe since WSL uses Ubuntu that is runs SystemD by default so you won't escape that easily. If you really want to be purist I suppose you could launch a VM of FreeBSD in either platform if your future PC has enough horsepower to take the hit in performance. SuSE is the other one that is on the Windows appstore which also switched to SystemD if I am not mistaken.
Microsoft now sees the value of automation (Score:2)
I notice this in the relative ease to use and automatically install stuff on newer Windows running on virtualization environments, at least compared with the older versions, which were cranky and prone to failures when trying to automate software deployments, just because the OS wasn't designed to be fully usable with shells/terminals.
Of course, Linux and the Unix(es) still are much more stable a
Too little, too late . . . (Score:1)
Have had unix tools for 40 years already, no need for a newcomer.
Henry Spencer said it in 1987 (Score:4, Insightful)
"Those who do not understand Unix are condemned to reinvent it, poorly."
Why? (Score:2)
Re:Why? (Score:5, Interesting)
Unless Microsoft starts pumping out MS Unix with a Windows front end, none of the reasons for using Linux, BSD, or another Unix go away. This just seems like it would be cosmetic stuff for geeks who are used to being able to awk grep and sed their way out of most problems.
3 things:
1. MS is scared of competition. Their biggest nightmare has come true not from Linux, but from Mobile. If they do not stay relevent people won't buy win32 based apps or Windows
2. Visual Studio was in trouble as the cool kids use node.js, android and IOS development tools there is less demand for Visual Sudio and win32 desktop development. Good Android Studio, IntelJ, and even xcode are all knocking on Microsoft's doorstep
3. Virtual Machines are a pain for non I.T. professionals to configure and consume lots of resources
So Ubuntu and now Suse for Windows gives you the Linux command set. You can even use Debian tools like 'tasksel' to configure a whole LAMP stack and apt-get install npm from bash.exe and have a whole development environment FAST. If you mess something up just uninstall and reinstall Ubuntu/Suse from the appstore or add/remove features and start over.
These updates make it easier to cut and paste SMB and Linux paths and are nice when SSH into servers.
Visual Studio also has Android emulators that use Hyper-V underneath and include CLANG and other compilers if you go into options to help OpenSource and mobile developers. No you did not misread that!
What it shows is in 2017 that MS realized they are no longer IBM anymore. Times change and they want to remain relevant.
Ms also wants to host Linux and FreeBSD servers in Azure as well. I guess this is reason 3.5. As long as they get paid they do not give a shit what OS you use as to MS the platform is not Windows anymore. It is Azure and Windows or Linux are just one of it's layers that run on top. But that is semi unrelated to WSL but explains why VS is warming up to Linux as well.
Competition is good and as MS is very unpopular here, I have to say Apple scared me worse when Jobs was in charge when they started getting powerful. Just think what would happen if MacOS won the 1980s OS wars instead of Windows?
Re: (Score:2)
Just think what would happen if MacOS won the 1980s OS wars instead of Windows?
I always wondered what might've happened if Taligent [wikipedia.org] had seen the light of day.
Re: (Score:2)
Those tools were long available in w32/64 versions; I've been using them for at least 15 years when on Windows.
No, this isn't just adding UNIX tools to the CLI; it's doing what the other major OS players have been doing forever: having a common command line which can do a lot more cross-system work that PowerShell couldn't keep up with.
Who cares if it's Microsoft? You know you have to deal with their shit now and again; be glad it'll soon be iin a way you're more comfortable doing.
To make Linux solutions depend on Windows (Score:1)
Linux programs, scripts, solutions, will now be able to interact with Windows and services that are unique to Windows, creating Linux solutions which will depend on Windows to work properly.
That's the extend part.
Re: (Score:2)
That's the extend part.
I see the other direction more likely: once Windows admins get used to Linux programs, the move away from Windows to Linux becomes much easier.
Re: (Score:2)
Linux programs, scripts, solutions, will now be able to interact with Windows and services that are unique to Windows, creating Linux solutions which will depend on Windows to work properly.
That's the extend part.
FYI I am the author of the story. Lately, hosting daemons on SystemD scares me more than running them via services on Windows :-D~ ... ducks.
Re: (Score:2)
FYI I am the author of the story. Lately, hosting daemons on SystemD scares me more than running them via services on Windows :-D~ ... ducks.
In either case it's hand-editing obsolete MSDOS .INI files and trusting in kitchen sink daemons that run with way too high privilege and can take your entire system down. Not much difference, but then again, the systemd creators grew up with Windows, and did what they were comfortable with.
Never Microsoft for me... (Score:3, Insightful)
I don't care how much they embrace and extend I'll never spend a penny on Microsoft, or use it for free. I'm old enough to remember how they got their monopoly position. An evil corporation run by evil humans.
Re: (Score:2)
Nobody gets proprietary software for free as users pay with their software freedom (the freedom to run, inspect, share, and modify the software); Microsoft's nonfree software is no exception. No matter how little money Microsoft's nonfree software costs you, you'll end up paying with your freedom if you run it atop a nonfree OS such as Microsoft Windows.
Why doesn't Win have complete Bash + tools? (Score:2)
It never made sense to me why Microsoft didn't just toss in Unix tools at some point, like around Server 2003r2 - 2008r2.
The CLI tools wouldn't have meant less Windows server or server programs sold on its own, it actually would have meant some marginal number of free Unixes not installed because the existing Exchange, IIS or SQL box had the tools to do the job.
I see a lot of Unix installed because native Windows tools are totally brain damaged and while a Unix instance raises support questions, it's also f
Re: (Score:2)
PowerShell integrates with WMI and .NET stuff like Active Directory alot easier for stuff like Exchange or SQL Server.
This is real bash and Ubuntu binaries running, but is mainly for developers as to not loose marketshare to Linux and MacOSX. Not for system admin stuff. However the latest beta make using OpenSSH much easier for system admins too if you need it and no longer need Putty.
Re: (Score:2)
Yeah, but the "integration" is in the individual commands and the binaries behind them, not in shell script syntax or logic.
I get that in PowerShell it's object oriented and you can pipeline objects, which is indeed useful for stuff like Exchange where you actually deal in objects like "mailbox", etc.
But I don't see where there's still not a lot of usefulness for plain-old unix style pipelines and text processing. Powershell is unusually brain damaged in this regard, outright missing many simple Unix text
Re: Why doesn't Win have complete Bash + tools? (Score:1)
"It never made sense to me why Microsoft didn't just toss in Unix tools at some point, "
Lock in, validation of their (perceived) competition, indoctrination of the M$ way... worked for them for decades to solidify a monopoly position. Nothing has changed, except the market shifted and now they are trying embrace - extend again.
Have already seen it work for them... a competent and talented developer came to one of my projects, and we could not for the life of us figure out why he had so much problem reprodu
yay path conversion (Score:2)
Also a tool is available called WSLPath to convert Linux to Windows path options
Thank the lord!
Re: (Score:3)
I wonder how that works with paths like
/path/to/src/aux.c
/path/to/con/file1
/path/to/ST:TNG/s1ep2
/path/to/makefiles/makefile1
/path/to/Makefiles/Makefile1
Or where only the case differs:
Never mind NFS network paths like
/net/remotehost/path/to/file
Re: (Score:3, Funny)
Here's my guess at how Microsoft will solve the middle problem:
c:\path\to\MAKEFI~1\MAKEFI~1
c:\path\to\MAKEFI~2\MAKEFI~1
p.s. I think I just threw up a little bit in my mouth.
Re: yay path conversion (Score:2)
Re:The very last thing I want is more bloat and mo (Score:4, Informative)
Qubes Hardware Compatibility List (HCL)
https://www.qubes-os.org/hcl/ [qubes-os.org]
Re:The very last thing I want is more bloat and mo (Score:5, Interesting)
Nobody is being forced to install the Linux subsystem for Windows. Only people who want it. For me it makes Windows a lot more tolerable, and it means I don't have to give up my familiar tools when I boot into that environment.
Re: (Score:2)
Ok AC, I'll bite: what do you mean? And are you implying that CygWin was superfluous (before the Linux subsystem came).
There was a brief Linux system for Windows that came out some years--maybe a decade?--ago. My recollection was that it was experimental, buggy, and was removed soon thereafter.