-
Notifications
You must be signed in to change notification settings - Fork 17
Feature Comparison
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:
- https://en.wikipedia.org/wiki/Comparison_of_SSH_clients
- https://ttssh2.osdn.jp/manual/4/en/
- https://www.chiark.greenend.org.uk/~sgtatham/putty/
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.
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 | ❌ | ❌ | ✅ |
† 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 (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.
Feature | Kermit 95 | TeraTerm | PuTTY |
---|---|---|---|
X11 over SSH | ✅ | ✅ | ✅ |
X11 over Telnet | ✅ | ❌ | ❌ |
Port forwarding over SSH | ✅ | ✅ | ✅ |
Dynamic forwarding over SSH | ❌ #297 | ✅ | ✅ |
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.
Feature | Kermit 95 | TeraTerm | PuTTY |
---|---|---|---|
Initial Release | 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" | ❌ |
Keyboard Mapping | ✅ | ✅ | ❌ |
Session Tabs | ❌ | ✅ | ❌ |
Find Text in Scrollback | ✅ | ❌ | ❌ |
Bookmarks in Scrollback | ✅ | ❌ | ❌ |
Mouse Input | ✅ | ✅ | ✅ |
256 colors | ❌ #194 | ✅ | ✅ |
24-bit color | ❌ #220 | ❌ | ✅ |
Bracketed Paste | ✅ | ❔ | ✅ |
Alternate Screen Buffer | ❌ #231 | ✅ | ✅ |
Unicode | ✅ | ✅ | ✅ |
Log Replaying | ✅ ^ | ✅ ^ | ❌ |
Duplicate Session | ❌ | ✅ | ✅ |
Minimum Windows Version | NT 3.50, 95 (SSH and Secure Telnet require XP SP3 or newer) | NT 4.0, 95 | ❔ |
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) | ❌ | ✅ |
Complete control over keyboard mapping | ✅ | ✅ | ❌ |
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 |
PCTERM Keyboard Mode | ✅ | ❌ | ❌ |
^ 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.
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
"VT100 emulation and selected VT200/300 emulation", Tektronix 4010
Supported Control Sequences: https://ttssh2.osdn.jp/manual/4/en/about/ctrlseq.html
"an xterm terminal emulator"