4 ms·
In my experience, emulators are never quite the same as the real deal. Has anyone used this, and if so how was it?
by tyrw 9y ago
In my experience, emulators are never quite the same as the real deal. Has anyone used this, and if so how was it?
- IncRnd 9y agoAfter this was initially announced I ran apt-get a a few times for dependencies, then compiled OpenSSL inside the box. I also got linux apps working with a gui, which was quite possible. On balance, due to security issues, I decided not to use WSL for day to day.
- SPACE_LAWYER 9y agoIt's not an emulator
- dboreham 9y agoDepends on your definition of "emulator". Since it is a thing that emulates Linux kernel calls on top of the NT kernel...it is definitely "emulating".
- BinaryIdiot 9y agoThe dependency to make this work is transforming the calls but the Ubuntu itself is not. Not everything has to run through that translation layer either, only specific types of calls to make things work. Code that isn't using specific *nix commands will run like normal without that layer. It's pretty complex. I don't think I would call it an emulator but I can see why someone would.
- drdaeman 9y agoA mirror of WSL is WINE, and we know that WINE is Not an Emulator ;) But, yeah, jokes aside - it depends on the definition. Still, the translation (or emulation) layer is partial at best. No cgroups (so no native Docker and rkt would work only with fly stage1 and a few patches), sockets are limited (e.g. a number of setsockopt stuff is missing), no tun or tap devices, no netfilter subsystem at all (so no iptables/iproute2/nftables), no GPU access, etc etc etc. Even though it's out of beta it's a bit early to think of it as a "real deal". Best it can do is run some desktop apps and build some software. Would probably work for basic webdev stuff (without containerization), but that's about it. It would probably never come close to the real thing, just as WINE probably won't ever replace Windows. But they try. And, of course, it's non-free.
- therein 9y agoIt is not an emulator and the experience is pretty great for anything involving Linux as a workstation. Even though they say "NO current plans to support X/GUI apps, desktops, servers, etc. at this time", this is achievable by installing VcXsrv.
- tyrw 9y agoPerhaps emulator was a poor descriptor in this case -- I haven't used it. But it is running a subset of functionality non-natively, correct?
- zbuttram 9y agoFrom what I understand it's mainly translating system calls. It's been described as being like a reverse WINE, hence everyone replying 'Not an Emulator' at you. :)
- tzs 9y ago> It's been described as being like a reverse WINE, hence everyone replying 'Not an Emulator' at you. :) WINE originally stood for "WINdows Emulator". It was several years later that it became "WINE Is Not an Emulator". The change was for marketing reasons, not technical reasons, since nothing had actually changed in how WINE worked. The first time anyone suggested "WINE Is Not an Emulator", as far as I've been able to track down, was late August, 1993, over concern that Microsoft might win its trademark case over "Windows" and come after WINE. Someone suggested WINE become WAW, for "WINE Ain't Windows", and someone else responded to that suggesting "Wine Is Not an Emulator". Soon fear of the trademark issues abated and nothing happened for quite a while. By 1997, the "not an emulator" usage had become an acceptable alternative. The Wine FAQ late that year said: > The word Wine stands for one of two things: WINdows Emulator, or Wine Is Not an Emulator. Both are right. Use whichever one you like best. The dropping of saying WINE was an emulator came in late 1998. The 981108 release notes said: > This is release 981108 of Wine, the MS Windows emulator. The 981211 release notes said: > This is release 981211 of Wine, a free implementation of Windows on Unix. From what I was able to find, it seems there were a couple reasons for dropping calling it an emulator. One was that it could be used for more than just running a Windows binary on Unix via emulation. It could also be used as a library that you could link with code compiled on Unix. This provided a way to provide a native port of you Windows program to Unix instead of running the Windows binary in emulation. Calling it an emulator unnecessarily pigeon holed it. Another was that emulators that emulated hardware were getting popular. People were making emulators that emulated x86 hardware on RISC systems. They were making emulators that emulated older personal computers, like C64 and Apple II. They were making emulators that emulated console gaming systems like NES. One thing all of those emulators had in common was that they were very slow, in the sense that emulating one instruction of the emulated machine took many instructions on the host machine. For emulating the old gaming consoles, or the old 8-bit personal computers, where the host machine was running two or three orders of magnitude faster, that was not a problem--the emulation could run as fast or faster than the original machine actually ran. But when emulating something more contemporary, such as emulating an x86 PC at the hardware level to run Windows on it, they were very slow. Since hardware emulators like these were the only kinds of emulators most people encountered, people tended to see "emulator" and read "ridiculously slow". If they kept calling WINE an emulator, many people would think that means it is ridiculously slow and avoid it, so they stopped calling it an emulator.
- deleted 9y ago[deleted]
- freehunter 9y agoIt's not really an emulator. It's more like a virtual machine that runs Linux in the background and lets you use the commands. You can install Ubuntu with it and it's officially supported. If it didn't work, I'm sure Ubuntu wouldn't run.
- tyrw 9y agoThanks for the clarification. I guess I'm having a hard time classifying it, since you can use an actual VM but this seems like something less than that.
- mkl 9y agoCorrect, it's not a virtual machine at all. It is a reimplementation of the Linux kernel's API. Most userspace Linux programs run as normal and can't tell that the system calls they do aren't handled by the Linux kernel.
- bitwize 9y agoWhat it is is what BSDers call a "kernel personality". It's not a virtual machine; the Windows kernel just knows how to load Linux binaries and translate Linux system calls to the corresponding Windows calls.
- semaphoreP 9y agoIt works great for me. Like others have mentioned, it's not an emulator, so I don't feel sandboxed using it. The main downside is one of the caveats they mention: "Linux files are NOT accessible from Windows." Hopefully they can fix this in the future.
- shpongled 9y ago%AppData%\local\lxss\rootfs Have fun
- semaphoreP 9y agoI recall there were issues if you tried to modify those files in Windows. Maybe they've fixed that in recent updates, but my impression was that while I could see the files, I shouldn't be touching them.
- justabystander 9y agoYes. Updates to those files didn't seem to be reflected in bash until I'd closed and reopened the terminal.
- russellsprouts 9y agoCareful: the Linux permissions of these files are stored in attributes of the files, and many tools don't preserve them properly. You'll likely lose access to files if you try this. https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/ https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-n...
- deleted 9y ago[deleted]
- math0ne 9y agoFYI, this does not work.
- ruricolist 9y ago
- wvenable 9y agoIt works frighteningly well; it's practically magic how well it works. I've even used it run GUI apps (mostly emulators for embedded software) via a Win32 X client. In early builds I did have some file system weirdness but I believe that's all be resolved now. I expect the creators update will be a very solid version.
- nickthemagicman 9y agoAlot of stuff works great. I had a pretty high functioning dev environment. Hit snags when I tried to interact with the hardware. Like for setting up VPNs or networking tools. I think because it doesn't manage the hardware.
- OhSoHumble 9y agoI had it break on me a while ago because there was no inode support and that's needed for hot-reloading of code when developing with web frameworks. I'd rather just use Linux and not be surprised by anything.
- wfunction 9y agoWould you mind elaborating a bit? What's the exact functionality that's required? Is it like notification support for file modification or something?
- chrisan 9y agoWasn't that the first beta release of insider? I thought they fixed inode support https://blogs.msdn.microsoft.com/commandline/2016/10/07/wsl-adds-inotify-filesystem-change-notification-support/ https://blogs.msdn.microsoft.com/commandline/2016/10/07/wsl-...
- OhSoHumble 9y agoThey did. My point was that I just don't want to encounter bugs. When I run Linux, I get Linux. I already have it installed and I know how it works. I don't want to take the chance of a bug breaking my development workflow.
- BinaryIdiot 9y ago> My point was that I just don't want to encounter bugs. You purposefully installed a pre-release version in which they heavily mentioned there would be major bugs and other unfinished things in it. I'm not sure what you expected here but unless you're talking about the release version I don't think you're being fair at all.
- alexanderdmitri 9y agoWith the Creators Update there was major improvement. Here's how I'd put it: I used to bring a picture of home with me on business trips, now the house just comes along more or less (there are the occasional plumbing issues on the road and it's jarring sometimes when I go outside and realize I'm in some weird neighborhood with maple syrup coating the sidewalks and immediately I'm getting hustled by some guy with his arm around my shoulders and people aren't walking anywhere, just standing there looking at me without blinking and even with the hustler spinning his yarn there's this eerie, heavy silence like a summer storm always on the horizon and I start to miss the fresh clean mountain air back home all the while trying to disengage myself from the hustler without starting too much of a conflict but when I step away my right shoe stays stuck on the sticky street and I stumble over and the hustler, before I've even hit the ground, he's already got his fingers around the wallet in my back pocket and still everyone just stands there watching as I smack pavement ... you know?).
- wentoodeep 9y agoI've been using this for back-end dev since 14.04 distro (lastest update is xenial). Quite stable and very fast, no emulator or vm come close to WSL. Best gift from MS to devs after VS.
- dannysu 9y agoIt's still way too slow for me using tmux. File system performance seems bad. Have tried multiple times to use it. First when it was first announced, and then again when Creators Update came out. But... it's just not good enough yet. Hopefully the Fall Creators Update improve things. For now, running a Linux VM is still way faster.