drawterm - connection to cpu, fs, and auth servers
drawterm [ -GBO ] [ -h host ] [
-u user ] [ -a authserver ] [ -s
secstore ] [ -e 'crypt hash' ] [ -k
keypattern ] [ -p ] [ -t timeout ] [ -r
root ] [ -g geometry ] [ -c cmd ...]
Drawterm is a client for connecting venerable systems to
Plan 9 systems. The standard behavior with no options provided is to begin a
graphical session which will prompt for a cpu server, auth server, and
password. If $USER is not set, drawterm will prompt for a username as
well.
The goal of drawterm is to provide an abstraction layer from the
client operating system to the desired Plan 9 system. Client-side devices
that can be represented as filesystems will be and are served from the
namespace drawterm operates in. Generally, this means that drawterm behaves
like a Plan 9 kernel and will attempt to reconstruct a Plan 9 terminal-like
experience from a non-Plan 9 system.
The options are:
- -G
- Start drawterm in text-only mode (no graphics).
- -B
- Disable kbdfs.
- -O
- Use the old cpu(1) to connect to the cpu server rather than
rcpu(1).
- -h host
- Connect to host for cpu.
- -u user
- Remote user id.
- -a authserver
- Connect to authserver for auth.
- -s secstore
- Sets the address of the secstore(8) server. If the -s option is
absent, secstore(1) will attempt to dial tcp!$auth!secstore (or the
otherwise specified auth server).
- -e 'crypt
hash'
- Specifies the 'crypt hash' for the connection. The default is
'rc4_256 sha1'. Usage of no encryption can be specified by 'clear' as per
ssl(3).Notethatthisoptionisdeprecatedandonlyrelevanttotheoutdated
cpu(1) protocol.
- -k keypattern
- Use keypattern to select a key to authenticate to the remote side (see
auth(2)).
- -p
- Protect the connection against connection resets by establishing
aan(8) tunnel.
- -t timeout
- Set the timeout for aan(8) to a value in seconds (default is one
day).
- -r root
- Specifies the root directory on the client. The default is /root
and all further paths are relative thereto.
- -c cmd ...
- The command to run can be passed with -c cmd ..., otherwise an interactive
shell is started. The user's profile is run before the command with
$service set to cpu to allow further customization of the environment (see
rc(1) for more information).
- USER
- Unless otherwise specified, the user stored in $USER is used for
authentication.
- PASS
- If $PASS is set, no password will be prompted for in authentication and
the contents of $PASS will be used instead.
- cpu
- Unless otherwise specified, the address stored in $cpu is used for the
rcpu(1) connection (if set).
- auth
- Unless otherwise specified, the address stored in $auth is used for the
rcpu(1) connection (if set).
A number of services are provided in drawterm. The exact
functionality and availability of certain features may be dependent on your
platform or architecture:
- /mnt/term
- A mount of the client machine's root filesystem as well as certain virtual
filesystems to present Plan 9 devices and interfaces that are not
available on non-Plan 9 systems. On Windows this is a directory containing
the available lettered disks (C:, A:, etc.). Additionally, there is always
a /mnt/term/root folder which is a copy of the client machine's namespace
with no virtual filesystems present as to avoid conflicting names (such as
with Linux's /root).
- #b
- Assuming the -B flag is not set, /dev/kbd will be provided for kbdfs (see
kbd(3)).
- #i
- Assuming the -G flag is not set, various drawing device files will be
provided in /dev (see draw(3)).
- #m
- Assuming the -G flag is not set, files for controlling the mouse will
provided in /dev (see mouse(3)).
- #c
- A number of console device files giving access to the console screen and
miscellaneous information are provided and mounted in /dev (see
cons(3)).
- #I
- The network filesystem is served and bound over /net, providing the
interface to Internet Protocol stacks (see ip(3)).
- #A
- An audio device filesystem is served, if possible, as a one-level
directory in /dev (see audio(3)). Note that this device, if unable
to be served, will not cause a panic in drawterm.
Make a headless rcpu session connecting to 10.30.167.25 using
plan9.postnix.us as the auth server with aan(8) enabled:
-
drawterm -G -h 10.30.167.25 -a plan9.postnix.us -p
Make a session using cpu rather than rcpu to tenshi.postnix.us;
this command is the same for connecting to a Plan 9 4th edition system:
-
drawterm -O -h tenshi.postnix.us
https://git.9front.org/plan9front/drawterm/HEAD/info.html
Drawterm is not a Plan 9 program.
Drawterm was originally developed by Russ Cox (rsc) for Plan 9 4th
edition. This original version is still usable on Plan 9 and its forks which
use the p9sk1 and older authsrv(6) protocols.
https://swtch.com/drawterm/
The 9front project has forked drawterm to incorporate features
from 9front, most importantly dp9ik authentication support (see
authsrv(6)) and the TLS-based rcpu(1) protocol.