PuTTY is fine of course, but just FYI to those who don’t realize it: Microsoft has worked for a while to port OpenSSH to Windows proper. I think they are even shipping it with Windows nowadays.
Interesting. Wordpad could always handle LF-only well enough and came with Windows 95 and onwards so you could always use that. Not sure why that wasn’t more widely known. (Though on newly added lines it did add CR+LF rather than staying consistent to the source file).
The trouble with Wordpad was that it was not a good editor for plaintext. It was clearly designed for rich text. I preferred third party editors very greatly.
Kind of like TextEdit is on macOS is today (the one bundled with the OS).
It's slightly annoying that you have to twiddle a bunch of the preferences to make it a workable plaintext editor. Apple should just delete its rich text functionality, now that they bundle a real word processor (Pages) with the OS.
Kind of, but to be safe you have to change 12 preferences from the defaults, IMO.
New Document:
Format:
Plain Text (select)
Options:
Check spelling as you type (disable)
Correct spelling automatically (disable)
Smart copy/paste (disable)
Smart quotes (disable)
Smart dashes (disable)
Text replacement (disable)
Open and Save:
When Opening a File:
Display HTML files as HTML code instead of formatted text (enable)
Display RTF files as RTF code instead of formatted text (enable)
When Saving a File:
Add ".txt" extension to plain text files (disable)
Plain Text File Encoding:
Opening files = Unicode (UTF-8)
Saving files = Unicode (UTF-8)
I was aware, but 3rd party editors like Notepad2 or Notepad++ were much better than Wordpad for lightweight program editing as they also had syntax highlighting, auto-indent, etc.
You can and you get the advantage of having a proper package manager too. Or incase you're (still) on Windows 7 or can't enable WSL you can install mysys2 which comes with SSH(and bash) aswell.
It’s a great Swiss-army-knife of a terminal. One annoying thing that I’ve lived with for years is that it won’t start on my second monitor. I always have to move its window after starting it. I tried to file a bug years ago, but couldn’t find a way to do it on their website. Maybe it’s time to look again.
That's right, putty is usable terminal first. I can get ssh in various ways on windows. Decent linux terminal is hard to find though. Nothing comes close to putty and clones. The worst part in various contenders is output speed. Many of them are ridiculously slow. I don't care how pretty that Electron-based terminal is if it's dog slow.
I meant a terminal on windows to ssh to linux.
Simple test - cat 50k lines of some logs. See how long it takes on various terminals. Under remote screen/tmux see if you can switch windows while it keeps flooding the screen.
There is no reason for terminal to be slower than ssh.
I tried windows terminal and it's slow.
Of course there are also fonts, copy/paste, colors, keys customization etc. But slowness is a deal breaker for me.
Ah I normally think of performance as in interactive latency.
You probably want alacritty then, it's GPU accelerated and designed to be ultra fast. No tabs, it's expected you add a Windows based tabbing window manager.
alacritty is ok-ish. Probably better than most alternatives.
Putty is still faster.
And putty switches between tmux windows immediately while streaming the output. While alacritty has a visible delay (some times seconds) for that.
Sure if you're using local tabs instead of remote tmux it may not matter that much.
Are you sure? I thought Alacritty's whole claim to fame was hat they're faster than everyone for steaming huge amounts of text.
Ack re: switching between tmux tabs though.
Have you tried Windows Terminal or Fluent? WT is C++ so should be good (and has a huge team of developers on GitHub who are paid to make it not suck - if you have a bunchmark to show it's slower than putty on a task, they'll probably want to fix it.
Here is how to reproduce it.
Ssh to a system with tmux. Attach to tmux and "head -100000 maillog" or whatever big. Measure how long till it's finished. Try to switch to another tmux window and back while it's going.
Repeat the above in another terminal and compare.
Windows Terminal is actually pretty bad under tmux but ok-ish without. Can't switch off to another tmux window while it's going either so basically locked in. That's unusable.
The argument could be made that tmux is an issue. But since 100% of my ssh is under remote tmux and it's fast in putty/kitty I can only blame other terminals. Even without tmux kitty is 2x faster than windows terminal. And kitty doesn't slow down under tmux.
What are you missing? Windows Console has undergone a complete overhaul in the last few years. With QuickEdit, copy and paste via keyboard, and reflow during window resizing, the Windows Console is pretty nice.
I use Windows Terminal about 10 hours a day. Windows Terminal has got tabs, Unix cut and Paste, emoji support (surprisingly how common outputting emoji is in tests suites etc).
The 0.5 version is usable as a day to day terminal.
Alternative most stable Terminal is Fluent which I've used for a couple of years now.
I'm currently using wsltty, which is mintty for wsl. It's decent, but it's terrible on fast scrolling texts (i.e. `docker logs` for a container without a maximum log size configured)
Alacritty is great if you need actual performance.
Hyper is actually the one with the overall best experience, but it is electron and the usual issues apply.
Fwiw, mobaxterm can also be configured to use wsl.
My list wasn't supposed to be exhaustive in any way. I'm sorry if it sounded like that.
There are quite a few terminal emulators on windows and I just listed a few I thought noteable.
I didn't even mention the new one from Microsoft!
If you just want a sleek looking terminal for a few commands, cmder is definitely a valid choice. The occasionally broken copy paste is however dangerous, as it can remove characters from the middle of a line
I.e. `rm -rf /tmp/something && echo success` can get shortened to `rm -rf / && echo success`. It's admittedly very unlikely, as it usually just introduces errors such as `rm -rf /tm & echo success`.
Last I checked, SSH agent does not work under WSL. Even if that is fixed, though, the OpenSSH port will integrate much cleaner with Windows software; I set it up for use with Git and my IDE.
I ran into some problems with the agent last time I tried to use it, unfortunately. I would love to be able to use OpenSSH with the new Windows Terminal (well, eventually, the Windows Terminal has some annoying edge cases too, but is very promising, which is acceptable for something in a preview/beta state).
Just to be clear: there are advantages to OpenSSH too. The Windows port has an agent that runs as a service, you can configure using the standard .ssh/config mechanism that works with lots of FOSS software, and etc.
Holy jeez are there benefits to OpenSSH over PuTTY. I have to walk end users through setting up PuTTY. Since configuration uses the registry and there are no import/export configs I have to walk them through the UI, which is a mess (especially when they miss a step). For macOS users I just give them a command line to copy/paste. We've considered requiring WSL (a few gig install) just to get ssh in Windows because those users have had better experiences. Thankfully, it's now built in.
What's the best replacement for serial port connectivity on Windows? That PuTTY has it's own terminal settings always bothered me but I'm not sure what all is popular.
As a guy who uses serial enough to wonder the same thing, my solution was buying a cheap Linux machine. Serial is thousands of times simpler and more convenient to use on Linux.
Probably not too helpful if you’re dealing with poorly written windows serial software targeting embedded though.
Yep, screen is the easiest. Minicom often gets confused, or at least confuses me with its weird UI. With screen I just run "screen /dev/ttyUSB0 115200".
I also use screen for this, though I find myself accidentally leaving sessions in the background and wondering why I’m missing characters in the output.
That said, does WSL really provide serial devices? That’s pretty awesome. I wonder if USB also is a thing in the WSL2 world.
I've found that between OpenSSH for Windows, Windows Terminal and WSL, I don't need PuTTY anymore. It's also nice to be able to use the same SSH keys on Windows and Linux instead of converting PuTTY keys to OpenSSH keys and vice versa.
Give the modern Windows Terminal preview a shot if you get a chance. (You'll need a recent Windows 10 1903, at least. It's in the Microsoft Store or you can install from GitHub.) The Windows Console team has been putting in a lot of work at making everything terminal better for everyone on Windows. (The Windows Terminal is powered by a new Linux-like PTY system that other terminals can use instead of screen-scraping ConHost like they used to. Which also means fewer "translation" layers between the old Console system and WSL PTYs.)
I'm been using a pretty "obscure" fork named PuTTY CAC. The big feature added is that you can use it with a SmartCard including a Yubikey.
I know the most popular use of Yubikey + SSH is via OpenPGP but it involves a lot of things which are not working very well on Windows (namely GPG4Win, unstable gpg-connect-agent, etc.).
With this fork, you just need to install the official Yubikey mini driver to have it work with PuTTY CAC. (You will also need Yubikey Manager to configure your key).
Connect your Yubikey, launch PuTTY CAC, look in SSH>Certificate, enable Attempt cert auth, Set CAPI cert (choose your Yubikey cert).
When I used Windows, to use an OpenPGP smartcard with SSH I used this smartcard-enabled fork of pageant[0]. According to the page it should also support Yubikeys.
The process was: launch sc-pageant.exe, insert smartcard in reader, and ready to connect with any SSH client with agent support.
However it is not open source and you have to register your key if you don't want to get an annoying popup from time to time (iirc it was 1€, but you could also email the developer if you were using an OpenPGP card).
I don't know, I'm still have a vanilla PuTTY and I can't make it work with my Yubikey (PIV mode). There is no setting or anything related to SmartCard or PIV.
I'm no expert on this so I may have missed something.
Ah. It looks like you have to rely on gpg-agent; gpg-agent understands cards (and PIN-entry). PuTTY knows how to talk to gpg-agent (which simply replaces Pageant).
Except I remember ending up with multiple copies of gpg-agent running, for no obvious reason (which had to be killed before I could start a session - hmm. Maybe I remember finding this solution annoying). I think support for PIN-entry had its own annoyances.
[Note: I haven't tried this at all recently - I just did a quick search to try to refresh my crumbling memory]
What's the guarantee that bug/vulnerability fixes in PuTTY are also reflected in KiTTY? Also, how well-tested is the code going into it, considering it's (much?) less popular than PuTTY?
Likely because no pressure is felt to put out a 1.0. The people that use it know what it is, and don't care that it's not 1.0 or above. It has constant, if low-velocity, development and bug-fixing going on[1] with 28 releases in over 20 years. PuTTY is a known quantity, I doubt anyone is trying to game the marketing to gain usage. For some people, that's a feature.
That's exactly the point: a version number <1.0 is the universal signifier for "this isn't ready to be a daily-driver yet". If that doesn't apply to PuTTY, it's a (minor) failure of communication.
- A pulldown to allow you to select a serial port, as in TeraTERM. I frequently can not recommend PuTTY to non-power users because it lacks this one feature. And yes, I know it's hard, but it's not that hard.
- Integrated Zmodem support. I use Zmodem for firmware updates for some embedded applications. It works great over TeraTERM.
- Sixel support (as in xterm), so that embedded applications can print graphs through the console serial port.
I used to use Putty for all my SSH on windows, until I discovered mobaXterm; it's Fk amazing. not only an SSH client, but you can also browse files at destination, and copy files there from same window; it also has xserver built in to run GUI on destination machine
After using PuTTY for many years, and then Bitvise SSH client for some more, I shifted to Termius. The thing that finally made me switch from both the earlier really good products was its ability to work across Windows/Mac and Android, and syncing hosts/credentials across the instances. It has a free version which provides SSH and port forwarding and a paid one with more features.
That looks very nice. I appreciate the link. Are you (or is anyone) aware of open source alternatives?
I really like how it shows the terminal, but kind of separate from the phone UI. A lot try to show you the terminal as the phone UI and it does not work well.
https://github.com/PowerShell/openssh-portable