TERM(1)

NAME
termrc - file controlling term serial parameters

SYNOPSIS
~/.term/termrc, ~/.term/termrc.<server>, ~/term/termrc, ~/term/termrc.<server>, /usr/local/lib/term/termrc, /usr/local/lib/term/termrc.<server>, /etc/termrc, or /etc/termrc.<server>

DESCRIPTION
Term and its clients support multiple, compressed, and error-corrected communication channels over a regular serial link, typically a modem connection. However, because of the wide array of modem/serial/unix combinations supported you must create a termrc file configured for your particular connection.

INITIALIZATION FILE
The file termrc may be used to specify default settings for a user. These settings are overruled by values set in the command line, but several options can only be set in this file. Blank lines and lines beginning with '#' are comments; other lines must begin with one of the options.

REQUIRED SETTINGS
If you don't set these options you will have problems.

remote on|off
    This should be set on the remote side. It should always be specified on one and only one end of the link. This prevents client number clashes, and determines which server says hello first.

baudrate off|<number>
    This is used to limit the rate at which term sends data. Set this to the minimum of your modem speed, and the computer-to-modem baud rate. Values that are too high will cause packet retransmissions if data is lost; values that are too low will cause loss of throughput. off will make your rate unlimited.

COMMUNICATION SETTINGS
Adjusting these settings will probably greatly improve your transmission speeds. You may have to adjust some of these just to get a working connection.

timeout <number>
    Set the number of 1/20ths of a second to wait before re-sending packets that haven't been acknowledged. Low values will provide faster recovery from line noise, but higher values are required if the latencies in your link are large. Values between 50 and 120 are typical. The default value is 70.

escape <number>
    This is one of the most important options for term. Usage is either 'escape <some decimal number>' or 'escape <start of range>-<end of range>'. This tells term to never transmit the character or characters in the range. This is essential for serial lines that aren't fully transparent. For example, lines that use software flow control will want to do 'escape 17' and 'escape 19'. If you only have a seven-bit link, DO NOT use 'escape 128-255', see the termrc 'sevenbit' option below. See also the linecheck program, and term_setup(1).

ignore <number>
    This tells term to silently strip this character if it is received over the serial link. Its use should correspond to escape options used by the term on the other system. E.g. if you use 'escape 126' on one end, you should use 'ignore 126' on the other.

window <number>
    This set the maximum number of packets that can be outstanding the large the value, the better your maximum possible transmission speed, but if it is too large, it will take a long to recover from timeout errors! Allowed values are 1-16. The default is based on your baudrate.

shift <number>
    This sets a shift value. This number is XOR'ed with all bytes before they are sent and dramatically reduces the # of escape characters sent. Typically numbers between 224 and 255 give the best results.

sevenbit on|off
    Use this if you are running on a 7 bit line. By default this is off.

seven_in on|off
    Use this if your incoming line is seven bit or you need to escape most of the characters between 128 and 255. If seven_in is on at one machine, seven_out must be on at on the other machine.

seven_out on|off
    Use your outgoing line is seven bit. See seven_in.

stopbits <number>
    This is used in the transmission speed calculations. The default value is 1. Fractional values may be specified; 0.5 appears to be typical for modern modems with error correction.

compress on|off
    Turns the default compression mode on or off. The default is 'compress on'. With this on, all data will be compressed by term before sending over the serial line, and then un-compressed at the other end. If you are sending already compressed data, it is is slightly more efficient to turn compression off. Similarly, if your modem already does compression you may consider leaving it off. You can turn compression on and off on a client-by-client basis with the [-c] option for clients. See term_clients(1).

SECURITY OPTIONS
These options allow you to control the security level used by term.

chroot <pathname>
    This performs a chroot() to the specified path, just before entering main loop. This option might cause problems if term is started by anybody except root. However, if you run term as root, users may be able to bypass TCPIP security with term. See also the options denyrsh on|off, socket tcp|unix|off. and the manual page chroot(2) for more information.

denyrsh on|off
    This allows you to block incoming execution requests. The default is off.

socket tcp|unix|off
    Allows you to control whether a socket is created for term connections, and if so what type. The type tcp should only be used if the term directory is NFS or AFS mounted. Consider using off for your remote machine if you are worried about someone with root privileges gaining access to your home computer. This will disable all term commands on the respective machine including tredir and txconn. With this off, the only obvious way a root user could hack your home computer would be to access the modem directly. The default is to use a unix domain socket.

share on|off
    This controls whether other users my access the term socket by setting the TERMMODE and TERMSHARE environmental variables, and using SUID -or- SGID programs.

CUSTOMIZATION OPTIONS
These options allow you to customize how term works for you!

chdir <pathname>
    This makes the default directory the specified path.

login on|off
    Use this to specify you don't want "trsh" to default with a login shell. The default is off.

noise on|off
    If this is set, then term will send anything it doesn't understand to the standard error or the -l file. This is where talk requests, mail biffs, writes, and corrupted packets will end up. This is recommended for the local end.

quiet <number>
    This sets the "quietness level", zero by default. This is equivalent to [-q], but only takes effect after reading the termrc, so it has no effect on the initial messages printed before reading termrc.

terminate <string>
    This sets a string that will cause term to exit, and is '00000' by default. To help prevent accidently terminations this must be at least 5 characters long.

shell <command>
    This specifies some command you want to be given as soon as you execute your first term command. Normally this should be a script name.

hangup_on_exit on|off
    The local term will hang up the line when it exits (typically by waiting one second, sending "+++", waiting another second, and sending "ath0"). Off by default.

explicit_hangup on|off
    If set to off, term won't bother to send "ath0" for hangup_on_exit (above). On by default.

OPTIONS TO SOLVE UNCOMMON PROBLEMS
Hopefully, you won't need to adjust any of these. However, at least one person does, otherwise they wouldn't be here.

blocksize <number>
    Use this to set the maximum size block that can be written to your modem at once. Typical values are 256, 512, or 1024. The default is 512 and you probably don't need to change this.

collisions on|off
    Use this if you get lots of timeout errors only when transmitting and receiving at the same time.

frequency off|<number>
    This tells term how often your kernel will return from a select (2) delay. Normally, the default specified in limits.h is sufficient. In the cases where it is not linecheck should report the value you need. If the frequency value is too low you will waist excess cpu time, and if it is too high term will bottle neck at high speeds.

flowcontrol off|<number>
    Use this to tell term to generate control-Q's every now and then in case your terminal server understands flow control and things accidently turn it off, i.e. line noise. This is off by default, but may be set to any non-negative value.

increment <number>
    This controls how many times a second term tries to send data. Normally the default is calculated from your baudrate. This option should be considered obsolete.

packetsize <number>
    This is the maximum size packet term will use. The default is 256 and you probably won't need to change this. Valid values are anything between 1 and 256.

SEE ALSO

term(1),
    termrc(1), term_clients(1), term_setup(1), termtest(1), linecheck(1).

term/samples
    Sample termrc files

term/TERMRC
    Another description of the syntax and options the user may set in ~/.term/termrc.

AUTHOR
Michael O'Reilly, michael@iinet.com.au, original author
Bill C. Riemers, bcr@physics.purdue.edu, current developer