cu(1c) on Solnix vs Linux and the BSDs
On Solnix, cu is the illumos cu at /usr/bin/cu. It is built on the uucp mechanism: it reads /etc/uucp/Devices and /etc/uucp/Systems and takes a telephone number or uucp system name. The BSD cu pages describe a serial-line terminal emulator that uses -l with a device and, on OpenBSD and NetBSD, remote(5).
The manual pages
- Solnix: cu(1c) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: cu(1) 15.1-RELEASE
- OpenBSD: cu(1) 8.0
- NetBSD: cu(1) 11.0
What Solnix runs
A default Solnix system runs the illumos cu at /usr/bin/cu, published in pkgs.solnix.illumos-world-man. No other variants are shipped. The bundle text is trimmed, so the Solnix page's tilde escapes and exit status are not shown here.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, OpenBSD, NetBSD | connection database | Solnix cu uses the uucp control files /etc/uucp/Devices and /etc/uucp/Systems (and Sysfiles) to pick a medium. OpenBSD cu reads remote(5) for a host. NetBSD documents /etc/remote for tip. FreeBSD names no such file in the text shown.Source: Solnix cu(1c) USAGE, Connection Phase; OpenBSD cu(1) DESCRIPTION (remote(5)); NetBSD cu(1) DESCRIPTION (/etc/remote) |
| FreeBSD, OpenBSD, NetBSD | -s speed default | Solnix -s takes 300 to 38400 and defaults to "Any" speed, which depends on the order of lines in /etc/uucp/Devices. FreeBSD, OpenBSD and NetBSD all default to 9600.Source: Solnix cu(1c) -s; FreeBSD cu(1) -s; OpenBSD cu(1) -s; NetBSD cu(1) -s |
| FreeBSD, OpenBSD | -speed shorthand | FreeBSD and OpenBSD accept -speed (e.g. -9600) as well as -s speed. The Solnix synopsis shows only -s speed.Source: FreeBSD cu(1) SYNOPSIS, -s; OpenBSD cu(1) SYNOPSIS, -s; Solnix cu(1c) SYNOPSIS |
| FreeBSD, NetBSD | -t meaning | On Solnix, -t dials a terminal set to auto answer and maps carriage return to carriage-return-line-feed. FreeBSD and NetBSD describe -t as a hard-wired connection to a host on a dial-up line.Source: Solnix cu(1c) -t; FreeBSD cu(1) -t; NetBSD cu(1) -t |
| FreeBSD, NetBSD | -e and -o parity | Solnix -e and -o are alternatives in the synopsis ([-o | -e]). FreeBSD says that giving both -e and -o means no parity, which is the default. The NetBSD page sets parity with -e, -o or -P parity, and says no parity is the default.Source: Solnix cu(1c) SYNOPSIS, -e, -o; FreeBSD cu(1) -e, -o; NetBSD cu(1) -P |
| FreeBSD, OpenBSD, NetBSD | -l line | On Solnix, -l overrides the line search. Without -s, the speed comes from the matching record in /etc/uucp/Devices. With -s, cu checks that the speed is available there, otherwise it prints an error and does not call. BSD -l only names the device. OpenBSD defaults to /dev/cua00.Source: Solnix cu(1c) -l; FreeBSD cu(1) -l; OpenBSD cu(1) -l; NetBSD cu(1) -l |
| FreeBSD, OpenBSD, NetBSD | -c meaning | Solnix -c device selects Devices entries by their Type field, usually a LAN name. NetBSD -c number means call this number. FreeBSD and OpenBSD have no -c.Source: Solnix cu(1c) -c; NetBSD cu(1) -c; FreeBSD cu(1) SYNOPSIS; OpenBSD cu(1) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | -d meaning | Solnix -d prints diagnostic traces. On OpenBSD, -d marks the line as directly connected so the driver does not wait for carrier. FreeBSD and NetBSD list no -d.Source: Solnix cu(1c) -d; OpenBSD cu(1) -d; FreeBSD cu(1) SYNOPSIS; NetBSD cu(1) options |
| FreeBSD, OpenBSD, NetBSD | -h and half-duplex | Solnix -h sets half-duplex mode and emulates local echo. FreeBSD and NetBSD -h echoes characters locally (half-duplex). OpenBSD has no -h.Source: Solnix cu(1c) -h; FreeBSD cu(1) -h; NetBSD cu(1) -h; OpenBSD cu(1) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | -C, -H, -L, -n, -b | Solnix has -b (7 or 8 bits), -C (run local-cmd on the connection), -H (ignore one hangup, for callback), -L (login chat from /etc/uucp/Systems) and -n (prompt for the number). OpenBSD and FreeBSD have none of these. NetBSD -n means disable the tilde escape.Source: Solnix cu(1c) -b, -C, -H, -L, -n; NetBSD cu(1) -n; FreeBSD cu(1) SYNOPSIS; OpenBSD cu(1) SYNOPSIS |
| OpenBSD, NetBSD | escape character and restricted mode | OpenBSD and NetBSD have -E to change the tilde escape character, and OpenBSD has -r for restricted mode. The Solnix synopsis has neither.Source: OpenBSD cu(1) -E, -r; NetBSD cu(1) -E; Solnix cu(1c) SYNOPSIS |
| OpenBSD | environment variables | OpenBSD cu reads HOST (default host) and REMOTE (system description or path). The Solnix text shown documents no environment variables for cu, apart from LC_CTYPE affecting -b.Source: OpenBSD cu(1) ENVIRONMENT; Solnix cu(1c) -b |
Standards
- POSIX: cu is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not script cu across systems: the connection database (
/etc/uucpfiles vs remote(5)), the-sdefault and the meanings of-c,-d,-nand-tdiffer. - To reach a serial console portably, check for the tool and pass
-lwith the device path, and set the speed explicitly with-s.
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.