Skip to content
David Goodwin edited this page Mar 3, 2025 · 25 revisions

This page provides quick comparison of Kermit 95 with other open-source terminal emulators for Windows. Most of this information has been taken from the following locations:

If you see something on here that isn't correct (or something you think shouldn't be left out) please correct it or raise it over on github discussions so it can be corrected! It isn't helpful to anyone if some part of this page is incorrect or misleading.

Connection Protocols

Virtual Terminal connections over the following protocols/connection types:

Feature Kermit 95 TeraTerm PuTTY
Serial
RFC2217 Serial over Telnet
SSH v1
SSH v2 ✅ (XP SP3+)
Telnet
Telnet-SSL ✅ (XP SP3+)
RLogin
Named Pipe
NetBIOS ✅ (OS/2 only)
PTY ✅ (Windows 10 v1809+) ✅ (pterm)
Cygwin ❌ †
CTERM ✅ (Requires Pathworks32)
LAT ✅ (Requires Pathworks32)
Modem ✅ TAPI, RFC2217, built-in
DLL ✅ ‡
SUPDUP

For more details on supported telnet options, see Telnet Options further down this page

† While Kermit 95 has no specific support for Cygwin, you can access the Cygwin console via a PTY on sufficiently new versions of Windows. PTYs on Windows do come with some limitations though so it's not a true replacement for proper Cygwin support. You can open a Cygwin session in K95 with a command such as pty cmd /c C:\\cygwin64\\cygwin.bat

‡ K95 can make connections via a user-supplied/written DLL allowing support for other protocols not built-in.

IP Connections Types

IP connections (SSH, Telnet, etc) can be made via the following methods:

Feature Kermit 95 TeraTerm PuTTY
IPv4
IPv6 ❌ † #224
SOCKS 4/5 Proxy ❌ ‡ #78
HTTP Proxy ❌ ‡ #78
Telnet Proxy

† IPv6 is only usable SSH connections

‡ Note that K95 does support HTTP and SOCKS proxy connections for telnet and RLogin, proxies are only unsupported for SSH.

Forwarding

Feature Kermit 95 TeraTerm PuTTY
X11 over SSH
X11 over Telnet
Port forwarding over SSH
Dynamic forwarding over SSH #297

File Transfer

Protocol Kermit 95 TeraTerm PuTTY
Kermit ✅ Complete implementation including server support ✅ limited †
IKS Server
X-MODEM
Y-MODEM
Z-MODEM
B-PLUS
Quick-VAN
FTP
FTPS ✅ (XP SP3+)
HTTP
HTTPS ✅ (XP SP3+)
SFTP #219
SCP
None ‡

† Tera Terms Kermit implementation is fairly limited lacking support for server mode or network connections, and appears to have only very limited protocol options.

‡ Transmit a file as though it were typed in to the keyboard. Both TeraTerm (File -> Send file) and Kermit 95 (the transmit command, configured via the set transmit commands) support doing this, optionally with a delay between each line or character.

Platform Support

The platforms supported by the latest stable release only. Note that Kermit 95s beta releases are stable releases for all intents and purposes - the last proper stable release was in 2003 and isn't freely redistributable. Kermit 95 3.0 will likely loose the beta tag once the features that went missing in its open-sourcing have been added back in.

Feature Kermit 95 TeraTerm PuTTY
Version Kermit 95 3.0 beta 7 (27 January 2025) Tera Term 5.3 (8 September 2024) PuTTY 0.83 (28 February 2025)
Minimum Windows Version NT 3.50, 95 (SSH and Secure Telnet require XP SP3 or newer) v5.3 needs at least Windows Vista (Windows XP gives "Not a valid Win32 application") Windows XP (Windows 2000 and older produce "Not a valid win32 application"). 3rd-party (not always up-to-date) builds exist for older Windows versions not officially supported, including Win32s.
Native x86-64 Windows support not supported but can apparently be built from source
Native ARM64 Windows support
Native ARM32 Windows support
Other Windows Architectures Alpha, MIPS, PowerPC, Alpha64 and Itanium (all without SSH support) none none officially, but 3rd party builds (not always up to date) exist
Minimum OS/2 Version OS/2 2.0 with IBM TCP/IP 2.0 (optional) ❌ QPutty exists but is a decade out of date
Linux/Unix Support C-Kermit provides most of K95s features, but without terminal emulation (you run it inside one, like xterm) or a built-in SSH client (wraps openssh)

Terminal Emulation

Feature Kermit 95 TeraTerm PuTTY
Mouse Input
256 colors #194
24-bit color #220
Bracketed Paste ✅ Plane 0 only, #315 for other planes
Alternate Screen Buffer #231
OSC 8 Hyperlinks #123 - an equivalent private escape sequence is supported however not supported
Clickable URLs not supported
Unicode
PCTERM Keyboard Mode
SGR Attributes as Colours ✅ for blink, dim, italic, reverse, underline not supported

Kermit 95

Kermit 95 provides a fairly complete implementation of DECs VT52, VT100, VT102, VT220 and VT320 with colour and mouse extensions, double width and double-height characters, dim characters, italics and underlining. Multiple pages, soft-characters, sixels and ReGIS are not supported at this time.

In addition to the industry standard VT series of terminals, Kermit 95 emulates a wide selection of other terminals including ANSI-BBS; Avatar/0+; AT386; BeBox ANSI; Data General DASHER D200, D210; Data General DASHER D217 in native and Unix modes; Hazeltine 1500; Heath/Zenith 19; Hewlett Packard 2621A; HPTERM; IBM HFT and AIXTERM; IBM 3151; Linux console; Microsoft VTNT; QNX ANSI and QNX Console; SCOANSI; Siemens Nixdorf BA80 and 97801-5xx; Sun Console; Televideo TVI910+, TVI925, TVI950; Volker Craig VC404; Wyse 30, 50, 60, 160, and 370

