-
Notifications
You must be signed in to change notification settings - Fork 0
Cruft-free serial terminal
License
arachsys/ucom
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
ucom
====
ucom is a serial terminal in the style of cu, minicom and GNU screen, but
without legacy modem control, file transfer or a nested terminal emulation
layer. In fewer than 150 lines of C, it provides a clean interactive
session with a serial port, aiming for both correctness and efficiency.
Usage
-----
Run with a serial port as argument, it switches both this port and
the local terminal into raw mode, then bidirectionally copies between
the two. The local quit key (typically ^\ on Linux and BSD) can be used
to disconnect, restore the terminal settings and exit.
To set the baud rate and line characteristics, use stty on the serial
port before running ucom. For example,
stty 115200n8 < /dev/ttyS0
ucom /dev/ttyS0
Similarly, to change the default quit key to ^X on the local terminal, use
stty quit ^X
If the quit key is disabled with stty quit undef, the terminal can still be
terminated gracefully by sending it a SIGHUP, SIGINT, SIGQUIT or SIGTERM.
It can be convenient to wrap ucom in a shell function such as
ucom() {
stty "${@:2}" >/dev/null < "$1" && command ucom "$1"
}
which allows the port to be configured with additional arguments.
Building and installing
-----------------------
Run 'make install' at the top of the source tree to install ucom in /bin.
Alternatively, you can set DESTDIR and/or BINDIR to install in a different
location, or make, strip and copy the binary into place manually.
The program should be portable to any reasonably modern POSIX system,
including Linux and BSD. However, macOS poll() still fails on character
devices and this longstanding bug will break ucom. A branch of ucom
modified to use the ugly legacy select() interface is available for macOS.
Please report any problems or bugs to Chris Webb <chris@arachsys.com>.
Copying
-------
This software was written by Chris Webb <chris@arachsys.com> and is
distributed as Free Software under the terms of the MIT license in COPYING.
About
Cruft-free serial terminal