OnWorks favicon

c3270 - Online in the Cloud

Run c3270 in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command c3270 that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



c3270 - curses-based IBM host access tool


c3270 [options] [host]

c3270 [options] session-file.c3270


c3270 opens a telnet connection to an IBM host in a console window. It implements RFCs
2355 (TN3270E), 1576 (TN3270) and 1646 (LU name selection), and supports IND$FILE file
transfer. If the console is capable of displaying colors, then c3270 emulates an IBM
3279. Otherwise, it emulates a 3278.

The full syntax for host is:

Prepending a P: onto hostname causes the connection to go through the telnet-passthru
service rather than directly to the host. See PASSTHRU below.

Prepending an S: onto hostname removes the "extended data stream" option reported to the
host. See -tn below for further information.

Prepending an N: onto hostname turns off TN3270E support for the session.

Prepending an L: onto hostname causes c3270 to first create an SSL tunnel to the host, and
then create a TN3270 session inside the tunnel. (This function is supported only if c3270
was built with SSL/TLS support). Note that TLS-encrypted sessions using the TELNET START-
TLS option are negotiated with the host automatically; for these sessions the L: prefix
should not be used.

A specific Logical Unit (LU) name to use may be specified by prepending it to the hostname
with an `@'. Multiple LU names to try can be separated by commas. An empty LU can be
placed in the list with an extra comma. (Note that the LU name is used for different
purposes by different kinds of hosts. For example, CICS uses the LU name as the Terminal

The hostname may optionally be placed inside square-bracket characters `[' and `]'. This
will prevent any colon `:' characters in the hostname from being interpreted as indicating
option prefixes or port numbers. This allows numeric IPv6 addresses to be used as

On systems that support the forkpty library call, the hostname may be replaced with -e and
a command string. This will cause c3270 to connect to a local child process, such as a

The port to connect to defaults to telnet. This can be overridden with the -port option,
or by appending a port to the hostname with a colon `:'. (For compatability with previous
versions of c3270 and with tn3270(1), the port may also be specified as a second, separate


c3270 understands the following options:

-accepthostname spec
Specifies a particular hostname to accept when validating the name presented in the
host's SSL certificate, instead of comparing to the name or address used to make
the connection. spec can either be any, which disables name validation,
DNS:hostname, which matches a particular DNS hostname, or IP:address, which matches
a particular numeric IPv4 or IPv6 address.

Forces all characters to be displayed in bold. This helps with PC consoles which
display non-bold characters in unreadably dim colors. All-bold mode is the default
for color displays, but not for monochrome displays.

-altscreen rowsxcols=init_string
Defines the dimensions and escape sequence for the alternate (132-column) screen

-cadir directory
Specifies a directory containing CA (root) certificates to use when verifying a
certificate provided by the host.

-cafile filename
Specifies a PEM-format file containing CA (root) certificates to use when verifying
a certificate provided by the host.

Causes c3270 to operate in cbreak mode, instead of raw mode. In cbreak mode, the
TTY driver will properly process XOFF and XON characters, which are required by
some terminals for proper operation. However, those characters (usually ^S and
^Q), as well as the characters for interrupt, quit, and lnext (usually ^C, ^\ and
^V respectively) will be seen by c3270 only if preceded by the lnext character.
The susp character (usually ^Z) cannot be seen by c3270 at all.

-certfile filename
Specifies a file containing a certificate to provide to the host, if requested.
The default file type is PEM.

-certfiletype type
Specifies the type of the certificate file specified by -certfile. Type can be pem
or asn1.

-chainfile filename
Specifies a certificate chain file in PEM format, containing a certificate to
provide to the host if requested, as well as one or more intermediate certificates
and the CA certificate used to sign that certificate. If -chainfile is specified,
it overrides -certfile.

-charset name
Specifies an EBCDIC host character set.

-clear toggle
Sets the initial value of toggle to false. The list of toggle names is under
TOGGLES below.

Causes c3270 to use the terminal's default foreground color instead of the curses
color black, and the terminal's default background color instead of the curses
color white. This is helpful for emulators such as gnome-terminal whose
representation of a black background is a murky gray, and for emulators configured
to use black text on a white background. It is set automatically if the
environment variable COLORTERM is set to gnome-terminal. It is available only if
c3270 was compiled with a version of ncurses that supports default colors, if the
emulator supports default colors, and if the termcap/terminfo entry indicates this

-defscreen rowsxcols=init_string
Defines the dimensions and escape sequence for the default (80-column) screen mode.

-devname name
Specifies a device name (workstation ID) for RFC 4777 support.

-hostsfile file
Uses file as the hosts file, which allows aliases for host names and scripts to be
executed at login. See ibm_hosts(1) for details.

-im method
Specifies the name of the input method to use for multi-byte input. (Supported
only when c3270 is compiled with DBCS support.)

-keyfile filename
Specifies a file containing the private key for the certificate file (specified via
-certfile or -chainfile). The default file type is PEM.

-keyfiletype type
Specifies the type of the private key file specified by -keyfile. Type can be pem
or asn1.

-keypasswd type:value
Specifies the password for the private key file, if it is encrypted. The argument
can be file:filename, specifying that the password is in a file, or string:string,
specifying the password on the command-line directly. If the private key file is
encrypted and no -keypasswd option is given, the password will be prompted for

-keymap name
Specifies a keyboard map to be found in the resource c3270.keymap.name or the file
name. See KEYMAPS below for details.

-km name
Specifies the local encoding method for multi-byte text. name is an encoding name
recognized by the ICU library. (Supported only when c3270 is compiled with DBCS
support, and necessary only when c3270 cannot figure it out from the locale.)

-loginmacro Action(arg...) ...
Specifies a macro to run at login time.

-model name
The model of 3270 display to be emulated. The model name is in two parts, either
of which may be omitted:

The first part is the base model, which is either 3278 or 3279. 3278 specifies a
monochrome (green on black) 3270 display; 3279 specifies a color 3270 display.

The second part is the model number, which specifies the number of rows and
columns. Model 4 is the default.

Model Number Columns Rows
2 80 24
3 80 32
4 80 43
5 132 27

Note: Technically, there is no such 3270 display as a 3279-4 or 3279-5, but most
hosts seem to work with them anyway.

The default model for a color display is 3279-4. For a monochrome display, it is

-mono Prevents c3270 from using color, ignoring any color capabilities reported by the

An alias for -secure.

-oversize colsxrows
Makes the screen larger than the default for the chosen model number. This option
has effect only in combination with extended data stream support (controlled by the
"c3270.extended" resource), and only if the host supports the Query Reply
structured field. The number of columns multiplied by the number of rows must not
exceed 16383 (3fff hex), the limit of 14-bit 3270 buffer addressing.

It can also be specified as auto, which causes c3270 to fill the entire terminal or
console window.

-port n
Specifies a different TCP port to connect to. n can be a name from /etc/services
like telnet, or a number. This option changes the default port number used for all
connections. (The positional parameter affects only the initial connection.)

-proxy type:host[:port]
Causes c3270 to connect via the specified proxy, instead of using a direct
connection. The host can be an IP address or hostname. The optional port can be a
number or a service name. For a list of supported proxy types, see PROXY below.

-printerlu luname
Causes c3270 to automatically start a pr3287 printer session. If luname is ".",
then the printer session will be associated with the interactive terminal session
(this requires that the host support TN3270E). Otherwise, the value is used as the
explicit LU name to associate with the printer session.

Causes c3270 to automatically reconnect to the host if it ever disconnects. This
option has effect only if a hostname is specified on the command line.

-rv Switches c3270 from a white-on-black display to a black-on-white display.

-sl n Specifies that n lines should be saved for scrolling back. The default is 4096.

-scriptport port
Causes c3270 to listen for scripting connections on local TCP port port. Note that
this is the only way to do peer scripting on c3270.

Disables the interactive c3270> prompt. When used, a hostname must be provided on
the command line.

When verifying a host SSL certificate, allow it to be self-signed.

-set toggle
Sets the initial value of toggle to true. The list of toggle names is under
TOGGLES below.

Causes the emulator to create a Unix-domain socket when it starts, for use by
script processes to send commands to the emulator. The socket is named
/tmp/x3sck.process_id. The -p option of x3270if causes it to use this socket,
instead of pipes specified by environment variables.

-tn name
Specifies the terminal name to be transmitted over the telnet connection. The
default name is IBM-model_name-E, for example, IBM-3279-4-E for a color display, or
IBM-3278-4-E for a monochrome display.

Some hosts are confused by the -E suffix on the terminal name, and will ignore the
extra screen area on models 3, 4 and 5. Prepending an s: on the hostname, or
setting the "c3270.extended" resource to "false", removes the -E from the terminal
name when connecting to such hosts.

The name can also be specified with the "c3270.termName" resource.

-trace Turns on data stream and event tracing at startup. The default trace file name is

-tracefile file
Specifies a file to save data stream and event traces into. If the name starts
with `>>', data will be appended to the file.

-tracefilesize size
Places a limit on the size of a trace file. If this option is not specified, or is
specified as 0 or none, the trace file size will be unlimited. The minimum size is
64 Kbytes. The value of size can have a K or M suffix, indicating kilobytes or
megabytes respectively. When the trace file reaches the size limit, it will be
renamed with a `-' appended and a new file started.

-user name
Specifies the user name for RFC 4777 support.

-v Display the version and build options for c3270 and exit.

For SSL or SSL/TLS connections, verify the host certificate, and do not allow the
connection to complete unless it can be validated.

-xrm "c3270.resource: value"
Sets the value of the named resource to value. Resources control less common c3270
options, and are defined under RESOURCES below.

These names are also used as the first parameter to the Toggle action.


If the terminal that c3270 is running on has at least one more row that the 3270 model
requires (e.g., 25 rows for a model 2), c3270 will display a status line. The c3270
status line contains a variety of information. From left to right, the fields are:

comm status
The first symbol is always a 4. If c3270 is in TN3270E mode, the second symbol is
a B; otherwise it is an A. If c3270 is in SSCP-LU mode, the third symbol is an S.
Otherwise it is blank.

keyboard lock
If the keyboard is locked, an "X" symbol and a message field indicate the reason
for the keyboard lock.

The letter "T" indicates that one or more keystrokes are in the typeahead buffer.

temporary keymap
The letter "K" indicates that a temporary keymap is in effect.

The letter "R" indicates that the keyboard is in reverse field entry mode.

insert mode
The letter "I" indicates that the keyboard is in insert mode.

printer session
The letter "P" indicates that a pr3287 session is active.

secure connection
A green letter "S" indicates that the connection is secured via SSL/TLS.

LU name
The LU name associated with the session, if there is one.

cursor position
The cursor row and column are optionally displayed, separated by a "/".


Here is a complete list of basic c3270 actions. Script-specific actions are described on
the x3270-script(1) manual page.

Actions marked with an asterisk (*) may block, sending data to the host and possibly
waiting for a response.

*Attn attention key
BackSpace move cursor left (or send

BackTab tab to start of previous input
CircumNot input "^" in NVT mode, or
"notsign" in 3270 mode
*Clear clear screen
Compose next two keys form a special
*Connect(host) connect to host
*CursorSelect Cursor Select AID
Delete delete character under cursor
(or send ASCII DEL)
DeleteField delete the entire field
DeleteWord delete the current or previous
*Disconnect disconnect from host
Down move cursor down
Dup duplicate field
*Enter Enter AID (or send ASCII CR)
Erase erase previous character (or
send ASCII BS)
EraseEOF erase to end of current field
EraseInput erase all input fields
Escape escape to c3270> prompt
Execute(cmd) execute a command in a shell
FieldEnd move cursor to end of field
FieldMark mark field
HexString(hex_digits) insert control-character
Home move cursor to first input
Insert set insert mode
*Interrupt send TELNET IP to host
Keypad Display pop-up keypad
Key(keysym) insert key keysym
Key(0xxx) insert key with character code
Left move cursor left
Left2 move cursor left 2 positions
Menu Display menu bar
MonoCase toggle uppercase-only mode
MoveCursor(row, col) move cursor to (row,col)
Newline move cursor to first field on
next line (or send ASCII LF)
NextWord move cursor to next word
*PA(n) Program Attention AID (n from
1 to 3)
*PF(n) Program Function AID (n from 1
to 24)
PreviousWord move cursor to previous word
Printer(Start[,lu]|Stop) start or stop printer session
PrintText(command) print screen text on printer
Quit exit c3270
Redraw redraw window
Reset reset locked keyboard
Right move cursor right
Right2 move cursor right 2 positions
*Script(command[,arg...]) run a script
Scroll(Forward|Backward) scroll screen
*String(string) insert string (simple macro
*SysReq System Request AID
Tab move cursor to next input
Toggle(option[,set|clear]) toggle an option
ToggleInsert toggle insert mode
ToggleReverse toggle reverse-input mode
*Transfer(option=value...) file transfer
Up move cursor up
ignore do nothing

Any of the above actions may be entered at the c3270> prompt; these commands are also
available for use in keymaps (see KEYMAPS). Command names are case-insensitive.
Parameters can be specified with parentheses and commas, e.g.:
or with spaces, e.g.:
PF 1
Parameters can be quoted with double-quote characters, to allow spaces, commas, and
parentheses to be used.

c3270 also supports the following interactive commands:

Help Displays a list of available commands.

Turns screen tracing (saving screen images to a file) on or off. The command
screentrace on enables screen tracing; the command screentrace off disables it.
After on, a filename may be specified to override the default trace file name of
/tmp/x3scr.pid. The keyaord on can also be followed by the keyword printer and an
optional print command to direct screen traces directly to the printer.

Show Displays statistics and settings.

Trace Turns tracing on or off. The command trace on enables data stream and keyboard
event tracing; the command trace off disables it. The qualifier data or keyboard
can be specified before on or off to enable or disable a particular trace. After
on, a filename may be specified to override the default trace file name of

Note that certain parameters to c3270 actions (such as the names of files and keymaps) are
subject to substitutions:

The character ~ at the beginning of a string is replaced with the user's home directory.
A ~ character followed by a username is replaced with that user's home directory.

Environment variables are substituted using the Unix shell convention of $name or ${name}.

Two special pseudo-environment variables are supported. ${TIMESTAMP} is replaced with a
microsecond-resolution timestamp; ${UNIQUE} is replaced with a string guaranteed to make a
unique filename (the process ID optionally followed by a dash and a string of digits).
${UNIQUE} is used to form trace file names.


The -keymap option or the c3270.keymap resource allow a custom keymap to be specified. If
the option -keymap xxx is given (or the c3270.keymap resource has the value xxx), c3270
will look for a resource named c3270.keymap.xxx. If no resource definition is found, it
will look for a file named xxx.

Multiple keymaps may be specified be separating their names with commas. Definitions in
later keymaps supercede those in earlier keymaps.

In addition, separate keymaps may be defined that apply only in 3270 mode or NVT mode.
For example, the resource definition c3270.keymap.xxx.nvt or the file xxx.nvt will augment
the definition of keymap xxx in NVT mode. Similarly, the resource definition
c3270.keymap.xxx.3270 or the file xxx.3270 will augment the definition of keymap xxx in
3270 mode.

Each line (rule) in a keymap specifies actions to perform when a particular key or
sequence of keys is pressed. Keymap rules have the following syntax:

[Meta][Ctrl]<Key>key...: action[(param[,...])] ...

Here is a sample keymap definition from a file:

! Lines beginning with ! are ignored and can
! occur anywhere.
! Definition of keymap xxx
! When Alt-c is pressed, clear the screen.
Alt<Key>c: Clear()
! When PageUp is pressed, send PF7 to the host.
<Key>PPAGE: PF(7)
! When Ctrl-a is pressed, then F1, send PF13
! to the host.
Ctrl<Key>a <Key>F1: PF(13)

Here is the same definition as a resource:

! Lines beginning with ! are ignored, but NOT
! within a definition.
! Note that the \ is required at the end of the
! first line, and \n\ is
! required at the end of every other line except
! the last.
! Definition of keymap xxx
c3270.keymap.xxx: \
Alt<Key>c: Clear() \n\
<Key>PPAGE: PF(7) \n\
Ctrl<Key>A <Key>F1: PF(13)

The optional Alt or Ctrl modifiers specify that the Alt and Ctrl keys are pressed along
with the specified key, respectively. Key is either an ISO 8859-1 symbol name, such as
equal for `=' and a for `a', or a symbolic ncurses key name, such as UP. More than one
key can be specified, indicating that a sequence of keys must be pressed in order for the
rule to be matched. The action is an action from the ACTIONS list above. More than one
action may be specified; they will be executed in order.

Keymap entries are case-sensitive and modifier-specific. This means that a keymap for the
b key will match only a lowercase b. Actions for uppercase B, or for Alt-B, must be
specified separately.

The base keymap is:

Key Action
Ctrl<Key>] Escape
Ctrl<Key>a Ctrl<Key>a Key(0x01)
Ctrl<Key>a Ctrl<Key>] Key(0x1d)
Ctrl<Key>a <Key>Tab BackTab
Ctrl<Key>a <Key>c Clear
Ctrl<Key>a <Key>e Escape
Ctrl<Key>a <Key>r Reset
Ctrl<Key>a <Key>k Keypad
Ctrl<Key>a <Key>l Redraw
Ctrl<Key>a <Key>m Compose
Ctrl<Key>a <Key>n Menu
Ctrl<Key>a <Key>p PrintText
Ctrl<Key>a <Key>^ Key(notsign)
Ctrl<Key>k Keypad
Ctrl<Key>n Menu
<Key>UP Up
<Key>DOWN Down
<Key>LEFT Left
<Key>RIGHT Right
<Key>F(n) PF(n)
Ctrl<Key>a <Key>F(n) PF(n+12)
Ctrl<Key>a <Key>1 PA(1)
Ctrl<Key>a <Key>2 PA(2)
Ctrl<Key>a <Key>3 PA(3)
<Key>PPAGE Scroll(Backward)
<Key>NPAGE Scroll(Forward)

The base 3270-mode keymap adds:

Key Action
Ctrl<Key>c Clear
Ctrl<Key>d Dup
Ctrl<Key>f FieldMark
Ctrl<Key>i Tab
Ctrl<Key>l Redraw

Ctrl<Key>r Reset
Ctrl<Key>u DeleteField
<Key>BackSpace BackSpace
<Key>Return Enter
<Key>Tab Tab
<Key>Linefeed Newline
<Key>BACKSPACE BackSpace
<Key>DC Delete
<Key>HOME Home
<Key>IC ToggleInsert


Some keyboards do not have a Meta key. Instead, they have an Alt key. Sometimes this key
acts as a proper Meta key, that is, it is a modifier key that sets the high-order bit
(0x80) in the code that is transmitted for each key. Other keyboards send a two-character
sequence when the Alt key is pressed with another key: the Escape character (0x1b),
followed by the code for the other key.

The resource c3270.metaEscape and the termcap km attribute control how c3270 will
interpret these sequences. When c3270.metaEscape is set to true, or when c3270.metaEscape
is set to auto and the termcap km attribute is set, the keyboard is assumed to have a
separate Meta key. The Escape key can be used as an ordinary data key and has no special

When c3270.metaEscape is set to true, or when c3270.metaEscape is set to auto and the
termcap km attribute is not set, the keyboard is assumed to use the Escape character as a
prefix to indicate that the following character is supposed to have the high-order bit
set. When c3270 sees an Escape character from the keyboard, it sets a short timeout. If
another character arrives before the timeout expires, then c3270 will combine the two
characters, setting the high-order bit of the second. In an event trace file, the
combined character is listed as derived. In a keymap, only the combined character or the
Meta prefix may be used. The Escape key can still be used by itself, but only if there is
a short pause before pressing another key.

The default value for c3270.metaEscape is auto.


The Transfer action implements IND$FILE file transfer. This action requires that the
IND$FILE program be installed on the IBM host, and that the 3270 cursor be located in a
field that will accept a TSO or VM/CMS command.

The Transfer action can be entered at the command prompt with no parameters, which will
cause it to prompt interactively for the file names and options. It can also be invoked
with parameters to define the entire transfer.

Because of the complexity and number of options for file transfer, the parameters to the
Transfer action take the unique form of option=value, and can appear in any order. Note
that if the value contains spaces (such as a VM/CMS file name), then the entire parameter
must be quoted, e.g., "HostFile=xxx foo a". The options are:

Option Required? Default Other Values
Direction No receive send
HostFile Yes
LocalFile Yes
Host No tso vm, cics
Mode No ascii binary
Cr No remove add, keep
Remap No yes no
Exist No keep replace, append
Recfm No fixed, variable,
Lrecl No
Blksize No
Allocation No tracks, cylinders,
PrimarySpace No
SecondarySpace No
BufferSize No 4096

The option details are as follows.

send to send a file to the host, receive to receive a file from the host.

The name of the file on the host.

The name of the file on the local workstation.

Host The type of host (which dictates the form of the IND$FILE command): tso (the
default), vm or cics.

Mode Use ascii (the default) for a text file, which will be translated between EBCDIC
and ASCII as necessary. Use binary for non-text files.

Cr Controls how Newline characters are handled when transferring Mode=ascii files.
remove (the default) strips Newline characters in local files before transferring
them to the host. add adds Newline characters to each host file record before
transferring it to the local workstation. keep preserves Newline characters when
transferring a local file to the host.

Remap Controls text translation for Mode=ascii files. The value yes (the default) causes
c3270 to remap the text to ensure maximum compatibility between the workstation's
character set and encoding and the host's EBCDIC code page. The value no causes
c3270 to pass the text to or from the host as-is, leaving all translation to the
IND$FILE program on the host.

Exist Controls what happens when the destination file already exists. keep (the default)
preserves the file, causing the Transfer action to fail. replace overwrites the
destination file with the source file. append appends the source file to the
destination file.

Recfm Controls the record format of files created on the host. (TSO and VM hosts only.)
fixed creates a file with fixed-length records. variable creates a file with
variable-length records. undefined creates a file with undefined-length records
(TSO hosts only). The Lrecl option controls the record length or maximum record
length for Recfm=fixed and Recfm=variable files, respectively.

Lrecl Specifies the record length (or maximum record length) for files created on the
host. (TSO and VM hosts only.)

Specifies the block size for files created on the host. (TSO and VM hosts only.)

Specifies the units for the PrimarySpace and SecondarySpace options: tracks,
cylinders or avblock. (TSO hosts only.)

Primary allocation for a file, The units are given by the Allocation option. (TSO
hosts only.)

Secondary allocation for a file. The units are given by the Allocation option.
(TSO hosts only.)

Buffer size for DFT-mode transfers. Can range from 256 to 32768. Larger values
give better performance, but some hosts may not be able to support them.


The PrintText produces screen snapshots in a number of different forms. The default form
wth no arguments sends a copy of the screen to the default printer. A single argument is
the command to use to print, e.g., lpr. Multiple arguments can include keywords to
control the output of PrintText:

file filename
Save the output in a file.

html Save the output as HTML. This option implies file.

rtf Save the output as RichText. This option implies file. The font defaults to
Courier New and the point size defaults to 8. These can be overridden by the
printTextFont and printTextSize resources, respectively.

string Return the output as a string. This can only be used from scripts.

modi Render modified fields in italics.

caption text
Add the specified text as a caption above the output. Within text, the special
sequence %T% will be replaced with a timestamp.

command command
Directs the output to a command. This allows one or more of the other keywords to
be specified, while still sending the output to the printer.


There are several types of script functions available.

The String Action
The simplest method for scripting is provided via the String action. The arguments
to String are one or more double-quoted strings which are inserted directly as if
typed. The C backslash conventions are honored as follows. (Entries marked * mean
that after sending the AID code to the host, c3270 will wait for the host to unlock
the keyboard before further processing the string.)

\b Left
\exxxx EBCDIC character in hex
\f Clear*
\n Enter*
\pan PA(n)*
\pfnn PF(nn)*
\r Newline
\t Tab
\T BackTab
\uxxxx Unicode character in hex
\xxxxx Unicode character in hex

Note that the numeric values for the \e, \u and \x sequences can be abbreviated to
2 digits. Note also that EBCDIC codes greater than 255 and some Unicode character
codes represent DBCS characters, which will work only if c3270 is built with DBCS
support and the host allows DBCS input in the current field.

An example keymap entry would be:
Meta<Key>p: String("probs clearrdr\n")

Note: The strings are in ASCII and converted to EBCDIC, so beware of inserting
control codes.

There is also an alternate form of the String action, HexString, which is used to
enter non-printing data. The argument to HexString is a string of hexadecimal
digits, two per character. A leading 0x or 0X is optional. In 3270 mode, the
hexadecimal data represent EBCDIC characters, which are entered into the current
field. In NVT mode, the hexadecimal data represent ASCII characters, which are
sent directly to the host.

The Script Action
This action causes c3270 to start a child process which can execute c3270 actions.
Standard input and output from the child process are piped back to c3270. The
Script action is fully documented in x3270-script(1).


c3270 allows the direct entry of accented letters and special symbols. Pressing and
releasing the "Compose" key, followed by two other keys, causes entry of the symbol
combining those two keys. For example, "Compose" followed by the "C" key and the ","
(comma) key, enters the "C-cedilla" symbol. A C on the status line indicates a pending
composite character.

The mappings between these pairs of ordinary keys and the symbols they represent is
controlled by the "c3270.composeMap" resource; it gives the name of the map to use. The
maps themselves are named "c3270.composeMap.name". The default is "latin1", which gives
mappings for most of the symbols in the ISO 8859-1 Latin-1 character set that are not in
the 7-bit ASCII character set.

Note: The default keymap defines Meta<Key>m as the "Compose" key. You may set up your own
"Compose" key with a keymap that maps some other keysym onto the Compose action.


c3270 supports associated printer sessions via the pr3287(1) program. The Printer action
is used to start or stop a pr3287 session.

The action Printer Start starts a printer session, associated with the current LU. (This
works only if the host supports TN3270E.)

The action Printer Start lu starts a printer session, associated with a specific lu.

The action Printer Stop stops a printer session.

The resource c3270.printer.command specifies the command used to print each job; it
defaults to lpr. The resource c3270.printer.assocCommandLine specifies the command used
to start an associated printer session. It defaults to:

pr3287 -assoc %L% -command "%C%" %P% %H%

The resource c3270.printer.luCommandLine specifies the command used to start a specific-LU
printer session. It defaults to:

pr3287 -command "%C%" %R% %P% %L%@%H%

When the printer session command is run, the following substitutions are made:

Token Substitition
%C% Command (value of
%H% Host IP address
%L% Current or specified LU
%P% Proxy specification
%R% Character set

See pr3287(1) for further details.

The resource c3270.printerLu controls automatic printer session start-up. If it is set to
`.', then whenever a login session is started, a printer session will automatically be
started, associated with the login session. If it is set an LU name, then the automatic
printer session will be associated with the specified LU.


c3270 supports the Sun telnet-passthru service provided by the in.telnet-gw server. This
allows outbound telnet connections through a firewall machine. When a p: is prepended to
a hostname, c3270 acts much like the itelnet(1) command. It contacts the machine named
internet-gateway at the port defined in /etc/services as telnet-passthru (which defaults
to 3514). It then passes the requested hostname and port to the in.telnet-gw server.


The -proxy option or the c3270.proxy resource causes c3270 to use a proxy server to
connect to the host. The syntax of the option or resource is:

The supported values for type are:

Proxy Type Protocol Default Port
http RFC 2817 HTTP tunnel 3128
passthru Sun in.telnet-gw none
socks4 SOCKS version 4 1080
socks5 SOCKS version 5 (RFC 1080

telnet No protocol (just send none
connect host port)

The special types socks4a and socks5d can also be used to force the proxy server to do the
hostname resolution for the SOCKS protocol.


When running as a 3270 Model 5, c3270 can take advantage of terminals that can switch
between 80 and 132 column modes.

Because the curses library does not support mode switching, the escape sequences and
resulting screen dimensions must be specified explicitly to c3270. These are specified
with the -altscreen and -defscreen command-line options, or the altScreen and defScreen
resources. -altscreen or altScreen defines the alternate (132-column) mode; -defscreen or
defScreen defines the default (80-column) mode.

The syntax for the options and resources is rowsxcols=init_string, where rows and cols
give the screen dimensions, and init_string is the escape sequence to transmit to the
terminal to enter that mode. For defscreen, the minimum dimensions are 24 rows and 80
columns. For altscreen, the minimum dimensions are 27 rows and 132 columns. Within
init_string, the usual escape sequences are supported (\E for escape, \r, \b, etc.). For
example, the init string for a 132-column xterm is:


Note: When defscreen and altscreen are specified, the model number is always set to 5.


Certain c3270 options can be configured via resources. Resources are defined in the file
.c3270pro in the user's home directory, and by -xrm options. The definitions are similar
to X11 resources, and use a similar syntax. The resources available in c3270 are:

Resource Default Option Purpose
allBold Auto -allbold Display all
characters bold
altScreen -altscreen 132-col screen
blankFill False -set blankFill Blank Fill mode
charset bracket -charset EBCDIC character
composeMap latin1 Name of composed-
character map
cursesColor‐ (note 6) Color mapping
cursesColor‐ green Default color
ForDefault mapping
cursesColor‐ red Default color
ForIntensified mapping
cursesColor‐ blue Default color
ForProtected mapping
cursesColor‐ white Default color
ForProtectedIntensified mapping
cursesKeymap True Set curses keymap
defScreen -defscreen 80-col screen
dbcsCgcsgid Override DBCS
dsTrace False -trace Data stream tracing
eof ^D NVT-mode EOF
erase ^H NVT-mode erase
extended True Use 3270 extended
data stream
eventTrace False -trace Event tracing
hostsFile -hostsfile Host alias/macro
icrnl False Map CR to NL on
NVT-mode input

inlcr False Map NL to CR in
NVT-mode input
intr ^C NVT-mode interrupt
keymap -keymap Keyboard map name
keymap.foo Definition of
keymap foo
kill ^U NVT-mode kill
lineWrap False -set lineWrap NVT line wrap mode
lnext ^V NVT-mode lnext
m3279 (note 1) -model 3279 (color)
metaEscape Auto Interpret ESC-x as
mono (note 5) -mono Ignore terminal
color capabilities
monoCase False -set monoCase Mono-case mode
noPrompt False -noprompt Disable command-
prompt mode
numericLock False Lock keyboard for
numeric field error
oerrLock True Lock keyboard for
input error
oversize -oversize Oversize screen
port telnet -port Non-default TCP
printer.* (note 4) Printer session
printerLu (note 4) Printer session
quit ^\ NVT-mode quit
reconnect False -reconnect Automatically
reconnect to host
rprnt ^R NVT-mode reprint
sbcsCgcsgid Override SBCS
secure False Disable "dangerous"
termName (note 2) -tn TELNET terminal
type string
traceDir /tmp Directory for trace
traceFile (note 3) -tracefile File for trace
typeahead True Allow typeahead
werase ^W NVT-mode word-erase

Note 1: m3279 defaults to True if the terminal supports color, False otherwise. It
can be forced to False with the proper -model option.

Note 2: The default terminal type string is constructed from the model number,
color emulation, and extended data stream modes. E.g., a model 2 with color
emulation and the extended data stream option would be sent as IBM-3279-2-E. Note
also that when TN3270E mode is used, the terminal type is always sent as 3278, but
this does not affect color capabilities.

Note 3: The default trace file is x3trc.pid in the directory specified by the
traceDir resource.

Note 4: See PRINTER SUPPORT for details.

Note 5: mono defaults to false if the terminal supports at least 8 colors and to
true otherwise.

Note 6: The default curses color mappings for host colors 0 through 15 are: black,
blue, red, magenta, green, cyan, yellow, white, black, blue, yellow, blue, green,
cyan, black and white.

In .c3270pro, lines are continued with a backslash character.

-xrm options override definitions found in .c3270pro. If more than one -xrm option is
given for the same resource, the last one on the command line is used.

Use c3270 online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

Linux commands