For more details on the emulation profiles, see this page: https://davidrg.github.io/ckwin/current/termtype.html

TeraTerm

"VT100 emulation and selected VT200/300 emulation", Tektronix 4010

Supported Control Sequences: https://ttssh2.osdn.jp/manual/4/en/about/ctrlseq.html

PuTTY

"an xterm terminal emulator"

Other Features

Feature Kermit 95 TeraTerm PuTTY
Initial Release July 2011 (as open source), November 1995 (as Kermit 95), July 1988 (as OS/2 C-Kermit) 2004 (as TeraTerm), 1994 (as TeraTerm Pro) January 1999
Scripting ✅ C-Kermit, REXX (OS/2 and XP+ on x86/x86-64) ✅ "Tera Term Language" not supported
Keyboard Mapping not-supported
Session Tabs
Find Text in Scrollback
Bookmarks in Scrollback
Log Replaying ✅ † ✅ ^
Duplicate Session
Optional menubar, toolbar and statusbar
Remote access via network or dial-in ✅ ‡
stdin/stdout for automation/scripting ✅ (plink.exe)
Kerberos Authentication ✅ For SSH, Telnet, Rlogin, IKS and FTP. Requires MIT Kerberos for Windows
GUI ✅ Windows only, not on NT 3.50 for Alpha/MIPS
TUI/CLI (runs in a Windows console window) ✅ With some limitations to its terminal emulation (eg, no double width/height characters, underlining, etc) with no terminal emulation
Configurable per-character delay ✅ for any connection type: set output pacing ✅ For serial only, per character or per line not supported
GUI Authentication Dialogs ✅ optional not supported
Keyboard shortcuts for select & copy not supported
Execute Local Command requested by host ✅ APC - off by default for obvious security reasons, can be limited to "safe" commands only if you trust the host not supported

† Based on the TeraTerm documentation it sounds like the "log replay" function effectively just writes the log file out to the terminal emulator which will interpret any escape sequences it contains. The following commands in K95 should achieve the same effect:

SET TERMINAL TYPE VT320   ; Or any other supported terminal type
SET INPUT PACING 50       ; How many miliseconds to pause between each character
SET NETWORK TYPE FILE     ; Connect to a file
SET HOST SESSION.LOG      ; set the filename
CONNECT                   ; connect

If you find yourself doing this often, you could define a macro allowing you to do the job with a single command - log_replay session.log:

def log_reply {
  SET TERMINAL TYPE VT320   ; Or any other supported terminal type
  SET INPUT PACING 50       ; How many miliseconds to pause between each character
  SET NETWORK TYPE FILE     ; Connect to a file
  SET HOST \%1              ; set the filename
  CONNECT                   ; connect
}

‡ Kermit 95 can listen for incoming network or modem connections for remote access. Hostmode, a BBS-like kermit script, is an example of this.

Telnet Options

Contrary to popular opinion, telnet is not equivalent to a raw TCP socket. The telnet protocol supports a large number of options which must be negotiated between the client and server during connection establishment. The table below documents the options supported by one or more of the programs in this comparison. For more information on Telnet support in Kermit 95, see Kermit 95 Telnet Reference. Supported options in PuTTY and Tera Term are from inspecting the code (on 2025-03-03) as their documentation does not explicitly state what is supported. For a list of all possible Telnet options, see Telnet Options at IANA.

Option Name RFCs Kermit 95 TeraTerm PuTTY
0 Binary RFC856
1 Echo RFC857
3 Suppress Go Ahead RFC858
18 Logout RFC727
23 Send Location RFC779
24 Terminal Type RFC1091 ✅ †
31 NAWS RFC1073
32 Terminal Speed RFC1079
35 X Display Location RFC1096
36 Environment Option RFC1408
37 Authentication RFC2941 ✅ ‡
38 Encryption RFC2946 ✅ §
39 New Environment RFC1572
44 Com Port Control RFC2217
46 START TLS Internet Draft
47 KERMIT RFC2840
49 Forward X Internet Draft
138 Pragma Logon¶ None/Proprietary
139 Pragma SSP Logon¶ None/Proprietary
140 Pragma Heartbeat¶ None/Proprietary
200 IBM SAK †† None?

† As PuTTY and Tera Term only emulate a single terminal type, they simply report their terminal type to the remote host. Kermit 95 supports many terminal types, so if the telnet server doesn't like the currently chosen terminal type, Kermit 95 will keep trying different terminal types until it lands on one the server supports. The OpenVMS telnet server is one example of a telnet server that may actually reject a chosen terminal type causing Kermit 95 to switch to another.

‡ Kermit 95 supports Kerberos V authentication on modern Windows hosts if MIT Kerberos for Windows is installed. It can optionally be built from source with Kerberos IV and SRP authentication (requires obsolete/unmaintained libraries).

§ Kermit 95 supports all (now quite obsolete) encryption types listed in the RFC: CAST128_CFB64, CAST128_OFB64, CAST5_40_CFB64, CAST5_40_OFB64, DES3_CFB64, DES3_OFB64, DES_CFB64 and DES_OFB64.

¶ Commands to configure these Pragma Systems Telnet Server proprietary telnet options (eg, set telopt pragma-logon) are currently hidden, and show telopt does not show these options. They were added for Kermit 95 v2.2 (never released) and have likely not been tested since then.

†† Another hidden telnet option, this is for IBMs Secure Attention Key. For use with the \Ktn_sak kverb.