infocmp(1) on Solnix vs Linux and the BSDs
The Solnix infocmp(1) page is the ncurses page, published by pkgs.solnix.ncurses, but a default Solnix system runs the illumos infocmp at /usr/bin/infocmp. Linux and FreeBSD ship ncurses infocmp with nearly the same options as the Solnix page. NetBSD's infocmp is much smaller, with only 9 options (-1 -A -B -a -c -n -q -u -w -x).
The manual pages
- Solnix: infocmp(1) from
pkgs.solnix.ncurses - Linux: infocmp(1m) ncurses-6.6
- FreeBSD: infocmp(1) 15.1-RELEASE
- OpenBSD: infocmp(1) 8.0
- NetBSD: infocmp(1) 11.0
What Solnix runs
The command on PATH on a default Solnix system is the illumos /usr/bin/infocmp, and no other variants are shipped. The bundle gives only the ncurses page from pkgs.solnix.ncurses, not the illumos page, so the comparisons below describe what that ncurses page says. The manual does not say where the ncurses binary is installed or whether it comes first on PATH. Check with 'command -v infocmp' and 'infocmp -V'.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| NetBSD | option set | NetBSD infocmp accepts only -1 -A -B -a -c -n -q -u -w -x. The Solnix page also documents -d, -I, -L, -C, -K, -r, -T, -0, -v, -s, -Q, -R, -e, -E, -F, -i, -l and others. Scripts using those options fail on NetBSD.Source: NetBSD infocmp(1) SYNOPSIS; Solnix infocmp(1) SYNOPSIS |
| NetBSD | termcap output (-C) | Solnix documents -C (termcap names) with -r and -K to convert terminfo to termcap. The NetBSD page lists no -C, -r or -K, and no termcap conversion.Source: Solnix infocmp(1) Source Listing Options; NetBSD infocmp(1) SYNOPSIS and options list |
| NetBSD | default action | On Solnix, Linux, FreeBSD and OpenBSD, no options with zero or one terminal prints in -I form, and two or more terminals imply -d. The NetBSD page says it reconstructs the first definition in terminfo format and compares if a second term is given. It names no -I or -d.Source: Solnix infocmp(1) Default Options; NetBSD infocmp(1) DESCRIPTION |
| NetBSD | -q meaning | On Solnix, -q shows the difference between absent and cancelled capabilities, in output that otherwise uses F and NULL. On NetBSD, -q shortens the comparison listing by dropping subheadings and writing - for absent and @ for cancelled instead of NULL.Source: Solnix infocmp(1) Comparison Options; NetBSD infocmp(1) -q |
| NetBSD | -u and -x meaning | Solnix -u rewrites the first entry with use= fields. NetBSD -u builds a new description from the later ones and also sets -a. Solnix -x adds BSD-compatibility capabilities (names prefixed OT). NetBSD -x includes non-standard capabilities and needs a database compiled with tic -x.Source: Solnix infocmp(1) Use= Option, Comparison Options (-x); NetBSD infocmp(1) -u, -x |
| NetBSD | -A and -B argument | Solnix, Linux, FreeBSD and OpenBSD take a directory for -A and -B. NetBSD takes a database, which it uses to load the first terminal definition (-A) or the later ones (-B).Source: Solnix infocmp(1) SYNOPSIS (-A directory, -B directory); NetBSD infocmp(1) -A, -B |
| Linux, FreeBSD | comparison output format | Linux and FreeBSD say -d and -c print string values between ' characters, and every entry ends with a period. With -c a space follows =. The Solnix and OpenBSD pages describe only ':' or '=' after the name. Do not use one parser for output from both.Source: Linux infocmp(1m) Entry Comparison Options -c, -d, -n; FreeBSD infocmp(1) same section; Solnix infocmp(1) Comparison Options |
| Linux, FreeBSD | synopsis argument names | Linux and FreeBSD show -Q encoding, -s key and -v level. The Solnix and OpenBSD synopses show -Q n, -s d|i|l|c and -v n. The visible Solnix text does not explain these arguments, so check the full page before using them.Source: Linux infocmp(1m) SYNOPSIS; FreeBSD infocmp(1) SYNOPSIS; Solnix infocmp(1) SYNOPSIS; OpenBSD infocmp(1) SYNOPSIS |
| OpenBSD | -L meaning | OpenBSD says -L uses the long C variable name listed in <term.h>. The Solnix, Linux and FreeBSD pages say it uses long capability names.Source: OpenBSD infocmp(1) Source Listing Options -L; Solnix infocmp(1) Source Listing Options -L |
| NetBSD | environment and exit status | NetBSD documents COLUMNS (overridden by -w), TERM, and exit 0 on success or >0 on error. The visible Solnix text mentions only TERM, and the bundle shows no exit status section for it.Source: NetBSD infocmp(1) ENVIRONMENT, EXIT STATUS; Solnix infocmp(1) Comparison Options and Source Listing Options (TERM) |
Standards
- POSIX: infocmp is not a POSIX.1-2024 utility.
- NetBSD: The infocmp utility outputs information that conforms to the X/Open Curses Issue 4, Version 2 (“XCURSES4.2”) standard.
Writing portable scripts
- Stick to
-I,-c,-d,-n,-u,-x,-1and-wwhen scripting across systems. NetBSD lacks every other option, and its-q,-uand-xbehave differently. - Do not parse
-cor-doutput across systems. Linux and FreeBSD add quotes, periods and spaces that the Solnix and OpenBSD pages do not describe.
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.