Initially, all the echoing is done by the local machine, and input is transmitted line by line (cooked mode). If you wish the remote machine to do the echoing (e.g. you're running a screen editor there), you must put your terminal in raw mode, by sending a QUIT signal.
In raw mode, each character is send as soon as it is typed, and no echoing is performed by the local machine. A further QUIT signal will revert to cooked mode again (i.e. QUIT can be used to toggle between raw and cooked modes)
The connection can be closed by typing EOT in cooked mode.
If the -l option is specified, and if PC-INTERFACE is installed on the remote host, then you will be connected to one of the pseudo-ttys supported by driver.
This option gives you a remote connection which looks more like a direct tty link, and automatically puts you in 'raw' mode.
On the other hand, you have to go through all the bother of logging on, which takes more time.
Using the -i option only, the connection is closed by a QUIT signal.
The uid used to start the remote process is your real uid, not your effective uid, so that even if you're running su(1), your remote process will not be root.
The only way you can login to a remote machine as root, is to login to your local machine as root (on the console), and connect from there.
When the remote process it started, it will have your uid, the gid assosciated with the remote uid, and will be located in your remote home directory.
The format of the file is:
<hostname> <ID>
e.g.
olive 45
oscar f2
As shipped, the package expects each host to have a physical ethernet address which is unique in the last (lsb) byte.
The addresses which are used are:
XX.YY.YY.00.00.HH Server
XX.YY.YY.PID.PID.HH Client/Remote Process.
The values of XX and YY are totally arbitrary, and you can change them if you wish. The value of HH must be different for each host, and is taken from the LSB of the host physical ethernet address. If this does not produce a unique value for each server, then you can choose to take it from any other byte of the physical address, by redefining LSB (ni.h) to pick any other byte.
connect -l olive
Connect to a PC-INTERFACE pseudo-tty on host 'olive'.
connect oscar
Connect to a remote shell on host 'oscar'
/dev/ptty?? PC-INTERFACE pseudo-ttys
/usr/lib/ethernet.add List of hosts.
The values of XX and YY may conflict with other applications.
There's no guarantee that you can get a unique host ID using only one byte from the physical node address.
connect <host> gets you a shell which isn't connected to a real tty device.