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.
The manual pages
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 with | Topic | What differs |
|---|---|---|
| Linux, FreeBSD, OpenBSD | option set | Solnix 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, OpenBSD | output directory | Solnix 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 |
| Linux | default database path | The 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, OpenBSD | fallback to $HOME/.terminfo | ncurses 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 scope | Solnix -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 four | size limits | Solnix 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, OpenBSD | verbose -v | Solnix -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]) |
| NetBSD | different program | NetBSD 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, OpenBSD | termcap conversion and aliases | ncurses 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 |
| NetBSD | use= semantics | NetBSD 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
-cfile to check, or tic file to compile. Use-oor-xonly 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.