Comment by MaxBarraclough

8 years ago

> PuTTy sucks

Never been a problem for me. What are your complaints?

I barely notice the difference, but if I had to choose I'd take putty over Terminal.app, which has default keyboard-shortcuts that clash with Bash. (I believe it was Alt-b, Alt-d, or maybe Alt-f. I forget exactly.)

It's one of those things that's hard to explain. If you're used to a proper terminal emulator, you'll know immediately. PuTTy has terrible configuration and awkward default settings, and gives the impression of being pretty flimsy. Remove the network cable while in an SSH session, and PuTTy will immediately disconnect you. Try doing a port forward, and you'll need to dig around instead of just typing it into a terminal. Also aesthetically, PuTTy has nothing on Terminal.app or iTerm2 etc.

  • This is so true. Another attemp to explain might be: The cmd.exe and PuTTy always feel like foreign bodies in the windows world, they don't integrate, they are an rough try to fill the gap between the "old" command line world and the "new" windows world (in the win95 language). In contrast, already the OS X terminal feels like a first class citizen in the environment.

    It is worth to emphasize what has been said before here: Since Windows popularity is decending, they start to catch up with that attitude. Nowadays, for instance, you can open the terminal from every folder in explorer.exe -- this is exactly this kind of integration Windows missed for 20 years. Once they kick out cmd.exe in favour of something like Console2 (https://www.hanselman.com/blog/Console2ABetterWindowsCommand...) and update the toolchain even more than they did with PowerShell (actually integrating GNU/bash was a major step), developers will come back.

  • > Remove the network cable while in an SSH session, and PuTTy will immediately disconnect you.

    But it's not a problem with PuTTY, it's a problem with Windows networking subsystem. Once you remove cable, the whole interface immediately goes down, IP address gets deconfigured, and all open sockets using the address get closed. (I was bitten in the ass by this when I had several Windows Server machines under my care.)

    You'll get exactly the same with any other long running TCP connection.

    • But it still stands that using PuTTY sucks. I'll gladly give you that many of the reasons it gives a bad experience are because of various Windows characteristics.

  • nix user going on 25 years here. I use WinSCP and PuTTY to all the time and they work just fine.

    > Remove the network cable while in an SSH session...

    This argument seems a bit contrived. Is this honestly something you're concerned with on a daily basis? I doubt it.

    > Try doing a port forward, and you'll need to dig around instead of just typing it into a terminal.

    No, you don't just type "it" into a terminal. First, you have to lookup the command syntax if you haven't used it in a while. Then you have to type it in correctly and if your syntax is off by even one character, things don't work.

    > Also aesthetically, PuTTy has nothing on Terminal.app or iTerm2 etc.

    Aesthetics are nice but do you even have a tool like WinSCP? It graphically displays the remote filesystem over your SSH connection and then lets you open a terminal to the path you were looking at. I don't even have to type my password when I open a new terminal from WinSCP.

  • Who doesn't use tmux or screen, anyway? Always safe from network issues and all the benefits of multi-tasking.

    • Well, of course, and tmux is another thing that makes PuTTY janky. I'd rather not dumb down my tmux layout to something that PuTTY's terminal emulator can understand, when Git Bash running its bundled ssh handles it just fine.

      1 reply →

  • Mobaxterm is the shell Windows should have had.

    • If it didn't come with so much unrelated crap that could be installed independently I'd largely agree. But it takes this "... and the kitchen sink..." approach that detracts from it quite a lot. Want to install PostgreSQL running in Cygwin? Look no farther than your terminal software to do the work for you... blech.

      I say all of this having been a paying MobaXterm customer in the past.

      These days I use ConEmu, WSL, and Bitvise (for those rare occasions I want to easily tunnel to the Windows side).

Text rendering is bad (and is generally unpleasant to look at), it forces UI interactions, it's not a terminal so I can't do anything locally, no tabs, IIRC text doesn't reflow on window resize.

It's generally difficult and awkward to work with and unpleasant to look at.

  • Text rendering (old problem) and high DPI scaling (new problem) are what keep me firmly planted in macOS land.

To add to the other problems that people have mentioned, text selection is a little strange and putty doesn't pass along keys like "End" for some reason, which is useful in tools like less.

If you use git on Windows with PuTTY/plink it's also significantly slower than OpenSSH. I saw clones of a large repository go from 60 KB/s to 600 KB/s after switching from PuTTY to OpenSSH.

  • Wrt less: Assuming End just goes to the bottom of the document (I'm away from my computer so I can't check), G does the same thing

With PuTTy you have to open a separate application and configure connection in a completely different manner. Compared to Linux/OSX which enables a "work in a terminal" model, where "ssh", "scp", etc. are commands that can be used from within an existing terminal. It feels like a completely separate tool from the terminal instead of integrated with the terminal. I think this is a similar argument that users of text-based-editors (vim, emacs) have over using GUI-based editors.

Same.

I like Putty's graphical session manager; on OSX and Linux I don't want to fiddle with ~/.ssh/config.

The lock-in with Putty is annoying though, being able to export all configured sessions to a .ssh/config file would be awesome.

  • As a counterpoint, I LOVE the whole ~/.ssh directory. It keeps everything in one place, is text-editable, is cross-platform between Mac and Linux, and easily transferred to new machines, or restored to existing ones after a fresh reinstall.

    With Putty, if I want to change, say, the size of the terminal opened on connections, I'd have to update every Putty session individually. Been there; done that. Ridiculous. That should be a function of the terminal you run SSH under, not the SSH session itself.

  • There are versions of PuTTY that store the config in files, usually with names like Porta-PuTTY. I use the hacked up Xming Portable Putty because I do a lot of X forwarding and the base PuTTY used to have some stability issues with it. They're probably fixed now, but I still use the hacked up PuTTY because my configs are in the text files instead of the Registry and regular PuTTY doesn't know about them.

    • > with names like Porta-PuTTY

      Okay, I think I just found a new contender with GIMP for 'worst software title'...

  • It's all in the registry. I forget where, but search for the hostname or ip of one of your configs in regedit (CAVEAT EMPTOR!!!!) and export the whole folder with all the configs in. You'll get a .reg file (or whatever it is) that you can double click on any other windows machine and your settings will get ported over. Paths to key files are preserved verbatim.

    Again CAVEAT EMPTOR (as with anything to do with regedit).

  • All of the sessions are stored in the registry, which you can dump to a text file easily enough. A couple of minutes with awk or something and you'd have your ssh_config file.

I quite like PuTTy as well. I have only had problems when using gdb or jdb - it doesn't translate arrows properly so history or editing current command doesn't work and some apostrophes or ticks or whatever get translated to accented characters. I always blamed the shitshow of unix tty for that. Is there an ssh client/terminal that doesn't have these problems?

  • PuTTY on Windows does all of those things perfectly reasonably for me (I just checked) - it might be as easy as making sure your PuTTY environment defaults to UTF-8 instead of ISO-8859-1 or various codepages.

For one, it's plainly impossible to use an existing OpenSSH private key with PuTTY. You can convert PuTTY keys to the OpenSSH format with putty-keygen (or what it's called), but not the other way around. This antifeature alone cost me two hours recently.

Is anyone really using Terminal.app? Once I tried iTerm2 I never launched it again.