troff(1) on Solnix vs Linux and the BSDs
On Solnix, troff is the illumos troff at /usr/bin/troff. It defaults to PostScript output (-Tpost), which must be piped through dpost(1) before printing. The bundle has no Linux troff text and no BSD counterparts, so the comparison is limited to what the Solnix page documents.
The manual pages
- Solnix: troff(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: troff(1) groff-1.24.2
What Solnix runs
A default Solnix system runs the illumos troff at /usr/bin/troff. No other variants are shipped. The page is published in pkgs.solnix.illumos-world-man. The Linux troff(1) section in the bundle is empty (groff-1.24.2 is named in the header only), and the bundle includes no FreeBSD, OpenBSD or NetBSD page.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | no Linux text to compare | The Linux troff(1) text in the bundle is empty, and the header lists no Linux options. The manual does not say how groff troff differs in options or defaults. Check the groff page before porting scripts. Source: Header (COUNTERPART linux, OPTION FLAGS: linux troff empty); LINUX section of bundle |
| Linux | default output device | Solnix troff defaults to -Tpost, a PostScript printer. The output must go through dpost(1) before it is sent to a PostScript printer. The only -T value the Solnix page lists is post.Source: Solnix troff(1) OPTIONS -Tdest; DESCRIPTION (piped through dpost(1)) |
| Linux | macro package location (-m) | Solnix -mname prepends /usr/share/lib/tmac/name to the input files. The man(7) macros are in /usr/share/lib/tmac/an, so the name is an, not man. Setting TROFFMACS changes the directory, and the path must end in '/'.Source: Solnix troff(1) OPTIONS -mname |
| Linux | option set | Solnix documents only: -a -f -F -i -m -n -o -q -r -s -T -u -z. The synopsis has no -q, though OPTIONS describes it as ignored in troff. Options must come before the first filename. Any option outside this set is undocumented on Solnix.Source: Solnix troff(1) SYNOPSIS and OPTIONS |
| Linux | -a meaning | Solnix -a sends an ASCII approximation of the formatted output to standard output. The page mentions an old command, /usr/bin/ta, for a rough ASCII version on ordinary terminals.Source: Solnix troff(1) OPTIONS -a |
| Linux | -F font table directory | Solnix -Fdir searches dir for font width or terminal tables instead of the system default directory. The page does not name that default directory.Source: Solnix troff(1) OPTIONS -Fdir |
| Linux | character set limits | Solnix troff is not 8-bit clean, because it is by design based on 7-bit ASCII. Documents with 8-bit input may not format correctly. Source: Solnix troff(1) NOTES |
| Linux | yr register | On Solnix the numeric register yr is the number of years since 1900, not the last two digits of the year. The page gives a macro that defines a two-digit year string. Source: Solnix troff(1) NOTES |
Standards
- POSIX: troff is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not assume the same options, default output device or macro directory across troff implementations. Select the macro package and output device explicitly, and check the local page.
- Avoid 8-bit characters in input for Solnix troff, which is based on 7-bit ASCII.
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.