telnet(1) on Solnix vs Linux and the BSDs

On Solnix, telnet is the illumos telnet at /usr/bin/telnet, an interactive client with Kerberos-style authentication and encryption options and loose/strict source-route host syntax. It has no -4/-6, and its option letters differ from Linux (GNU inetutils), FreeBSD, OpenBSD and NetBSD in several places (-e, -x, -l, -a, -b, -V, -N).

What Solnix runs

A default Solnix system runs the illumos telnet at /usr/bin/telnet. A variant, /usr/ucb/telnet, is also shipped, but the bundle does not describe it. The page is published in pkgs.solnix.illumos-world-man.

Differences

Compared withTopicWhat differs
all fourno -4 / -6The Solnix SYNOPSIS has no -4 or -6 to force IPv4 or IPv6. Linux, FreeBSD, OpenBSD and NetBSD all document both. A script that passes them to Solnix telnet will fail.
Source: Solnix telnet(1) SYNOPSIS and OPTIONS; Linux telnet(1) -4, -6; FreeBSD telnet(1) -4, -6; OpenBSD telnet(1) -4, -6; NetBSD telnet(1) -4, -6
Linux, OpenBSD-b meaning and absence on SolnixSolnix has no -b. Linux -b ADDRESS binds to a local address. OpenBSD -b hostalias binds the socket to an aliased address or another interface's address.
Source: Linux telnet(1) -b, --bind; OpenBSD telnet(1) -b; Solnix telnet(1) SYNOPSIS
Linux, OpenBSD-V meaningSolnix has no -V. On Linux -V prints the program version. On OpenBSD -V rtable selects the routing table. The same flag does unrelated things on those two systems.
Source: Linux telnet(1) -V, --version; OpenBSD telnet(1) -V; Solnix telnet(1) SYNOPSIS
FreeBSD, OpenBSD, NetBSD-e with no argumentOn FreeBSD, OpenBSD and NetBSD, omitting the -e argument means no escape character. On Solnix, -e '' is the same as -e '^@' (Control-@), and -E is the only way to disable the escape character. Solnix -e also accepts ^X notation, with ^? meaning DEL.
Source: Solnix telnet(1) -e, -E; FreeBSD telnet(1) -e; OpenBSD telnet(1) -e; NetBSD telnet(1) -e
FreeBSD, OpenBSD, NetBSD-l and automatic loginOn FreeBSD, OpenBSD and NetBSD, -l user implies -a. The Solnix page only says -l sends user as the ENVIRON variable USER, and does not say it implies -a.
Source: Solnix telnet(1) -l, -a; FreeBSD telnet(1) -l; OpenBSD telnet(1) -l; NetBSD telnet(1) -l
FreeBSD-a and -x defaultsFreeBSD says -a is now the default and the option is ignored, and that -x is now the default and ignored. -y turns encryption off. The Solnix page documents no such defaults and has no -y.
Source: FreeBSD telnet(1) -a, -x, -y; Solnix telnet(1) -a, -x
Linux, OpenBSD-x and Kerberos options missingSolnix -x turns on data-stream encryption and makes telnet exit with an error if authentication or encryption cannot be set up. Linux and OpenBSD have no -x. They also have none of the Solnix -f, -F, -k or -X options.
Source: Solnix telnet(1) -x, -f, -F, -k, -X; Linux telnet(1) options; OpenBSD telnet(1) SYNOPSIS
FreeBSD, NetBSD-x wordingOn FreeBSD and NetBSD, -x turns on encryption 'if possible'. Solnix -x makes telnet exit with an error if authentication cannot be negotiated or encryption cannot be turned on.
Source: Solnix telnet(1) -x; FreeBSD telnet(1) -x; NetBSD telnet(1) -x
all foursource-routed host syntaxOnly Solnix documents @hop1@hop2@host (loose source route) and a leading ! (strict) in the host argument. With IPv6 the route is always loose and ! is ignored. The other pages show only host [port] in their synopses.
Source: Solnix telnet(1) SYNOPSIS and DESCRIPTION; Linux telnet(1) SYNOPSIS; FreeBSD telnet(1) SYNOPSIS; OpenBSD telnet(1) SYNOPSIS; NetBSD telnet(1) SYNOPSIS
OpenBSD7-bit/8-bit data pathOpenBSD says -8 is the default and provides -7 for a 7-bit path. Solnix has no -7, and its page does not say 8-bit is the default.
Source: OpenBSD telnet(1) -7, -8; Solnix telnet(1) -8
OpenBSDclose commandSolnix 'close' closes the TELNET session and exits telnet, and an EOF in command mode does the same. OpenBSD 'close' closes the session and returns to command mode.
Source: Solnix telnet(1) USAGE, close; OpenBSD telnet(1) close
FreeBSD, NetBSDoptions Solnix lacksSolnix has none of the FreeBSD/NetBSD options -N (no name lookup), -S tos (type of service) or -P policy (IPsec). FreeBSD also has -B, -Q, -s src_addr, -u (AF_UNIX) and -y. OpenBSD also has -D (DISPLAY rewriting).
Source: FreeBSD telnet(1) -B, -N, -P, -Q, -S, -s, -u, -y; NetBSD telnet(1) -N, -P, -S; OpenBSD telnet(1) -D; Solnix telnet(1) SYNOPSIS
LinuxGNU long optionsLinux telnet (GNU inetutils 2.7) accepts long options such as --login, --no-rc, --binary and --trace. Solnix telnet has only the short options listed in its SYNOPSIS. The Linux page also does not list the interactive commands that Solnix documents under USAGE.
Source: Linux telnet(1) option list; Solnix telnet(1) SYNOPSIS, USAGE
FreeBSD, NetBSDKerberos realm lookupFor -k realm, Solnix says the default realm is determined in krb5.conf(5). FreeBSD refers to krb_realmofhost(3). The NetBSD page says only 'the remote host's realm'.
Source: Solnix telnet(1) -k; FreeBSD telnet(1) -k; NetBSD telnet(1) -k

Standards

  • POSIX: telnet is not a POSIX.1-2024 utility.
  • Solnix: The Solnix page describes the -r (rlogin-like interface) option as an uncommitted interface that may change in the future.

Writing portable scripts

  • Use only the options common to all five systems: -8, -E, -K, -L, -c, -e, -l, -n and -r. Do not use -4, -6, -b, -V, -x or -a in portable scripts: they are missing on Solnix or mean different things elsewhere.
  • Do not rely on -l implying automatic login, or on -e with an empty argument meaning 'no escape character'. Use -E when you need no escape character.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.