DRAWTERM(1)

NAME
drawterm - connection to cpu, fs, and auth servers

SYNOPSIS
drawterm [ -GBO ] [ -h host ] [ -u user ] [ -a authserver ] [ -s secstore ] [ -e 'crypt hash' ] [ -k keypattern ] [ -p ] [ -t timeout ] [ -r root ] [ -g geometry ] [ -c cmd ...]

DESCRIPTION
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).

ENVIRONMENT VARIABLES

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).

SERVICES
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.

EXAMPLES
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

SOURCE
https://code.9front.org/hg/drawterm

SEE ALSO
rc(1), cpu(1), rcpu(1), con(1), import(4), exportfs(4), tlssrv(8), aan(8)

BUGS
Drawterm is not a Plan 9 program.

HISTORY
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.