lpc(1b) on Solnix vs Linux and the BSDs

On Solnix, lpc is the illumos BSD-compatibility printer control program, run as /usr/bin/lpc (the page documents /usr/ucb/lpc). It controls local printers and queues much like the BSD lpc, but it reads illumos printers.conf names rather than /etc/printcap, and it omits the BSD bottomq, setstatus and tclean commands.

What Solnix runs

A default Solnix system runs the illumos lpc at /usr/bin/lpc. The page is published as lpc(1b) by pkgs.solnix.illumos-world-man, and its SYNOPSIS shows /usr/ucb/lpc, which is also shipped. The bundle does not say how /usr/bin/lpc differs from /usr/ucb/lpc. The bundle has no Linux page for lpc, so no Linux comparison is made.

Differences

Compared withTopicWhat differs
FreeBSD, OpenBSD, NetBSDprinter configuration sourceSolnix lpc names printers as atomic names and points to printers.conf(5). FreeBSD, OpenBSD and NetBSD lpc act on printers configured in /etc/printcap.
Source: Solnix lpc(1B) USAGE (status, abort) and SEE ALSO; FreeBSD lpc(8) DESCRIPTION; OpenBSD lpc(8) DESCRIPTION; NetBSD lpc(8) DESCRIPTION
FreeBSDmissing commandsThe Solnix page documents no bottomq, setstatus or tclean command. FreeBSD lpc has all three: bottomq moves jobs to the bottom of the queue, setstatus changes the status message, and tclean is a dry run of clean.
Source: FreeBSD lpc(8) bottomq, setstatus, tclean; Solnix lpc(1B) USAGE
FreeBSDtopq job selectionSolnix topq takes request IDs and user names. FreeBSD topq takes jobspecs: job numbers, ranges such as 21-32, user IDs, @host names and combinations such as jones:17@host.
Source: Solnix lpc(1B) topq; FreeBSD lpc(8) topq and jobspec list
OpenBSD, NetBSDtopq syntaxSolnix topq is `topq printer[request-ID...] [user ...]`. OpenBSD and NetBSD use `topq printer [jobnum ...] [user ...]`. The argument form is the same in outline, but the Solnix page calls the job argument a request-ID.
Source: Solnix lpc(1B) topq; OpenBSD lpc(8) topq; NetBSD lpc(8) topq
FreeBSD, OpenBSD, NetBSDdown and up and the status messageOn Solnix, down inserts a message in the printer status file and up deletes it. The BSD pages describe up as 'enable everything and start a new printer daemon', and do not mention deleting the message.
Source: Solnix lpc(1B) down, up; FreeBSD lpc(8) up; OpenBSD lpc(8) up; NetBSD lpc(8) up
FreeBSD, NetBSDdown message syntaxSolnix down takes optional printers and an optional message, with no -msg flag. FreeBSD requires -msg to separate several printers from the message. NetBSD's synopsis requires a message.
Source: Solnix lpc(1B) down; FreeBSD lpc(8) down; NetBSD lpc(8) down
FreeBSD, OpenBSD, NetBSDrestart for super-userOn the BSDs, a super-user restart first tries to abort the current daemon, which kills and restarts a stuck one. The Solnix restart text only says it attempts to start a new daemon and does not describe this.
Source: Solnix lpc(1B) restart; FreeBSD lpc(8) restart; OpenBSD lpc(8) restart; NetBSD lpc(8) restart
FreeBSD, OpenBSD, NetBSDprivilege splitThe Solnix page says help, exit, quit and status are available to all users, and all other commands only to a super-user. The OpenBSD and NetBSD pages describe lpc as an administrator tool without listing unprivileged commands. FreeBSD says only that clean is privileged and tclean is not.
Source: Solnix lpc(1B) USAGE; FreeBSD lpc(8) tclean; OpenBSD lpc(8) DESCRIPTION; NetBSD lpc(8) DESCRIPTION
FreeBSDclean scopeSolnix clean removes files the print daemon created in the spool directory for the queue. FreeBSD clean removes unprintable temporary, data and control files, and also lists core files in the spool directory without removing them.
Source: Solnix lpc(1B) clean; FreeBSD lpc(8) clean
FreeBSD, OpenBSD, NetBSDdaemon and service references; IPPThe Solnix page refers to lpsched(8), lpshut(8) and svcadm(8) and notes that over IPP the user may be prompted for a passphrase. OpenBSD and NetBSD point to lpd(8), and none of the BSD pages mention IPP.
Source: Solnix lpc(1B) SEE ALSO, NOTES; OpenBSD lpc(8) SEE ALSO; NetBSD lpc(8) SEE ALSO
OpenBSD, NetBSDexit statusThe Solnix page documents exit 0 on success and non-zero on error. The OpenBSD and NetBSD pages in the bundle have no exit status section.
Source: Solnix lpc(1B) EXIT STATUS; OpenBSD lpc(8); NetBSD lpc(8)

Standards

  • POSIX: lpc is not a POSIX.1-2024 utility.
  • Solnix: ATTRIBUTES: Interface Stability is Standard.
  • OpenBSD: HISTORY: the lpc command appeared in 4.2BSD.
  • NetBSD: HISTORY: the lpc command appeared in 4.2BSD.

Writing portable scripts

  • Use only the commands all four systems document (help, exit, quit, status, abort, clean, disable, enable, restart, start, stop, topq, up, down) and pass the message to down as plain trailing words for a single printer.
  • Do not assume /etc/printcap exists or that printer names are the same on Solnix, which uses printers.conf(5) atomic names. Take printer names from the local configuration.

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.