|DRAWTERM(1)||General Commands Manual||DRAWTERM(1)|
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:
- Start drawterm in text-only mode (no graphics).
- Disable kbdfs.
- 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)).
- 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).
- Unless otherwise specified, the user stored in $USER is used for authentication.
- If $PASS is set, no password will be prompted for in authentication and the contents of $PASS will be used instead.
- Unless otherwise specified, the address stored in $cpu is used for the rcpu(1) connection (if set).
- 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:
- 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).
- Assuming the -B flag is not set, /dev/kbd will be provided for kbdfs (see kbd(3)).
- Assuming the -G flag is not set, various drawing device files will be provided in /dev (see draw(3)).
- Assuming the -G flag is not set, files for controlling the mouse will provided in /dev (see mouse(3)).
- A number of console device files giving access to the console screen and miscellaneous information are provided and mounted in /dev (see cons(3)).
- The network filesystem is served and bound over /net, providing the interface to Internet Protocol stacks (see ip(3)).
- 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
rc(1), cpu(1), rcpu(1), con(1), import(4), exportfs(4), tlssrv(8), aan(8)
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.