tic(8) on Solnix vs Linux and the BSDs

On Solnix, tic is the illumos tic at /usr/bin/tic, a small compiler that takes only -c and -v and writes to /usr/share/lib/terminfo. Linux, FreeBSD and OpenBSD ship the much larger ncurses tic. NetBSD tic writes a .cdb database and takes different options.

What Solnix runs

A default Solnix system runs the illumos tic at /usr/bin/tic. No other variants are shipped. The Solnix page is section 8 and lists captoinfo(8) and infocmp(8) as separate commands. The ncurses pages say captoinfo and infotocap are the same program as tic.

Differences

Compared withTopicWhat differs
Linux, FreeBSD, OpenBSDoption setSolnix tic accepts only -v[n] and -c. The ncurses tic on Linux, FreeBSD and OpenBSD also takes -o, -e, -x, -a, -C, -I, -D, -w, -s, -r and others. Scripts that pass these options fail on Solnix.
Source: Solnix tic(8) SYNOPSIS, OPTIONS; Linux tic(1m) SYNOPSIS; FreeBSD tic(1) SYNOPSIS; OpenBSD tic(1) SYNOPSIS
Linux, FreeBSD, OpenBSDoutput directorySolnix writes compiled entries to /usr/share/lib/terminfo, or to TERMINFO if set. There is no -o option. FreeBSD uses /usr/share/misc/terminfo and OpenBSD uses /usr/share/terminfo, and both accept -o dir.
Source: Solnix tic(8) DESCRIPTION; FreeBSD tic(1) DESCRIPTION, -o; OpenBSD tic(1) DESCRIPTION, -o
Linuxdefault database pathThe Linux page shows a default database under an ncurses-6.6 /nix/store path, not a fixed system directory. Solnix uses the fixed path /usr/share/lib/terminfo.
Source: Linux tic(1m) DESCRIPTION; Solnix tic(8) DESCRIPTION
Linux, FreeBSD, OpenBSDfallback to $HOME/.terminfoncurses tic falls back to $HOME/.terminfo (or $HOME/.terminfo.db) when it cannot write to the system database and that location exists. It also documents the TERMINFO_DIRS search order. The Solnix page documents neither.
Source: Linux tic(1m) DESCRIPTION; FreeBSD tic(1) DESCRIPTION; OpenBSD tic(1) DESCRIPTION; Solnix tic(8) DESCRIPTION
all four-c validation scopeSolnix -c checks the file for errors but does not detect errors in use= links. ncurses -c validates syntax and invalid use references, and also checks that parameterized string capabilities are valid expressions. NetBSD -c only checks for errors and does not write the database.
Source: Solnix tic(8) -c; Linux tic(1m) -c; OpenBSD tic(1) -c; NetBSD tic(1) -c
all foursize limitsSolnix documents hard limits: a compiled entry cannot exceed 4096 bytes and the name field cannot exceed 128 bytes. The counterpart pages in the bundle do not state these limits.
Source: Solnix tic(8) DESCRIPTION; Linux/FreeBSD/OpenBSD/NetBSD tic pages
Linux, FreeBSD, OpenBSDverbose -vSolnix -v[n] writes trace information to standard error, with n from 1 to 10 and 1 as the default. The ncurses pages also list -v[n]. The visible text does not give the Solnix-style 1 to 10 range for them.
Source: Solnix tic(8) -v; Linux tic(1m) SYNOPSIS (-v[n])
NetBSDdifferent programNetBSD tic builds a database named source.cdb, next to the source file unless -o file is given. Its synopsis is tic [-acSsx] [-o file] source [term1 term2 ...]. It has no -v, and -S emits a C structure. Solnix writes a terminfo directory tree.
Source: NetBSD tic(1) SYNOPSIS, DESCRIPTION, -o, -S; Solnix tic(8) DESCRIPTION
Linux, FreeBSD, OpenBSDtermcap conversion and aliasesncurses tic is the same program as captoinfo and infotocap, and -C or -I selects the translation. The Solnix page lists captoinfo(8) and infocmp(8) in SEE ALSO and documents no translation options.
Source: Linux tic(1m) Aliases, -C, -I; OpenBSD tic(1) ALIASES; Solnix tic(8) SEE ALSO
NetBSDuse= semanticsNetBSD merges a use=term entry without overwriting capabilities already found, and a capability ending in @ marks it absent. Solnix reads the used entry's binary from the terminfo directory and copies its capabilities except those explicitly defined in the current entry.
Source: NetBSD tic(1) Extensions To Terminfo; Solnix tic(8) OPERANDS

Standards

  • POSIX: tic is not a POSIX.1-2024 utility.
  • NetBSD: tic works with terminfo files that conform to the X/Open Curses Issue 4, Version 2 (“XCURSES4.2”) standard.

Writing portable scripts

  • For portable scripts use only tic -c file to check, or tic file to compile. Use -o or -x only where the ncurses tic is installed.
  • Do not hard-code the terminfo directory. Set TERMINFO if you need a specific location, since the default path differs between Solnix, FreeBSD and OpenBSD.

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.