talk(1) on Solnix vs Linux and the BSDs

On Solnix, talk is the illumos talk at /usr/bin/talk, a POSIX.1-2024 utility. It takes only `address [terminal]` and no options. Linux inetutils talk has --help, --usage and --version, and OpenBSD adds -H and -s.

What Solnix runs

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

Differences

Compared withTopicWhat differs
OpenBSDoptions -H and -sOpenBSD talk accepts -H (do not escape high-bit characters) and -s (smooth scrolling). The Solnix synopsis is `talk address [terminal]` and documents no options, so a script using -H or -s fails or misbehaves on Solnix.
Source: OpenBSD talk(1) SYNOPSIS, -H, -s; Solnix talk(1) SYNOPSIS
Linuxoption parsingLinux inetutils talk takes [OPTION...] and documents -?/--help, --usage and -V/--version. The Solnix page documents no options, including no --version or --help.
Source: Linux talk(1) SYNOPSIS, --usage, -V; Solnix talk(1) SYNOPSIS
all fouraddress formsSolnix documents four remote address forms: host!user, host.user, host:user and user@host (user@host preferred). FreeBSD documents user@host, host!user and host:user. OpenBSD and NetBSD document only user@host. Linux does not say.
Source: Solnix talk(1) OPERANDS address; FreeBSD talk(1) DESCRIPTION person; OpenBSD talk(1) person; NetBSD talk(1) person
FreeBSD, OpenBSD, NetBSDterminal operand formatThe BSD pages describe the second operand as ttyname of the form ttyXX. Solnix calls it terminal and says its format is the same as that returned by who.
Source: Solnix talk(1) OPERANDS terminal; FreeBSD, OpenBSD and NetBSD talk(1) ttyname
NetBSDTALKHOST environment variableNetBSD talk uses TALKHOST as the hostname the talk packets appear to come from. The Solnix page lists only LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, NLSPATH and TERM, and does not mention TALKHOST.
Source: NetBSD talk(1) ENVIRONMENT; Solnix talk(1) ENVIRONMENT VARIABLES
Linux, FreeBSD, NetBSDexit statusSolnix documents exit 0 on success and >0 on error or on a terminal that cannot support talk. OpenBSD documents the same. The FreeBSD, NetBSD and Linux pages have no exit status section.
Source: Solnix talk(1) EXIT STATUS; OpenBSD talk(1) EXIT STATUS; FreeBSD, NetBSD and Linux talk(1)
FreeBSDcontrol-D handlingFreeBSD says typing control-D clears both parts of your screen and sends the control-D character to the remote side. The Solnix page does not describe this. On Solnix, the EOF character terminates the local talk, and the other side can then only exit.
Source: FreeBSD talk(1) DESCRIPTION (control-D); Solnix talk(1) DESCRIPTION (interrupt or EOF characters)
FreeBSDmultibyte charactersFreeBSD lists "Multibyte characters are not recognized" under BUGS. Solnix talk processes characters by LC_CTYPE classification, and with the stty iexten mode on it treats multi-byte characters as printable if their wide-character equivalents are printable.
Source: FreeBSD talk(1) BUGS; Solnix talk(1) DESCRIPTION (LC_CTYPE, iexten)
FreeBSD, NetBSDprotocol compatibilityFreeBSD and NetBSD warn that the 4.3BSD talk protocol is incompatible with the 4.2BSD one. The Solnix page says nothing about protocol versions.
Source: FreeBSD talk(1) BUGS; NetBSD talk(1) BUGS; Solnix talk(1)
FreeBSD, OpenBSD, NetBSDpermission wordingEach BSD page says talking is allowed at the outset and can be changed with mesg(1). Solnix also uses mesg(1), but adds that user privilege may further limit access to other users' terminals, and that talk fails if privileges are lacking.
Source: Solnix talk(1) DESCRIPTION (mesg); FreeBSD, OpenBSD and NetBSD talk(1) DESCRIPTION

Standards

  • POSIX: talk is a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Standard.
  • OpenBSD: The talk utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification, though its presence is optional. The flags [-Hs] are extensions to that specification.

Writing portable scripts

  • Call talk as `talk user@host [tty]` with no options. That is the one address form all four BSD and Solnix pages document, and it uses no flags that exist on only one system.
  • Do not rely on -H, -s, --help or --version: they exist only on OpenBSD or Linux inetutils.

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.