1) the terminal sucks.
2) WSL should be a service. Or at least we should be able to choose to have it always-on regardless of a terminal being open. We need to be able to have WSL start at boot.
(Now wondering if anyone has made some sort of WSL System Tray app)
For #1, this is a tremendous help: https://conemu.github.io It's the first thing I install on Windows. Comes with build-in profiles for bash/WSL, powershell, cmd, and Admin sessions of the latter two. Still not as good as iTerm or stock Terminal, but a massive improvement over cmd.exe.
#2: Totally agree, but I think things are moving this direction.
MacOS leaks unix through its pores: by separating cmd and ctrl is able to have emacs movements (^A, ^E, ^K, ^W, ^Y) in every Cocoa input field. Composability is also very possible from the get go thanks to tools like Automator and Services. Its terminal is top-tier†. This is the kind of little things that makes MacOS feel unix-y throughout. There are also lots of command line tools and documentation as man pages for purely darwin/MacOS stuff: it's not always perfect but the platform reaches out to plain being unix.
If you can make it so that running bash deeply feels like you're interacting with the currently running OS and that I can do everything from there using unix conventions (no calling an exe, no slash switch args, man pages... see this talk[0]) and not some segregated image below which there is an underlying OS, then you've won.
I mean, this needs to deeply feel native, embedded, not translating, layered. Hard to explain, but currently it feels like I'm talking through some Babelfish.
PS: crazy thought, but if MS can roll - no scratch that - if Windows can be its own "distro", kind of like FreeBSD base system, which changes with each major version and naturally updates, instead of (or in addition to) providing images of third party userlands that happen to run on a sort of segregated loopback mounted image, then you've won.
PPS: Oh, and ngrep doesn't work :D
PPPS: And please have a decent terminal from the get go.
† Damn, I love jumping back to those auto-marked prompt lines, being able to toggle mouse reporting, hiding/viewing the alternate screen, or showing the currently opened pwd or vim buffer in the titlebar through those escape sequences.
[0]: dotRB '13 - "It's a UNIX system, I know this!" https://www.youtube.com/watch?v=Qucn0QuXFhc&index=13&list=PL...
Sadly she didn't expand that much on her actual pain points but Bodil Stokke was not impressed a few weeks back: https://twitter.com/bodil/status/868925787038208001
> I guess if you're happy using plain bash and think Windows is already pretty performant, it must seem acceptable.
> But, seriously, even running lunix in a VM on a Windows host is a million times better than this. Back to my VirtualBox…
> I didn't even get as far as X this time, just trying to get my fish/tmux running in WSL on ConEmu had me feeling like I was being pranked.
[responding to a commenter]
> It runs just fine, but gl finding a terminal emulator that can keep up with my fish config... (well, tbf maybe Putty can, but I hate Putty.)
So the main limitation seems to be that the available terminal emulators are essentially unusable. Unixers live most of their life in or around term, not having a good one is a straight killer.
greg@gregcomp:~$ sbcl
WARNING:
Couldn't re-execute SBCL with proper personality flags (/proc isn't mounted? setuid?)
Trying to continue anyway.
This is SBCL 1.1.14.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
Edit: In case it's not clear, that's the entire output of launching an SBCL REPL. There is no actual REPL.Given that I use it for both commit signing and SSH auth, the lack of GPG smartcard support would make WSL a pain to use at best compared to the Linux systems I typically use.