con, telnet, cu, rx, xms, xmr - remote login, execution, and XMODEM file transfer
con [ -dCrvs ] [ -l [ remuser ] ] [ -c cmd ] [net!]machine
telnet [ -dCrn ] [net!]machine
rx [ -n ] [net!]machine [ command-word ... ]
Con connects to the computer whose network address is net!machine and logs in if possible.
With no options, the account name used on the remote system is the same as that on the
local system. Standard input and output go to the local machine.
-l with an argument causes remuser to be used as the account name on the remote sys-
tem. Without an argument this option disables automatic login and a normal login
-C forces cooked mode, that is, local echo.
-c runs cmd as if it had been typed as a command from the escape mode. This is used
-v (verbose mode) causes information about connection attempts to be output to stan-
dard error. This can be useful when trying to debug network connectivity.
-d causes debugging information to be output to standard error.
-r suppresses printing of any carriage return followed by a new line. This is useful
since carriage return is a printable character in Plan 9.
-s strips received characters to 7 bits to forestall misinterpretation of ASCII with
parity as UTF.
The control-\ character is a local escape. It prompts with the local machine name and
>>>. Legitimate responses to the prompt are
i Send a quit [sic] signal to the remote machine.
b Send a break.
. Return from the escape.
!cmd Run the command with the network connection as its standard input and standard out-
put. Standard error will go to the screen. This is useful for transmitting and
receiving files over the connections using programs such as xms.
Telnet is similar to con, but uses the telnet protocol to communicate with the remote
machine. If standard input is a file or a pipe, the -n option causes telnet not to hang
up the connection when it receives EOF on its standard input; instead it waits for the
remote end to hang up. It shares con's -C, -d, and -r options.
Cu is a shell script that uses telco(4) and con to connect to a machine via a modem. If
the machine is equipped with a local modem, it is used. Otherwise, the call is placed
Rx executes one shell command on the remote machine as if logged in there, but with local
standard input and output. A rudimentary shell environment is provided. If the target is
a Plan 9 machine, $service there will be rx.
Network addresses for both con and rx have the form network!machine. Supported networks
are those listed in /net.
The commands xms and xmr respectively send and receive a single file using the XMODEM pro-
tocol. They use standard input and standard output for communication and are intended for
use with con.
rx kremvax cat file1 >file2
Copy remote file1 to local file2.
rx kremvax cat file1 '>file2'
Copy remote file1 to remote file2.
eqn paper | rx kremvax troff -ms | rx deepthought lp
Parallel processing: do each stage of a pipeline on a different machine.
for con, xms, and xmr.
Under rx, a program that should behave specially towards terminals may not: e.g., remote
shells will not prompt. Also under rx, the remote standard error and standard output are
combined and go inseparably to the local standard output.