drawterm(1)

connection to cpu, fs, and auth servers

Section 1 drawterm-9front bookworm source

Description

DRAWTERM

NAME

drawterm - connection to cpu, fs, and auth servers

SYNOPSIS

drawterm [ -GBO ] [ -h host ] [ -u user ] [ -a authserver ] [ -s secstore ] [ -ecrypt 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).

-ecrypt 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://git.9front.org/plan9front/drawterm/HEAD/info.html

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.

See Also

  • rcpu(1)