What does HackerNews think of wsltty?

Mintty as a terminal for Bash on Ubuntu on Windows / WSL

Language: C

- WSLtty (https://github.com/mintty/wsltty)

Better than the Windows Terminal for WSL. You can work in tmux without getting strange visual artifacts, and allows you to view sixel graphics in console! Fair warning though, I only installed it about two weeks ago, so I can't claim I've battle-tested it though.

ETA: The one thing it doesn't allow me to do is change font programmatically, which would allow me to switch fonts to render non-english characters. I'm very much a beginner in terminals, so if anyone has a solution to this, I would love to hear it.

Mouse events still don't pass through to tmux which makes it unusable in every day usage. In other words, if you use tmux and have Vim open and try to click into Vim or any tmux window, nothing happens. This also happens without tmux too if you're just using terminal Vim. It's like the event gets absorbed and thrown out.

I highly recommend to check out WSLtty if you're interested in a good WSL terminal: https://github.com/mintty/wsltty

It has equally as low input latency, really good keyboard shortcut support, clickable URLs, tmux works perfectly (with and without the mouse), it's rock solid, uses almost no resources, has smaller / less distracting window borders vs MS' terminal and it has lots of themes. I've been using it for full time development with tmux + terminal Vim for almost a year now and it hasn't failed me yet.

I mainly use WSL within Windows but here's a bunch of general Windows tools I use: https://nickjanetakis.com/blog/the-tools-i-use

The productivity focused short version is:

DexPot[0] for creating hotkey driven virtual desktops (similar to how i3 launches and switches between them)

Ditto[1] for multiple clipboards (searchable and has multiple paste types, much better than what comes with Windows 10)

Keypirinha[2] for launching apps and folders with fuzzing searching (IMO much better than what comes with Windows 10)

AutoHotKey[3] for remapping global hotkeys and filling in gaps for specific things you want to do

wsltty[4] for a low input latency rock solid terminal (best paired with tmux for tabs / splits and buffer searches)

There's in depth blog posts and videos on how all of these work in the link at the start of this comment. I've been using Windows as a primary dev environment for ~20 years and the last half of that has been using it for Linux based development (initially with VMs but now with WSL and Docker).

[0]: https://www.dexpot.de/?lang=en

[1]: http://ditto-cp.sourceforge.net/

[2]: http://keypirinha.com/

[3]: https://www.autohotkey.com/

[4]: https://github.com/mintty/wsltty

Have you tried the mintty solution for WSL?

https://github.com/mintty/wsltty

I've found it to be the most consistent and performant. Still not the same as being in a native Linux environment, of course, but it's the closest I've been able to get in Windows.

My main issue with ConEmu was output performance. Paging through files in Vim over SSH was painfully slow. I recently switched the wsltty [0] and after changing some display prefences (Font: Consolas 9pt, Theme: dracula, Cursor: blinking block) I'm really satisfied with it as a terminal. Vim paging performance is greatly improved, and it's smaller and faster than Hyper.

Also, copy/paste works perfectly and I found that fewer of the default keybindings conflict with those in my shell, tmux and vim.

[0] https://github.com/mintty/wsltty

The situation for terminal emulators is still bad on Windows.

Those web-based ones have no problems with fancy font features like powerline icons or ligatures but they still have a limitation when it comes to color support. [1] Fluent seems to be affected from this as well.

The other important feature for me is tmux with mouse support. To my knowledge, only WSLtty [2] does this right. It lacks support for font ligatures but I value a functional tmux more than some ligature eye candy.

I still hope that Microsoft will improve their own conhost.exe in further updates. Also, the upcoming 1903 update will improve the color support those web-based terminal emulators.

[1] https://github.com/zeit/hyper/issues/1968

[2] https://github.com/mintty/wsltty

I've been using this and seems to have all the functionality you'd want.

https://github.com/mintty/wsltty

You might like wsltty (https://github.com/mintty/wsltty). It's mintty for WSL which in essence is putty with just the terminal capabilites.
This is unnecessarily harsh. You can install wsltty[0] and get a real bash prompt with posix and forward slashes if you want.

WSL is not perfect, but it's good enough for a lot of use cases if you're stuck on Windows.

[0]: https://github.com/mintty/wsltty

Mintty + tmux. It's how I survive Windows. Also: https://github.com/mintty/wsltty
I've been using WSL + wsltty [1] + Xming [2] for months and didn't encounter major issues. wsltty also added support to the Microsoft Store version recently.

For Xming, simply set DISPLAY in shell and local GUI programs just work, as well as SSH X forwarding.

[1] https://github.com/mintty/wsltty

[2] https://sourceforge.net/projects/xming/

(EDIT: typo)

Cygwin still seems to be the go-to for any POSIX apps that need to interact with the actual Windows environment. For example, wslbridge[1] that connects wsltty[2] to WSL compiles the frontend component under cygwin.

[1]: https://github.com/mintty/wsltty [2]: https://github.com/rprichard/wslbridge

FYI, if you're using Windows and enjoy terminal editors (I do!), I'd highly recommend switching terminal emulators from the default Windows console to wsltty[1] — assuming you're using WSL here. It has full xterm-256color support once you enable it in the Options menu, and fonts work just as you'd expect.

Personally I still use Atom on Windows, because WSL still has a few perf issues that make my preferred setup (zsh, tmux, Vim + a custom snowflake set of plugins) slightly more laggy than feels comfortable for me, although it does somewhat incredibly all actually work. But if your setup is different, there's a good chance that it'll run pretty snappily: I've noticed Bash + Vim is quite fast on Windows.

[1] https://github.com/mintty/wsltty

Mintty is what I'm using for it. You don't have to install the entirety of Cygwin and its unix-like tools to use it, there's smaller bundles specifically made for WSL like this one: https://github.com/mintty/wsltty

I personally don't want a terminal with built-in tabs or windows since I use tmux for that. On my Mac I use iTerm2 where tabs/windowing is integrated with tmux. Try it and see if you like it! :)

> The latest Creators update uses 16.04 LTS.

I did know that, but the update only came out today AFAIK, and is being slow-rolled out (I checked all my Windows machines today, none updated). People with enterprise/business versions of Windows with "Defer feature upgrades" aka "Current branch for Business" enabled also wont get it for a while. I know how to force the update, but forcing Windows updates is something I've learned better than to do.

As an aside, I would highly reccomend WSL users check out wsltty[0]. Gives a better terminal than Windows' built-in 'cmd', with options to open other shells like fish/zsh/etc in arbitrary directories.

[0]https://github.com/mintty/wsltty

I've stopped using PuTTY and now use MinTTY with the Ubuntu subsystem and the regular old Ubuntu SSH client. Specifically this thing: https://github.com/mintty/wsltty

It's real nice and even supports 24bit colour if you're into that.

I currently have zero issues running tmux and bunch of other software in mintty/wsltty

https://github.com/mintty/wsltty

Re WSL in Cmder/ConEmu: it's not so simple as that. In fact, it's a terrible mess. If you try to use the straightforward bash.exe, you will quickly run into things that are unsupported, e.g. arrow keys (fixed in Insider builds), home/end keys (fixed in Insider builds) Ctrl+Space (not fixed). If you try to use MinGW/Cygwin and ssh from there, you may run into random crashes when launching programs after using it for some time, such as less or emacs (old bug in MinGW and Cygwin). There is also something called "wslbridge", which also failed for me, but I can't remember why.

In the end, the only thing that does everything I want reliably is embedding a special build of mintty into ConEmu/Cmder. https://github.com/mintty/wsltty

Here is the ConEmu task that I use: %LOCALAPPDATA%\wsltty\bin\mintty.exe --wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l

It does have the caveat that you can't use many ConEmu's keyboard shortcuts, but there is a workaround that allows you to pass WinKey+Key shortcuts through, and I'm learning to live with that.

I'm using https://github.com/mintty/wsltty as a terminal for WSL, because it feels the closest to a Linux terminal for me. Give it a go.
Since I can't use a tiling window manager everywhere, I do the next best thing: I have a set of key configs for most platforms that gives me (mostly) uniform control over windows, and then use the local terminal emulator with tmux inside.

I use Moom on the Mac with hotkeys that match the Windows left/right-side tiling, and a custom OpenBox config[1] that matches those too:

https://github.com/rcarmo/docker-templates/blob/master/deskt...

Then on the Mac I usually use the native Terminal (I keep trying to switch to iTerm, but most of the performance issues Terminal had have been ironed out by now), on Linux I usually use lxterminal, and on Windows I either use Cygwin's mintty or (more recently) wsltty to interact with Bash for Windows:

https://github.com/mintty/wsltty

(even though I'm a Microsoft employee, I strongly dislike the "feel" of the standard console and the way it handles both fonts and copy/paste, so I seldom use it at all)

I also tried various hacks to do raise on hover and suchlike, but I found that some things were best left "native" and get along OK with these bare mouseless window management hotkeys.

Incidentally, tmux has a growing following among my colleagues (there are a lot of Microsoft folk getting to grips with Bash and SSH these days, so when I tried to pass on some best practices, tmux was right at the top of the list)

Windows 10 now has support for the Ubuntu subsystem. You have to flip some settings to enable it and install it, but it's very easy to setup and it creates a complete Linux shell within Windows, including full support for apt-get.

I found the default terminal pretty lacking, but you can now use mintty as the terminal: https://github.com/mintty/wsltty

With this, it's possibly a better Unix experience than macOS. I haven't used it enough to confidently make such a big statement, but it's worked very well so far in my trials.

Mintty is the best one I've come across. It even works with WSL https://github.com/mintty/wsltty