tset(1) on Solnix vs Linux and the BSDs
tset is not in the base Solnix system. The page is the ncurses tset from pkgs.solnix.ncurses, the same program that Linux (ncurses-6.6) documents. NetBSD's tset is a smaller, older implementation: it has no -V, -c, -q or -w, and it uses "-" to print the terminal type.
The manual pages
What Solnix runs
Not installed by default: add pkgs.solnix.ncurses. The header lists /usr/ucb/tset as another illumos variant, but the bundle has no text for it and does not say how it differs. The Solnix page documents both tset and reset (the same program run under another name).
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux, FreeBSD | same program as Linux and FreeBSD | The Solnix page is the ncurses tset(1) page. Its synopsis and option list match the Linux (ncurses-6.6) page, and the FreeBSD 15.1 page shows the same ncurses text. Differences from Linux and FreeBSD are small wording points, such as the one-second wait below. Source: Solnix tset(1) SYNOPSIS, OPTIONS; Linux tset(1) SYNOPSIS; FreeBSD tset(1) SYNOPSIS |
| Linux, FreeBSD | one-second wait after init strings | The Solnix page says tset always waits one second after sending the initialization strings (unless -I). The Linux and FreeBSD pages say it waits only if the device does not appear to be a pseudoterminal. Scripts that run tset in a terminal emulator may be slower on Solnix.Source: Solnix tset(1) DESCRIPTION (tset initialization, third bullet); Linux tset(1) same bullet; FreeBSD tset(1) same bullet |
| OpenBSD | one-second wait matches OpenBSD | The OpenBSD page, like the Solnix page, says tset waits one second after sending the initialization strings, with no pseudoterminal exception. Source: OpenBSD tset(1) DESCRIPTION (tset initialization, third bullet); Solnix tset(1) same bullet |
| NetBSD | missing options -V, -c, -q, -w | The NetBSD synopsis is tset [-IQrs] only. There is no -V, -c, -q or -w. On NetBSD the window size and the control characters are always set, and nothing in the page lets you turn that off. Solnix has -c and -w, and assumes both when neither is given (that sentence is in the OpenBSD page).Source: NetBSD tset(1) SYNOPSIS, DESCRIPTION ("the window size, backspace, interrupt and line kill characters ... are set"); Solnix tset(1) SYNOPSIS, DESCRIPTION; OpenBSD tset(1) OPTIONS (-c, -w) |
| NetBSD | printing the terminal type: - vs -q | On NetBSD the option "-" by itself prints the terminal type to standard output without initializing the terminal, and there is no -q. On Solnix, -q does this, and "-" is described as equivalent but archaic.Source: NetBSD tset(1) OPTIONS (-); Solnix tset(1) OPTIONS (-q); OpenBSD tset(1) OPTIONS (-q) |
| NetBSD | extra legacy options on NetBSD | NetBSD's COMPATIBILITY section says -a, -d and -p were retained and -n is accepted but has no effect. It also allows -e, -i and -k without an argument. The Solnix page shown does not document any of these. Do not rely on them in portable scripts.Source: NetBSD tset(1) COMPATIBILITY; Solnix tset(1) SYNOPSIS, OPTIONS |
| NetBSD | /etc/ttys lookup | The Solnix page marks the /etc/ttys terminal-type lookup as "BSD systems only" and says getty sets TERM from /etc/inittab on System V hosts. The NetBSD page lists the /etc/ttys step with no such caveat. The FreeBSD and OpenBSD pages carry the Solnix wording.Source: Solnix tset(1) DESCRIPTION (terminal type, item 3); NetBSD tset(1) DESCRIPTION (third bullet); FreeBSD tset(1) same item; OpenBSD tset(1) same item |
| NetBSD | reset and -Q | NetBSD notes that running tset as reset no longer implies -Q. The Solnix page shown says nothing about this. Do not assume reset suppresses the erase/interrupt/kill messages on any of these systems.Source: NetBSD tset(1) COMPATIBILITY; Solnix tset(1) DESCRIPTION (reset) |
| NetBSD | -s and shell choice | The Solnix page says -s writes csh commands if SHELL ends in "csh" and sh commands otherwise. The NetBSD text lists SHELL and TERM as the variables used and says TERMCAP was removed from -s. It does not describe the csh/sh split.Source: Solnix tset(1) DESCRIPTION (Setting the Environment); NetBSD tset(1) ENVIRONMENT, COMPATIBILITY |
Standards
- POSIX: tset is not a POSIX.1-2024 utility.
- OpenBSD: COMPATIBILITY: 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.
- NetBSD: COMPATIBILITY: tset was completely redone as part of adding an IEEE Std 1003.1-1988 ("POSIX.1") compliant terminal interface. The page does not say that tset itself is standardized.
Writing portable scripts
- Stick to
-I,-Q,-e,-i,-k,-m,-rand-s, which appear in the synopsis on all five pages. Avoid-q,-c,-wand-V, which NetBSD lacks. - The documented eval `tset
-soptions ...` line in .profile or .login works on all four counterparts, because-spicks sh or csh syntax from SHELL. On Solnix, install pkgs.solnix.ncurses first.
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.