Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I would love to run GUI Emacs using this, so this is great news for me.

At the same time, does anyone both love WSL, but is also scared about Microsoft's strategy here?

I'm at the point where I have a main desktop computer that I use for general purpose and gaming, and WSL has been great for me to also be able to do few-compromises coding work on it (previously had an arch linux partition but was tired of having to reboot to access it).



> but is also scared about Microsoft's strategy here?

Scared of what?

I have spent years either in Window's inferior environment for development or having to dual boot or running something like VMWare workstation. I do that because linux is inferior for gaming/entertainment. I have never "enjoyed" a single linux desktop environment, I spend the majority of my time coding or running stuff on terminal.

I'm in my 40s and tired of going back and forth between the two. WSL has been a godsend

Linux has as much to be scared about from Microsoft as Microsoft has to be scared of Linux gaming


> I do that because linux is inferior for gaming/entertainment.

It really isn't any more. I play a lot of games and only one so far has refused to work well on Linux, and that's one which is emulated on Windows so I can't blame Linux too much for it. And that's on a laptop with nvidia's power-saving shit thrown into the mix. As for entertainment, aside from Firefox having issues with hardware acceleration, most of which have either been fixed or are being fixed, I haven't faced any in Linux that I haven't on Windows. That said, I don't use HDR, so I can't vouch for that.

On the other hand, I've had significant performance issues with WSL, especially on disk use, and I don't really care for windows update bugging me all the time and the telemetry. I jumped on board Linux with Pop!_OS and it's been a delight. I used to be just as negative on Linux, but I have been so, so happy I've been proven wrong.


No matter how you see it, games are primarily made to run on Windows and the other OS's are an after thought. I am not saying it didn't get better but gaming on windows is natural and requires no special configuration. A normal user who wants to play games if he's not already on a gaming console the next best option is Windows.


> No matter how you see it, games are primarily made to run on Windows and the other OS's are an after thought

I think this hasn't been true for some time for studio games. Most (big budget) games are ported to windows from consoles, except for indie titles


Most big budget games have a cross platform engine, at least for development purposes.


And yet most big budgets games don't work on Linux, whereas most indie games, or from smaller companies do.


While I agree with you on the fact that it's way easier to run games on Linux than ever (especially steam games thanks to proton and DXVK, but it trickled down to most games as well) and that Linux never had so many supported games, I still spent 3 hours to install torchligh 2 the last time I wanted to play with it, dispite it being sold as Linux-compatible! Oh, and I spent 4 days (not full time obviously) installing WoW Classic last year, and it involved manually installing a release-candidate of the latest kernel. So it's still definitely not for the faint of heart.

But at least now it works! (Unless it doesn't because some retarded anti-cheat software which doesn't actually prevents cheating, gets me banned after a few minutes. Looking at you Apex Legends)


Having worked at a few of "the big guys" on hardware, I can assure you linux is alive and well there on heavily customized linux versions for internal usages for developing driver code/OS interactivity for hardware because it is so superior to the hoops you have to jump through for Windows. Then most all of that experience can be brought over to Windows development with lessons learned.


I don't know, I thought I would be using a mac for the rest of my life because it interoperated so well. I could run windows, I could mostly treat macos like unix, and I could boot linux if I wanted to.

But they went down the navel-gazing path - everything pointing inwards to their ecosystem and picking off the useful interoperability stuff little by little until almost nothing is left.


Bingo. The day I can put things in cron in WSL and have them run without needing a window open is the day I stop running a Linux VM.


Have you tried installing a cron daemon in WSL using your distro's package manager and starting it with, e.g.,

  wsl -u root /usr/sbin/service <daemon-name> start
or, equivalently,

  wsl -u root /etc/init.d/<daemon-name> start
Because I've been starting Debian sshd this way using a Windows Task Scheduler "At startup" task for years, in both WSL 1 and WSL 2, and it "just works".

Note that, for my case, WSL 2 requires an additional command to map a TCP port from external adapters to the VM's "host-only" interface, e.g.,

  powershell.exe -NoProfile -NoLogo -Command
    netsh interface portproxy add v4tov4
      listenport=2022 listenaddress=0.0.0.0
      connectport=2022 "connectaddress=$(
        wsl -u root -e perl -e '
          print qq{$1}
            if qx{ip -br addr show eth0}
              =~ m{ ([0-9.]+)/}')"
as a single line, replacing "2022" with the TCP port you want available externally.


>he day I can put things in cron in WSL and have them run without needing a window open is the day I stop running a Linux VM.

You could have already been doing that for years[0].

[0] https://cygwin.com


With Steam's Proton, I haven't noticed a difference with Linux gaming. It works out of the box and has no significant issues.


> I have never "enjoyed" a single linux desktop environment

Just because you don't like linux desktop environments, doesn't mean everyone doesn't. I've used several linux desktop environments, and I prefer all of them to Windows (my current favorite is i3/sway). Of course that is a personal preference. I know some people prefer the windows (or mac) desktop experience to linux's, and that's fine. Just don't say that my preference is invalid.

