tset(1b) on Solnix vs Linux and the BSDs

On Solnix, tset is the BSD-compatibility illumos tset at /usr/ucb/tset, and its page also documents reset. It lacks the -c, -q, -V and -w options of the Linux, FreeBSD and OpenBSD (ncurses) tset, and it describes /etc/termcap rather than terminfo.

What Solnix runs

A default Solnix system runs the illumos tset at /usr/ucb/tset. This is the only variant listed. The page documents reset together with tset, but the bundle does not say where reset is installed. The page is the section 1B (BSD compatibility) page, dated February 15, 1995.

Differences

Compared withTopicWhat differs
Linux, FreeBSD, OpenBSD-c, -q, -V, -w missingThe Solnix synopsis has no -c, -q, -V or -w. Linux, FreeBSD and OpenBSD list all four. A script using tset -q to print the terminal type without initializing, or tset -w to resize the window, has no documented equivalent on Solnix.
Source: Solnix tset(1b) SYNOPSIS, OPTIONS; Linux/FreeBSD/OpenBSD tset(1) SYNOPSIS; OpenBSD tset(1) -c, -q, -V, -w
NetBSDoption setNetBSD has no -c, -q, -V or -w either. It sets the window size and control characters as part of normal initialization. Solnix documents no window-size handling. Solnix has -n, which NetBSD says has no effect.
Source: NetBSD tset(1) SYNOPSIS, DESCRIPTION, COMPATIBILITY (-n); Solnix tset(1b) -n
all four-e, -i, -k argument formSolnix OPTIONS write the character attached to the flag (-ec, -ic, -kc). Linux, FreeBSD, OpenBSD and NetBSD synopses write a separate argument (-e ch, -i ch, -k ch). The Solnix SYNOPSIS lists -ec and -kc but not -ic, although OPTIONS documents -ic.
Source: Solnix tset(1b) SYNOPSIS, OPTIONS -ec, -ic, -kc; Linux/FreeBSD/OpenBSD/NetBSD tset(1) SYNOPSIS -e ch
all four-m versus a final type argumentOn Solnix, a final type argument not preceded by -m is used only if no -m mapping applies. On Linux, FreeBSD, OpenBSD and NetBSD, -m mappings are applied only when no terminal type was given on the command line.
Source: Solnix tset(1b) DESCRIPTION ("If no mapping applies and a final type option"); Linux/FreeBSD/OpenBSD/NetBSD tset(1) DESCRIPTION ("If the terminal type was not specified on the command-line, the -m option mappings")
all fourterminal databaseThe Solnix page refers to generic names in /etc/termcap, and to the rs= and rf= capabilities for reset. NetBSD says tset now uses terminfo, and its -S and -E options were removed because they only make sense for termcap. The Solnix text still mentions -S.
Source: Solnix tset(1b) DESCRIPTION (/etc/termcap, rs= and rf=, "-s, or -S"); NetBSD tset(1) DESCRIPTION, COMPATIBILITY (-E and -S removed)
all fourprint type to stdout optionThe first OPTIONS entry on Solnix (the option name is garbled in the bundle) outputs the terminal name on standard output. The page does not say whether initialization is skipped. OpenBSD (-q or -) and NetBSD (-) say the terminal is not initialized.
Source: Solnix tset(1b) OPTIONS (first entry); OpenBSD tset(1) -q; NetBSD tset(1) option -
all four-r meaningSolnix -r "in addition to other actions, reports the terminal type" without naming the output stream. OpenBSD and NetBSD print the terminal type to standard error.
Source: Solnix tset(1b) -r; OpenBSD tset(1) -r; NetBSD tset(1) -r
Linuxcsh noglob handling with -sThe Solnix page tells csh users to wrap eval `tset -s` in set noglob and unset noglob. The Linux page says the csh output itself sets and unsets noglob, leaving it unset, so eval `tset -s options` alone is enough.
Source: Solnix tset(1b) -s; Linux tset(1) "Setting the Environment"
Linux, FreeBSD, OpenBSDone-second wait after initializationLinux, FreeBSD and OpenBSD document that tset waits one second after sending initialization strings, in case a hardware reset was issued. Linux and FreeBSD skip this on a pseudoterminal. The Solnix page does not mention a wait.
Source: Linux/FreeBSD tset(1) DESCRIPTION ("waits one second"); OpenBSD tset(1) DESCRIPTION; Solnix tset(1b) DESCRIPTION
FreeBSD, OpenBSD, NetBSD/etc/ttys lookupFreeBSD, OpenBSD and NetBSD pages say tset falls back to the /etc/ttys entry for the terminal type, then to "unknown". The Solnix page says only that with no arguments it reads TERM, and does not mention /etc/ttys.
Source: FreeBSD/OpenBSD/NetBSD tset(1) DESCRIPTION; Solnix tset(1b) DESCRIPTION ("reads the terminal type from the TERM environment variable")
OpenBSD-c and -w defaultsOpenBSD says that if neither -c nor -w is given, both are assumed. The Solnix page has no -c or -w. Its -k leaves the kill character alone unless -k is given.
Source: OpenBSD tset(1) OPTIONS (last paragraph); Solnix tset(1b) -kc

Standards

  • POSIX: tset is not a POSIX.1-2024 utility.
  • OpenBSD: Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.
  • Solnix: The Solnix page text in the bundle has no STANDARDS section. SEE ALSO points to attributes(7).

Writing portable scripts

  • Limit portable scripts to the flags in all five synopses: -I, -Q, -r, -s, -e, -k and -m. Avoid -c, -q, -V, -w and -n.
  • In csh startup files, wrap eval `tset -s ...` in set noglob and unset noglob. The Solnix page requires this, and it is harmless elsewhere.

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.