4 ms·
I have to say after the initial excitement, I'm a bit disappointed about how this is implemented. Apparently, there is no or little interaction between the Linu
by captainmuon 11y ago
I have to say after the initial excitement, I'm a bit disappointed about how this is implemented. Apparently, there is no or little interaction between the Linux world and the Windows world in this system. I don't see the benefits over running a classical Linux-as-a-process like coLinux, or something like Cygwin or MinGW.
The option to run unmodified executables is nice if you have closed-source linux binaries, but they are rare, and this is directed towards developers and not deployment anyway (where this might be a useful feature).
When I heard "Linux subsystem", I was hoping for a fuller integration. Mapping Linux users to Windows users, Linux processes to Windows processes etc.. I want to do "top" in a cmd.exe window and see windows and linux processes. Or for a more useful example, I want to use bash scripts to automate windows tools, e.g. hairy VC++ builds. And I thought it would be possible to throw a dlopen in a Linux program and load Windows DLLs. Since I don't need to run unmodified Linux binaries, I don't see what this brings to me over cygwin.
I am hoping though that this might be a bit more stable (due to ubuntu packages) and faster than Cygwin, and that it might push improvements of the native Windows "console" window.
- pjc50 11y agoMapping the processes across implies all sorts of strange things - what happens if you try to send a Linux signal to a Windows process? Mapping the users is possible and "SFU" did this, with a couple of caveats (Windows requires group and user names to be different, while UNIX systems often have groups with the same name as users). I don't think this is a Linux or GNOME killer, but it might put a dent in Cygwin and git-bash.
- SXX 11y agoWine somehow solve that. Even if almost nobody use that Windows application still able to use native APIs if it's detect that it's running in Wine. E.g for example Windows Steam client checked Wine version long before native Steam appear. I think Microsoft can do something similar.
- netheril96 11y ago> what happens if you try to send a Linux signal to a Windows process Performs the default action as if it were a Linux process. Mostly terminate or ignore.
- Sanddancer 11y agoWindows does have signals, just not nearly as many as Unixes, and are mostly built around how to kill a process. So I imagine all the non-terminate ones will be mapped to just be ignored. https://msdn.microsoft.com/en-us/library/xdkz3x12.aspx https://msdn.microsoft.com/en-us/library/xdkz3x12.aspx
- andkenneth 11y agoI would bet that it will only get better over time and include a fair amount of the things you are talking about in a few years time. It's obviously a big push to pick up the current "I use a mac for development cause it's unix" crowd, I'm sure they're taking it seriously and would want the support for developing in a unix style A+.
- zxcvcxz 11y agoHow will they pick up the crowd who chooses their OS because it's mostly FOSS and not a branch of the NSA used for mass data collection? Most devs I know care about privacy and it was one of the main reasons they switched from Windows. Most Linux programmers I know aren't Windows devs as much as the MS shill team would like everyone on social media to believe. You don't have to be part of the FOSS crowd to support FOSS. I'd wager the majority of the programmers you know would be ecstatic for Windows or OS X to go open source, and if they use OS X/iOS they probably do care about their privacy. I don't know a single developer that uses a windows phone or a Windows workstation purely out of choice, most devs I know that are ingrained in Windows are using it because they have to. Stack overflow statistics show that programmers disproportionately choose OS X and Linux over Windows when compared to typical desktop usage (Linux use skyrockets among programmers compared to desktop). These "Linux programmers who want Windows" only exist on the internet as far as I can tell. No one actually wants to use Windows.
- Roritharr 11y agoMy anecdata is different. Most programmers i've met in my career aren't part of the FOSS crowd, they own iPhones and MacBooks and happily run Software from the Mac AppStore for their dev purposes, or are on Windows, have never built a tool they use from source and without a line by line guide wouldn't be able to do that on Linux. The few coders that I know that are part of the FOSS crowd, have their ThinkPads or Dell XPS Developer Editions with Gentoo,Ubuntu or Arch. This isn't for them, its for the ones already on Windows or OSX.
- evook 11y agoExcept if you expect a snappy UI. OS X and Linux with X11 or even Wayland are easily 20 years behind windows in terms of UI responsiveness and snappiness. The constant input lag of unix desktops always drives me back to windows for my workstations, although I am a fullheart windows server hater and despite everything that comes with it. It's stable, extremely fast and when edited/hacked right also privacy aware.
- isaacdl 11y agoHmm, I guess I'd assumed that I'd be able to use bash scripts to automate Windows functionality (that was probably the most exciting part for me!). You're saying that's not currently possible? What about more basic things, like moving files around, etc.? I'd be happy if I never had to write a (Windows) batch script again...
- Tyr42 11y agoWindows files exist under /mnt/c or something. I think you could.
- JdeBP 11y agoGiven that you've touched on two of the "No; but the old POSIX subsystem did." points ... * https://news.ycombinator.com/item?id=11416392 https://news.ycombinator.com/item?id=11416392 ... would you, too, agree with a call for its resurrection? * https://news.ycombinator.com/item?id=11391841 https://news.ycombinator.com/item?id=11391841 * https://news.ycombinator.com/item?id=11391798 https://news.ycombinator.com/item?id=11391798
- mschuster91 11y ago> And I thought it would be possible to throw a dlopen in a Linux program and load Windows DLLs. No. Execution mode incompatible - see e.g. https://github.com/wishstudio/flinux/wiki/Difference-between-Linux-and-Windows https://github.com/wishstudio/flinux/wiki/Difference-between... for details. What would really interest me: how was fork() implemented by MS here? The same method as http://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork/985525#985525 http://stackoverflow.com/questions/985281/what-is-the-closes... or have different interfaces been created?
- izacus 11y agoSince NT kernel supports fork, I guess that wasn't a problem, since the bash mode doesn't use WIN32 API (which is lacking the fork() function).