> Scared of what?

That they will try to pull off the "Extinguish" phase of their infamous "Embrace, Extend, Extinguish". I am doubtful that they would be successful extinguish linux at this point, but whatever they do to attempt such a feat could very well cause some pain for desktop linux users.


I wouldn't call windows development inferior. Just different and narrow.

For C++ and C# windows has the best IDE for it. For C++ CLion is the next best IDE but it's nowhere near as fast or snappy as windows visual studio IDE.

Also keep in mind most developers use visual studio code nowadays which is a microsoft creation.


It’s weird that you call Visual Studio snappier/faster than CLion. From my experience VS 2019 was extremely laggy even on small-size projects. I’ve heard from some gamedev veterans that VC 6 was the last “usable” version and performance/usability/responsiveness went downhill after that. (Here’s a famous rant by Casey Muratori who later compares the load times of VC 2019 and VC 6: https://youtu.be/GC-0tCy4P1U)

To admit, it has one of the best debuggers though. But CLion seems to have catched up in that department, and seems to have way better CMake integration than VS does. CLion still needs more work on performance (as well as support for other build systems), but it’s still the editor that I’m optimistic about.


I write C# code on a medium-large solution (ASP.net, 60 or so projects, ~1M LOC) and to be honest I don't know why everyone thinks that VS2019 is so great.

VS2019 frequently freezes for multiple seconds. When project files change (e.g. because you check out a different branch) VS often fails to load the modified projects and I need to restart the IDE.

Then there's the fact that the refactoring tools in VS2019, despite improving significantly since older versions, are still way behind ReSharper or IntelliJ.

I also generally dislike the UI I'm VS2019. The Git integration works, but it's cumbersome to use. You can't easily have multiple run configurations. The error/warning list pops up seemingly at random.

I use Rider now. It's not perfect, but I am just much more productive in that environment.


The MSVC debugger won't do any of the things I need a debugger to do, besides your basic stepping and breakpoints.


After trying both, I vastly prefer the workflow that CLion offers. Both are slow, heavy programs though.


Why are you coding on a gaming/entertainment machine?


Why would you have a separate machine just for that? I thought one of the strongest points of PCs (as opposed to phones/game consoles) was their wide applicability to pretty much every task?


In my case, mainly to lower the risk of supply chain attacks. Windows gaming and other such activity still includes a lot of “must run as administrator and does unclear things with this”, especially in anything with anti-cheat mechanisms as mentioned elsewhere, and there are environments (especially when dealing with mods) where you can wind up running code from dozens of randoms across the Internet in nothing approaching a meaningful sandbox. Popular messengers, video apps, etc. don't exactly seem trustworthy nowadays either.

I wouldn't want to try to directly deliver anything from such an environment that I would ask other people to run. Even my more-trusted development laptop feels scary at times, especially when I'm operating in environments where I have to do about the same thing as above with installing a dozen dependencies from who-knows-whom. I generally use separate build UIDs for some measure of separation in these cases, but we still have Linux and X being potential emmentaler attack surfaces, and I haven't yet arranged my workflow to the point that spinning up new virtual machines is trivial, especially because then you have a lot more friction with testing GUI software, sharing existing files, etc. etc.—most of the easier solutions to which seem to be very cloud-oriented and “when your Internet connection goes down, so does everything else”, which is something I insist on pushing back against in this context, including because “someone upstream did something unexpected and now everything is instantly broken in a way I have no real leverage over” is its own massive trust hazard.

My dedicated low-sensitivity machine isn't very powerful, so the cost wasn't as much of an issue as it could have been; it was a midrange laptop several years ago which I'm still using. If your workplace environment comes with its own hardware, then that's a thing too.

It would certainly be nice to have better, though, and the desire for less redundancy of costly hardware is legitimate. My desired setup from a while ago, which I never managed thus far, is to have more powerful hardware with multiple boot configurations, but not all of them persistently present like most multi-boot machines: instead, I would physically attach and detach system and user disks, assuming that firmware-level attack persistence is rare, and then rely on power-down flushing any lower-trust code before attaching a higher-trust disk. It'd be hard to ask most people to do this, though.


Obviously not if they're having to shoehorn Linux in there just to attract developers!


They don't have to do that. But it's yet another thing that can be done.


Sure, but it rather pokes a hole in the concept of general computing, does it not? If windows were an acceptable general purpose OS people here would be mad they were wasting their time on this.

Somehow I just don't see the same demand for people on macs/linux and WINE. It seems like a niche interest to actively want to combine the two worlds and I am VERY interested if any significant number of people use this who are not driven by gaming needs.


Sure, but it rather pokes a hole in the concept of general computing, does it not?

I don't see how. I pretty much think anyone should do whatever they want with their computers. Windows is acceptable for some, and not for others. I can't see the point of getting mad about what software other people are running.

I have never used WSL, but if I ever do, it definitely won't be for gaming.


Outside of the HN crowd, it's unaffordable to maintain two separate, fairly powerful computers for work and gaming.


Like, game consoles? That seems to be the way the average person games. It's also far cheaper than pimping out a PC.


Not all game genres are optimized for console. First person shooters come to mind.


Why not? It's great having a single machine that can do everything.


Computers are multi-function, and often general purpose.


Why do you have a single gaming/entertainment machine? Shouldn't those functions also use separate PCs?


Why? They can both be done on the same hardware. Why buy more hardware when it can be fixed in software?


I think it is up to the owner to decide and not for you to tell the others how to do the things they do.


It was a reductio ad absurdum argument


Running a gaming/entertainment system on your workstation irresponsible. Even before I switched to Manjaro Linux for my daily driver workstation, I had separate machines for gaming and working.

First of all, because I've seen many a PC game anti-cheat software cause system-wide issues.

Second, because I don't even do those things in the same room.

Third, because for your common web developer a 2nd PC is cheap. You can get a refurbished i5/i7 machine, add a new 32GB of RAM and a 512GB SSD for less than $500. [0] This will last you for 5 years, easy.

I'm also in my 40s and I like things simple, clear-cut and easy. Mixing Windows with Linux is none of those. Dealing with one work OS is by far easier than dealing with two of them. Also, XFCE runs circles around the Windows GUI while providing better features liked a tabbed file browser and a taskbar that natively supports all the features that I used to have to hack into Windows with 7+ taskbar tweaker.

[0] https://www.amazon.com/s?k=HP+elite+renewed


I used to have a MacBook for work (sw dev) and a gaming desktop PC for entertainment and hobbies (games, music production, photo editing and graphic design).

Until one day, this part wasn’t true any more:

> Third, because for your common web developer a 2nd PC is cheap. You can get a refurbished i5/i7 machine, add a new 32GB of RAM and a 512GB SSD for less than $500. [0] This will last you for 5 years, easy.

Unfortunately not all types of dev work can be done on a middle-of-the-road machine.


> is also scared about Microsoft's strategy here?

Terrified. I'm expecting the next round of secure boot to come, this time without the ability to disable or add your own keys. To the people that complain they can't boot linux, I expect the response to be "but you can run linux from windows, silly!"


I've been hearing hysteria about "Microsoft is going to block people from booting Linux!" since like 2005. They don't even do it on their own line of hardware. If they wanted to do it, they would have by now.


They removed the requirement of Secure Boot being deactivable from OEM requirements.


When was that ever a requirement?


Surface models running Windows RT (windows on arm) had locked secure boot where you couldn't replace the master keys.


"Surface RT" / "Windows RT" was never intended to be sold by other OEMs though.


Out of curiousity, is WinRT / SurfaceRT sold at all anymore?

I thought that died and got buried a while back.


* “Windows RT” - no. That’s now normal Windows 10 for ARM, now devoid of that arbitrary restrictions present in “Windows RT” (“Windows: Really Terrible”).

* “WinRT” - yes. That’s the new COM+WinMD platform API added in Windows 8 (and initially only available to “Windows Store apps”) and incrementally improved since then and now part of UWP but it’s existence is weird. Some parts of WinRT are available outside of UWP but it’s a confusing mess.

* “Surface RT” - Yes, the “Surface 2” and then the “Surface Pro X”. Note that the Surface RT and Surface 2 were both locked-down to only run Windows App Store programs whereas the Pro X (and all post-Win10 ARM machines) are not artificially restricted this way.


There was the requirement for x86, by Microsoft, during the Windows 8 times, that Secure Boot to be possible to deactivate in the BIOS. That is no longer the case. https://www.techspot.com/news/60132-microsoft-leaving-option...


It is I think possible but not very likely


If you're like me, and just don't want to shut off Linux to play some games, I'd recommend looking into virtualising Windows and PCI passthroughing your GPU. I just change the channel on my monitor to switch between Linux and Windows, but if you have two monitors you can dedicate one to each OS. You don't need a hardware kvm switch, evdev lets you swap keyboard/mouse control between host and guest OS with LCtrl+RCtrl, and audio goes through Pulseaudio.

You get to avoid using WSL and get the full Linux experience without compromising gaming – with few exceptions: the more extreme anti-cheat software detects VM usage, and that applies to a very small set of AAA games.


What virtualisation software did you use to achieve that? I spent a few days trying to get it to work on virtual box, vmware and kvm.

I gave up and install the Windows to dual boot.


You can get it to work with VMWare and KVM, but in most cases you'll run into problems with hardware. Very few motherboards (and GPUs) actually properly implement the required functionality, so if you don't consider this use case during hardware selection, chances are you won't be able to get it to work in a stable manner.

A motherboard claiming support for VT-d is no guarantee that it is able to do anything useful with it.


I think their strategy is to be a better competitor to macOS for development use cases.


Yeah, pretty much. I don't think they're trying to do the embrace-extend-extinguish thing here at all, at least not in a "willful" way.

Devs I know of that use macOS do it for the "Linux without the jank" aspect - essentially as an "it just works" quasi-Linux distro. If Windows could provide the same experience, or at least a very similar one, I do believe a good number of devs 'raised' on Windows would stay. In my lifetime, I've seen more people convert from Windows->macOS due to wanting to do dev work in a "Linux-like" environment than anything else. It makes sense for MS to want to mitigate that bleed-off.


Yup, this is my exact use case. I'm needing more hardware and my multiple Macbook Pros are getting old - but i'm not satisfied enough with Mac these days to drop $4k on upgrading. Apple would have to make me really happy with the software (read: bug free, primarily) for me to spend the upscaled costs in their ecosystem.

So now i'm installing Windows and Linux, comparing them and the ease of use. I don't want _any_ driver problems, frankly i just want the OS to get out of my way. Historically, Linux has given me such a terrible experience with things like "my BT doesn't work, my sound doesn't work, my monitor doesn't work" that switching away from Mac was viewed as an impossibility.

Now however, i see a way out, and i'm taking it. I've experimented with WSL2 and it's shockingly good so far. I'll likely install PopOS this weekend to see if i experience problems. If i even hint a problem in Linux, i'll likely revert back to Windows.

Mac is losing it's lunch imo. But, i get to build a workhorse of a PC for the same price i would have given Apple - so i'm happy.


Mac isn't losing its lunch. We're just not their target users base anymore.

Why sell to these demanding power users wanting complex stuff when you can sell to the rich consumer who just wants to dick around on Facebook and play with their iDevices all day :P


This! I’m still on WSL1 and plan on moving to WSL2 during my next Sabbath month.

WSL gives me access to all my regular devops and developer tools + Linux shell while I don’t have to reboot for gaming and music production.

I switched about 1 year ago. Windows is now again a solid OS choice for developers and I expect lots more developers to make the switch with the recent and upcoming MacOS changes.


Well, the switch takes about five minutes.

It’s just wsl -—set-version <distro> 2.


Yes I know, but I currently have a good setup with WSL1 where my code lives on my Windows disk, IntelliJ runs on Windows and I use WSL for terminal tools like git/zsh/tmux/terraform/kubectl etc.

Just switching this setup verbatim to WSL2 will most likely lead to performance problems on file I/O from WSL to the windows disk (due to the architectural changes from WSL1 to 2). File I/O within WSL became faster, but crossing the boundary is more expensive making tools like git unusable when the code lives on the windows side. I could move the code to the WSL side but then every IntelliJ I/O operation needs to cross the "slow" boundary. Unless I also switch IntelliJ to WSL so it will probably take some experimentation before I arrive at a proper WSL2 setup that satisfies my needs.


Yep, with apple killing of nvidia drivers on macOS, i'm rolling with windows these days for deep learning development. Linux is too much hassle coming from macOS


Since I use Windows + WSL at work and macOS for my personal machine, I really wish the Windows GUI experience was as nice as that on macOS. But it really isn't.


Yup. Definitely feels like "how much dev market share can we capture by just putting a nix inside our OS?" Make it performant enough to not even seem like a vm. Then get people to stay on the platform.

I still find windows usage painful and sluggish compared to ubuntu and left in the dust by xubuntu so I'd rather have the reverse with a windows vm.


Windows is not painful and sluggish compared to Linux GUIs. It's on par. If your GUI is sluggish it's because you're letting stuff like letting crappy antivirus and malware detection run in the background or you have an underpowered machine for what windows needs. Sure Xubuntu will trash Windows on an old P4 however on modern hardware they'll be fairly equivalent with windows having a slight edge due to better video acceleration. I use both daily and they're both responsive environments.


> Windows is not painful and sluggish compared to Linux GUIs. It's on par.

30% longer compile times than on Linux on the same hardware.

Using git takes time compared to being instantaneous.

Running "hello world" written in .Net takes 3-5 seconds compared to <<1 second on Linux on the same hardware.

> If your GUI is sluggish it's because you're letting stuff like letting crappy antivirus and malware detection run in the background or you have an underpowered machine for what windows needs.

As I mentioned above, Linux is amazingly much faster on the same hardware! And brand new 2018/2019 hardware at that when I measured last time.

That said antivirus is a real problem. Part of the problem is that mandatory Windows OS often signals sysadmins that doesn't care, so you often get tragically bad antivirus, possibly misconfigured at that.


I/O on Windows is definitively slower point and it affects git performance but OP says about GUI.

https://news.ycombinator.com/item?id=18783525


No, because:

1 - throughout all these years Linux developers have been giving money to Apple instead of supporting Linux OEMs. Using a BSD flavour to target Linux

2 - Apparently many like the extend done by Google with Android and ChromeOS


Correct me if I'm wrong but unlike your point 2, doesn't WSL make the Linux kernel obsolete in the long run? That'd be the Extinguish part which is still far beyond the horizon but isn't it something worth thinking about?


WSL2 actually uses a virtualized Linux kernel, as opposed to WSL1, which implemented Linux APIs on top of Windows, a la Wine.

Here's the source (literally). https://github.com/microsoft/WSL2-Linux-Kernel


Microsoft knows that most server applications end up running on Linux and not on Windows. The Linux kernel is not going anywhere, MS is ensuring it doesn't lose more developers to competing OSs. At the same time staying loyal to MS probably also means if you need Linux on a the cloud you'll opt for Azure instead of AWS or Google.


That was a short, interesting test but WSL is now a Linux VM with nice integration in Windows. So no, it doesn't obsolete the kernel in any way. If anything, abandoning WSL1 can be considered proof that MS with doesn't have enough interest in replacing the Linux kernel.


Not so much with WSL 2, which Microsoft are focusing on at the moment; WSL 2 runs a real Linux kernel in a lightweight Hyper-V VM with lots of jazzy integration services.


Actually it’s more likely to go the other way around. What do you need the windows kernel for if almost everything is cross platform now and/or has a compatibility API layer?


This may be true in WSL 1, but WSL 2 uses actual Linux kernel, it won't be a problem. Instead, what will be affected is Linux Desktop.


> That'd be the Extinguish part

And how exactly are Microsoft going to force you - particularly you, personally - to stop running your own Linux kernel?

This is the same kind of ridiculous fear as any other -ism, as if lots of black people around will turn you black, or lots of gay people around will turn you gay, or lots of Muslims around will turn you Muslim.


By adding so many features to the WSL experience that (at least for their intended use case) using native Linux is such as strap ball that it falls into disuse


Microsoft making a good WSL will not change the Linux you have right now. Fearing that the Linux you have right now will "fall into disuse" means fearing that you will stop using it and you can choose to continue using it no matter what Microsoft does.

A less charitable read of your position is that Microsoft will tempt other people away and they will no longer give you cost-free updates. Of course you don't mean that.


Destkop Linux has had 30 years to provide such experience.

Apparently the large majority is fine with POSIX CLI, tiling window managers and some Electron apps thrown in.


Well yes. This is phase 2 of 3 the first being embrace (see Microsoft loves Linux) and the current one being extending. Only here they’re extending Windows to cater to Linux use cases. The next and final phrase is extinguish. If Windows becomes equivalent to running a Linux distribution but can also run the entire Windows ecosystem of applications not to mention all your games the way they were meant to be played, not via proton or any other translation layers, then what will be the point of greater Linux adoption among businesses and governments? Licensing? All Microsoft would have to do is make Windows free and make all that revenue back on upselling Azure and/or Office.

Personally I tried WSL2 out and it was pretty good. The problem was I was still running Windows and I absolutely can’t use to UI to save my life. I loathe it. I’m a huge fan of tiling window managers and Regolith’s my current DE of choice. And lucky for me my games run in proton, I work on backend systems such that I don’t have any dependencies in on anything that runs on Windows (Google docs for office work). So I would not be WSL’s target audience.


Yes, Microsoft is out to extinguish desktop Linux. They're afraid that 2021 could be the year of desktop Linux.

Wait, wasn't that 1999? 2000? 2001? ... Everyone stopped caring when mobile platforms became dominant.


To me, what matters most is privacy and freedom. -> Open-source transparency of code, data, and all that happens with it. (Including the ability to fully control and see what's happening in your system at the network level, like OpenSnitch - https://github.com/gustavo-iniguez-goya/opensnitch).

I don't see any of MSFT's actions threatening this on a really big picture level. It's always been and always will be up to 'the community' to build and make Linux and free software what it is.

Linux, especially Linux Desktop, is wonderfully flourishing right now, and I don't think it's because 'MS hasn't offered a more compelling alternative to Linux' in the cloud. More largely, it's because we've built what we've wanted. Maybe I'm naive about what we've been ungratefully depending on. If so, I'd settle for a mildly cautious and watchful neutral ground. All I can say is, please contribute to Linux and FOSS if you can. I do.


> Linux, especially Linux Desktop, is wonderfully flourishing right now [...] because we’ve built what we’ve wanted

I agree, but it has to be said that this has also happened because desktop features across the board have stagnated.

There has been little evolution of desktop features in the last 15 years on Windows and Mac; MS and Apple are focused on other things, namely services integration to increase revenue and convergence with mobile OSes to reduce costs. This has allowed the Linux desktop to catch on and solidify, by not having to constantly chase feature-matching. Same for hardware support: new devices and ports for the desktop and laptop market have been few and far between; if anything things are getting simpler (USB-C for everyone, no cd, no modem, etc).

I have no doubt that both Apple and MS could destroy the attractiveness of Linux desktops very quickly if they focused a bit more resources on evolving their desktops.


> There has been little evolution of desktop features in the last 15 years on Windows and Mac;

I don't think. Is there any example that you thought as evolution (maybe on Linux) ?

> Same for hardware support: new devices and ports for the desktop and laptop market have been few and far between;

What about Surface?


Step 3 is not extinguish- step 3 is exposing APIs or programs in Linux which only work when executing on Windows.


Can't you install emacs natively in Windows?


You can, although most packages are written assuming Linux and getting stuff like tramps to work (which requires paths that are apparently impossibly to type in windows), is a bit of a challenge.

Of all the issues I've had with emacs about 80% of them could be traced to running emacs on windows. Not through any fault on windows side mind (except possibly the insane decision to use a different path syntax).


That insane decision has been made deliberately to make competitors incompatible.


No it hasn't. [0]

Unless you want to claim the Unix developers deliberately chose the slash as a path separator to be incompatible with TOPS-10. That could be.

[0] http://www.os2museum.com/wp/why-does-windows-really-use-back...


That insane decision has been made deliberately to make competitors incompatible.

Not inconceivable. After all Windows is called w32 in Emacs not win32 as is common everywhere else because RMS couldn’t bear to think “win” in association with MS!


You can but it's extremely hacky to get it all working. It's butter smooth just like Linux on WSL as long as you don't mind running it in a terminal. I use a fairly complicated DOOM emacs install without issues.


It's definitely not that polished, but I don't know about “extremely hacky”… how complicated are people's Emacs setups nowadays?

I installed the official Windows binaries for GNU Emacs pretty recently, copied my elisp directory over, and for the most part things worked out of the box, but with a few inconvenient exceptions: taskbar pinning didn't seem to work properly due to the awkward emacs/runemacs distinction, and some things related to directory layout and navigation were painful due to assumptions of a Unix-style home directory clashing with Windows's user-directory layout. No WSL involved.


You can run X applications in WSL too if you install an x server on windows and EXPORT display=localhost:0 :)

https://sourceforge.net/projects/vcxsrv/


>Can't you install emacs natively in Windows?

Yes. https://ftp.gnu.org/gnu/emacs/windows/


>WSL has been great for me to also be able to do few-compromises coding work on it (previously had an arch linux partition but was tired of having to reboot to access it).

Cygwin[0] is a lot more mature and has a huge set of supported applications.

[0] https://cygwin.com


WSL1 was a reimplementation of Linux system calls and offered most of what modern tools needed. WSL2 is a complete Linux kernel/distro running in a Hyper-V virtual machine.

Cygwin is no longer needed when you have real Linux.


>Cygwin is no longer needed when you have real Linux.

I'd say that depends on your use case.

For many folks, WSL is an excellent idea. I've played around with it and it doesn't give me anything over what I already have using Cygwin.

Also, Cygwin+userland is much lighter weight than an integrated VM like WSL2.

A lot of the question is what you want/need. I need a decent shell with a fairly complete unix userland. X is nice to have as well. That such functionality seamlessly integrates with Windows is great.

But I don't need a dev environment (although Cygwin provides that as well) for unix on my Windows box.

I'm sure there are other use cases/software that requires a full blown Linux kernel/environment, but they don't apply to me. I just use VMs (on separate hardware) for that.

And unless you actually need a full-blown kernel, rather than a specific set of tools, cygwin provides a lightweight, mature and well supported alternative.

Don't get me wrong, I'm not claiming that Cygwin is unix. Rather, I say that for a significant set of use cases, Cygwin can be a superior solution.

It all depends on your requirements.


This this this.

I also find that, for me, cygwin is a better solution for what I want: A bash shell and a decent set of unix-like command-line tools, that (critically) uses the same filesystem as Windows programs do.

I've honestly been kind of perplexed by all the excitement around WSL. A lot of people seem to say they want it for "development", by which I guess they mean web development. And I could see WSL being a nice alternative to running a full Linux VM for web development. But I don't do web development (mostly). I just want a unix-like shell and tools on my Windows box. And I don't want to have to think about whether the files I'm creating and working on live in Linux-land or Windows-land.


As stated, WSL2 is a full Linux VM. It's a real Linux kernel which means you have 100% compatibility for all Linux tools instead of workaround Cygwin.

Also the filesystem access is shared. That's why WSL is a separate thing, otherwise you could always just run a VM yourself. WSL lets you easily browse files, operate on the same files, and even call processes and pipe results across both sides.


Also kinda unstable. WSL2 maybe 2 months post release bricked (edit: as in had to wipe and restore) my Lenovo laptop. Wasn’t too bad to reinstall but still seems a bit immature.


How did WSL2 ruin your windows install?

As an aside: I normally use "bricked" to mean "entirely unusable as a computing device"


BSOD and could not restore. To install wsl you have to enable windows insiders beta patches as part of install process. Had to external drive boot and wipe.


Installing insider preview (beta) is done with your responsibility, not responsible by WSL2. Of course WSL2 is now supported in Windows stable.


I run GUI emacs under WSL with an X server running on Windows.


I do this as well and it works so well I sort of forget that's how I do it until I try to change something or someone brings it up.


Have you managed to get an icon you can double click to open? I have to start WSL shell, `emacs &` then ^D. Not a huge pain, but would like a Taskbar icon


I put a small XFCE panel next to my windows taskbar. I put launchers for any windowed programs I want to launch. My .bashrc checks if the host is WSL. If the host is, then it checks for a running XFCE session. If there isn't one running, it launches the settings daemon and panel.


You could do `bash.exe -c emacs`


I basically already do this with vcxsrv (launch vcxsrv with -ac, start wsl2, export DISPLAY, run emacs) and gui displays!


I wonder if they will relearn that fighting anti-authoritarian tinkerers (aka hackers) is a losing strategy.


step 2: extend?

or is it just trying to make a decent machine people want to use?

It could be emergent behavior. One faction in microsoft does this, then later another faction might take advantage of the situation.

In any case, one of linux's best characteristics is to be "checks and balances" against common software.


The worst thing Microsoft can do is bring more people to Linux.


> The worst thing Microsoft can do is bring more people to Linux.

They're doing exactly the opposite. Just wait for the day some new killer Linux apps encourages, or even requires, WSL rather than native Linux to run properly, or to run at all.

Imagine a window-manager/desktop-environment using the same exact windows primitives and behaviour but integrated into the WSL Linux OS. That thing would be the killer app a lot of Linux users would dream of, it would for obvious reasons run only under WSL, and would take away a huge number of non-hardcore Linux users. "Why learn a new user interface when you can keep the same you're used to, and more importantly write Linux software that will make full use of it?".

I desperately want to be proved wrong, but I'm really pessimistic about WSL: it is to Linux exactly what WINE is to Windows, and will kill Linux pretty much everywhere except servers and embedded systems, just as WINE has killed Windows on many desktops where the real thing wasn't necessary.


> Just wait for the day some new killer Linux apps encourages, or even requires, WSL rather than native Linux to run properly, or to run at all.

Why that would exist? If you wanted an app that could only run in Windows, you could write it for Windows. Nothing has changed here.

The only reason to use WSL is because you want to use Linux software or you have a Linux server environment and you want to use Windows as your Workstation environment for development.

> just as WINE has killed Windows on many desktops where the real thing wasn't necessary.

Except, of course, this is running an actual Linux kernel. So really it's just putting Linux in Windows and running them side-by-side. If anything, it makes moving to Linux easier if somehow this becomes even more popular.

The thing is, your attitude is stuck in the 90's and Microsoft's isn't. They used to write software for many different platforms and they're starting to do that again. Microsoft definitely cares less now if you run their software on Android, iOS, Windows, or even Linux. They're going to make money off of you either way.


>> The thing is, your attitude is stuck in the 90's and Microsoft's isn't. They used to write software for many different platforms and they're starting to do that again. Microsoft definitely cares less now if you run their software on Android, iOS, Windows, or even Linux. They're going to make money off of you either way.

I think it's more of a market position change rather than an attitude change.

Microsoft had significantly more market share in the 90's and used that market share to get their way no matter what. Desktop computing was the dominant way most people used computers and Microsoft was king.

The rise of cloud computing and mobile caused Microsoft's dominant position to slip. They lost the cloud to Linux. They lost mobile to Apple and Android. They still have majority on desktop computing, but that too is under assault from Chromebooks in education and non-Windows tablets for "consumption-heavy" and casual computing.

>> They used to write software for many different platforms and they're starting to do that again. Microsoft definitely cares less now if you run their software on Android, iOS, Windows, or even Linux.

They have to. If they don't embrace other platforms they would dwindle. If Microsoft software was only available for Windows, many consumers would rarely use their products. Office 365 exists so Microsoft Office can live on as a web application and there-by be available for practically all devices.

>> They're going to make money off of you either way.

Exactly. They have adapted quite well and have demonstrated remarkable resilience and versatility. However I believe that they were compelled to change due to a loss of dominance rather than a change of attitude.


> I think it's more of a market position change rather than an attitude change.

I think the market position changed long before their attitude did. Microsoft's protective attitude towards Windows ultimately cost them mobile.

> The rise of cloud computing and mobile caused Microsoft's dominant position to slip. They lost the cloud to Linux. They lost mobile to Apple and Android.

They didn't lose the cloud to Linux -- that makes no sense. Cloud competitors are Google and Amazon. Microsoft's cloud market share is growing more than 50% every year. While it still much less than Amazon, Microsoft is in a solid position. Linux accounts for more than half the servers on Azure and I'm sure Microsoft is perfectly ok with that.

> They have to. If they don't embrace other platforms they would dwindle. If Microsoft software was only available for Windows, many consumers would rarely use their products.

A second ago, you were arguing that Microsoft is going to make Linux obsolete and you now seem to be arguing the opposite.

> However I believe that they were compelled to change due to a loss of dominance rather than a change of attitude.

I'm not sure how that is relevant or how either one of us could know the minds of the top executives at Microsoft. But either way, it means that Windows is definitely not Microsoft's primary focus as it was throughout the 90's and 2000's. WSL is part of that strategy and not some obsolete EEE scenario.


>> They didn't lose the cloud to Linux -- that makes no sense.

What I meant by "they lost the cloud to Linux" is that most server computers running in the cloud are not running Windows, they are running Linux.

>> Linux accounts for more than half the servers on Azure and I'm sure Microsoft is perfectly ok with that.

Azure is doing great as a cloud service, but the fact that more than half of the servers are not running Windows only underscores the change in strategy due to the loss of market share and dominance.

Microsoft executives in the 90's would not have been okay it. In their view, all computers must run Windows and any other operating systems were competitors.

>> A second ago, you were arguing that Microsoft is going to make Linux obsolete and you now seem to be arguing the opposite.

I am not sure how you got this from my comments. I was only speculating the Microsoft's attitude change was out of necessity rather than benevolence.

>> I'm not sure how that is relevant or how either one of us could know the minds of the top executives at Microsoft.

They were pretty vocal about their views on Windows and Linux at the time. Take these Steve Ballmer quotes for example:

"When we tell the story about what's happening today with browsers ten years from now, I want the thing that replaces Windows to be Windows."

"Linux is not in the public domain. Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works."

"I've got my kids brainwashed: You don't use Google, and you don't use an iPod"

"There's no chance that the iPhone is going to get any significant market share. No chance."

"Let's face it, the Internet was designed for the PC. The Internet is not designed for the iPhone. That's why they've got 75,000 applications — they're all trying to make the Internet look decent on the iPhone."

"Whatever device you use... Windows will be there. … Windows will be everywhere on every device without compromise."

"We are in the Windows era — we were, we are, and we always will be."


Microsoft has always been about making devs happy so they will sell software to users. If devs are happy with Linux, WSL will make it easier for them to sell those apps to Windows users. The community of people who develop software is small compared to the audience that runs software, and those people are mostly on Windows. MS is doing this to keep devs happy and keep them shipping apps for Windows, even if the devs live entirely in Linux land.


Microsoft wants to sell Cloud to developers. More than 50% of servers on Azure are Linux. It's that simple. Obviously developing for Linux in WSL does nothing to keep developers shipping apps for Windows.


For me VMs have worked a lot better than WSL on windows. I'm not sure why everyone is so opposed to them these days. Near native performance, and you get all the linux widgets. Sure it takes up a little more disk space and memory but if you're an engineer those are minimal costs compared to other factors.


WSL2 is a VM. It’s running a real distro in Hyper-V with some integrations for the file system and docker to be shared across.


True. It's unfortunate that most people don't seem to realize this, based on WSL1. MS really haven't marketed WSL2 that well.


I’m not scared of their strategy because I’m aware of it.

I’m scared of adding all the unknown problems of Windows to all the problems of Linux and then having to depend on that on a daily basis.

So, I won’t use it. It’s too easy to buy a used computer, slap a new SSD and RAM in it and run Manjaro Linux. I recommend an HP Elite 800 from Amazon for $200-$300. Then if you need Windows it’s just one KVM/RDP click away.


That's an irrational fear. WSL2 runs on top of a very well vetted VM environment and has it's own well walled off sandbox. If you are trapped in windows like I often am it's a sufficient replacement for the real thing in 98% of use cases. Windows 10 is extremely stable on good hardware from well known companies. Just disable all the garbage that runs in the background. If you buy bottom barrel you will get what you paid for unless you're extremely lucky; same goes for linux.


No, it's irrational to think that you won't have to deal with the problems of two different OSes when you're running two different OSes. Run only one of them and you'll only have to deal with the problems of one of them on your daily driver.

It's really that simple.

For work, I put Windows out to pasture on a different workstation - I hardly ever need it at all (I keep it around for for testing and debugging Windows-specific issues and when I want to use SSMS instead of Azure Data Studio or Visual Studio instead of VS Code which is pretty much never), but when I do it's there. For games, I've always had separate dedicated Windows machines.

I run Windows on multiple systems and I'm absolutely aware of it's stability but also it's problems. One of my biggest issues with it is that it ignores my active-hours and starts updating right in the middle of me working or playing. It's happened time and again on pretty much all of my Windows machines.

Another huge Windows problem is that I don't have any control over many things. For instance - they keep re-pinning shit to the taskbar after an update. Or, they change my settings after an update. Or, they constantly nag me with popups or ads disguised as notifications or start menu icons.

> If you buy bottom barrel you will get what you paid for unless you're extremely lucky...

OK, not sure how that's relevant. I recommended buying a very solid, albeit refurbished desktop unit from a major manufacturer that I happen to have been running three instances of for years now without problem.

> ...same goes for linux.

What does that even mean? My years using Linux as a desktop have been filled with far less drama than the years I ran Windows as my workstation.


No, it's irrational to think that you won't have to deal with the problems of two different OSes when you're running two different OSes.

There are people commenting on this post who actually do this thing, and are telling you that your irrational fears are unfounded. Experience beating “thinking” every day.


Yeah I’ve also done both. Have you?

My experience tells me absolutely 100% that separating them is better.

I’ve been using computers since the 80’s. How long have you been using them?


I’ve been using computers since the 80’s. How long have you been using them?

Well I am Welsh and in the 80s I was using the pride of Wales, the mighty Dragon 32. Perhaps you’ve heard of it?

https://en.wikipedia.org/wiki/Dragon_32/64

Anyway nowadays my daily driver is Win10 with WSL. It really is as good as other posters have said.


I'm not sure how that's relevant.

I'm American and I've been running Windows since the 80s and Linux since the 90s, which are the OSes we're talking about.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: