x3270(1) IBM host access tool


x3270 [options] [host]

x3270 [options] session-file.x3270


x3270 opens a telnet connection to an IBM host in an X window. It implements RFCs 2355 (TN3270E), 1576 (TN3270) and 1646 (LU name selection), and supports IND$FILE file transfer. The window created by x3270 can use its own font for displaying characters, so it is a fairly accurate representation of an IBM 3278 or 3279. It is similar to tn3270(1) except that it is X-based, not curses-based.

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 x3270 to first create an SSL tunnel to the host, and then create a TN3270 session inside the tunnel. (This function is supported only if x3270 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 ID.)

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 hostnames.

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

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 x3270 and with tn3270(1), the port may also be specified as a second, separate argument.)


x3270 is a toolkit based program, so it understands standard Xt options and resources. It also 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.
Specifies that the icon should be a miniature version of the screen image. See ICONS below.
Sets up APL mode. This is actually an abbreviation for several options. See APL SUPPORT below.
-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.
-cc range:value[,...]
Sets character classes.
-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 MENUS below.
-devname name
Specifies a device name (workstation ID) for RFC 4777 support.
-efont name
Specifies a font for the emulator window.
-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.
-iconname name
Specifies an alternate title for the program icon.
-iconx x
Specifies the initial x coordinate for the program icon.
-icony y
Specifies the initial y coordinate for the program icon.
-im method
Specifies the name of the input method to use for multi-byte input. (Supported only when x3270 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 interactively.
-keymap name
Specifies a keymap name and optional modifiers. See KEYMAPS below.
Turns on the keypad as soon as x3270 starts.
-km name
Specifies the local encoding method for multi-byte text. name is an encoding name recognized by the ICU library. (Supported only when x3270 is compiled with DBCS support, and necessary only when x3270 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 X display is 3279-4. For a monochrome X display, it is 3278-4.
Forces x3270 to believe it is running on a monochrome X display.
Causes x3270 to exit after a host disconnects. This option has effect only if a hostname is specified on the command line.
-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 "x3270.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.
-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.)
-printerlu luname
Causes x3270 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.
-proxy type:host[:port]
Causes x3270 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.
-pt type
Specifies the preedit type for the multi-byte input method. Valid values are OverTheSpot, OffTheSpot, Root and OnTheSpot. The value for OverTheSpot can include an optional suffix, a signed number indicating the vertical distance in rows of the preedit window from the cursor position, e.g. OverTheSpot+1 or OverTheSpot-2. The default value is OverTheSpot+1. (Supported only when x3270 is compiled with DBCS support.)
Causes x3270 to automatically reconnect to the host if it ever disconnects. This option has effect only if a hostname is specified on the command line.
Turns on the scrollbar.
Turns the scrollbar off.
-scheme name
Specifes a color scheme to use in 3279 mode. This option has effect only in combination with 3279 emulation.
Causes x3270 to read commands from standard input, with the results written to standard output. The protocol for these commands is documented in x3270-script(1).
-sl n
Specifies that n lines should be saved for scrolling back. The default is 4096.
-scriptport port
Causes x3270 to listen for scripting connections on local TCP port port.
Disables run-time features that could compromise system security (user-specified file names and commands, etc.).
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 MENUS 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 X display, or IBM-3278-4-E for a monochrome X 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 "x3270.extended" resource to "false", removes the -E from the terminal name when connecting to such hosts.
The name can also be specified with the "x3270.termName" resource.
Turns on data stream tracing at startup. Unlike turning it on from a menu option, there is no pop-up to confirm the file name, which defaults to /tmp/x3trc.process_id.
-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. If the value stdout is given, then traces will be written to standard output. If the value none is given, then traces will be piped directly to the monitor window, and no file will be created.
-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.
Display the version and build options for x3270 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.

After reading resource definitions from the X server and any standandard X11 resource definition files ($HOME/.Xdefaults, etc.), x3270 will read definitions from the file $HOME/.x3270pro. This file contains local customizations and is also used to save changed options by the Save Changed Options in File menu option.

Note that -xrm options override any definitions in the .x3270pro file.

In addition, the toggle altCursor can be used to select the cursor type. If set, an underline cursor will be used. If clear, the normal block cursor will be used.

These names also represent resources that can be set in your .Xdefaults or .x3270pro file. For example, if you always want to have the scrollbar off, you can add the following to your .Xdefaults or .x3270pro:

x3270.scrollBar:       false

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


The x3270 status line contains a variety of information. From left to right, the fields are:
comm status
The first symbol is always a 4. If x3270 is in TN3270E mode, the second symbol is a B; otherwise it is an A. If x3270 is disconnected, the third symbol is a question mark. Otherwise, if x3270 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.
Three characters indicate the keyboard modifier status. "M" indicates the Meta key, "A" the Alt key, and an up-arrow or "^" indicates the Shift key.
The letter "C" indicates that a composite character is in progress. If another symbol follows the "C", it is the first character of the composite.
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
A thick caret "^" or the letter "I" indicates that the keyboard is in insert mode.
printer session
The letter "P" indicates that a pr3287 session is active.
The letter "S" indicates that a script is active.
LU name
The LU name associated with the session, if there is one.
A clock symbol and a time in seconds indicate the time it took to process the last AID or the time to connect to a host. This display is optional.
cursor position
The cursor row and column are optionally displayed, separated by a "/".


If the -activeicon option is given (or the "x3270.activeIcon" resource is set to true), x3270 will attempt to make its icon a miniature version of the current screen image. This function is highly dependent on your window manager:
The size of the icon is limited by the "Mwm.iconImageMaximum" resource, which defaults to 50x50. The image will be clipped at the bottom and right. The icon cannot accept keyboard input.
The full screen image of all 3270 models can be displayed on the icon. However, the icon cannot be resized, so if the model is later changed with an x3270 menu option, the icon image will be corrupted. The icon cannot accept keyboard input.
twm and tvtwm
The full screen image of all 3270 models can be displayed on the icon, and the icon can be resized. The icon can accept keyboard input.
However, twm does not put labels on application-supplied icon windows. You can have x3270 add its own label to the icon by setting the "x3270.labelIcon" resource to true. The default font for icon labels is 8x13; you may change it with the "x3270.iconLabelFont" resource.


The type of keyboard may be specified with the -keymap switch or using either the KEYMAP or KEYBD environment variables. The types of supported keyboards include sun_k3, sun_k4, sun_k5, hp-k1, hp-pc and ncd.

The keymap may also be specified as a comma-separated list of names. Later definitions override earlier ones. This is used to specify both a primary keyboard type and a set of modifiers. The modifiers defined include:

(OpenWindows) Swaps the middle and right mouse button definitions, so the middle button performs the "Extend" function and the right-hand button performs the "Paste" function. Also changes the cut and paste actions to use the OpenWindows CLIPBOARD.
Allows entry of APL characters (see APL SUPPORT below).
Replaces the bracket, brace and bar keys with common Finnish characters.
Replaces the bracket, brace and bar keys with common Norwegian characters.

A temporary keymap can also be specified while x3270 is running with the Keymap action. When the action Keymap(n) is executed, temporary keymap n is added to or deleted from the current keymap. Multiple temporary keymaps can be active simultaneously. The action Keymap(None) restores the original keymap. Note: When Keymap() is specified as part of a list of multiple actions in a keymap, it must be the last action in the list.

The temporary keymap hebrew is provided to allow entry of Hebrew characters.

The X Toolkit translation mechanism is used to provide keyboard emulation. It maps events into actions. The best documentation can be found with X toolkit documents, but the following should suffice for simple customization.

An Xt event consists of (at least) four fields. The first is called a modifier. It may be any combination of Meta, Shift and Ctrl. If it is prefaced by !, it means those modifiers only. The second field is the specific event, in x3270 usually just <Key>. The third field is the detail field, which gives the actual key. The name of the key may be determined using the xev program or with the "Trace X Events" menu option. The last field is the action, which is the internal emulator function. A complete list of actions may be found later in the manual.

There are three levels of translation tables in x3270. The first is a defined by the resource x3270.keymap.base. It defines alphabetic, numeric, function keys, and such basic functions as Enter and Delete. It allows a minimal useful functionality. It is generally compiled in x3270, but can be overridden.

The second level is a keyboard specific table, which is selected by the x3270.keymap resource, and defined by the x3270.keymap.name resource (where name is the value of the x3270.keymap resource). This keymap defines actions for such things as keypad keys, and keys unique to certain keyboards. Several predefined keymaps are included with x3270.

The third level is a user customizable table which may be used to augment or override key definitions. This keymap is defined by the x3270.keymap.name.user resource.

In addition, keymaps may be defined for use in 3270 mode or NVT mode only. These keymaps use the suffixes .3270 and .nvt in their names, respectively. If a keymap x3270.keymap.name.mode is defined, it will augment the keymap x3270.keymap.name when x3270 is in the given mode. If a keymap x3270.keymap.name.user.mode is defined, it will augment the keymap x3270.keymap.name.user when x3270 is in the given mode.

The default translation table x3270.keymap.base is:

<Key>Multi_key Compose()
Shift<Key>Left KybdSelect(Left,PRIMARY)
<Key>Left Left()
Meta<Key>Right NextWord()
Shift<Key>Right KybdSelect(Right,PRIMARY)
<Key>Right Right()
Shift<Key>Up KybdSelect(Up,PRIMARY)
<Key>Up Up()
Shift<Key>Down KybdSelect(Down,PRIMARY)
<Key>Down Down()
Ctrl<Btn1Down> HandleMenu(quitMenu)
Ctrl<Btn2Down> HandleMenu(optionsMenu)
Ctrl<Btn3Down> HandleMenu(hostMenu)
Shift<Btn1Down> MoveCursor()
<Btn1Down> select-start()
<Btn1Motion> select-extend()
<Btn2Down> ignore()
<Btn2Motion> ignore()
<Btn2Up> insert-selection(PRIMARY)
<Btn3Down> start-extend()
<Btn3Motion> select-extend()
<BtnUp> select-end(PRIMARY)
Meta<Key>F1 PF(13)
Meta<Key>F2 PF(14)
Meta<Key>F3 PF(15)
Meta<Key>F4 PF(16)
Meta<Key>F5 PF(17)
Meta<Key>F6 PF(18)
Meta<Key>F7 PF(19)
Meta<Key>F8 PF(20)
Meta<Key>F9 PF(21)
Meta<Key>F10 PF(22)
Meta<Key>F11 PF(23)
Meta<Key>F12 PF(24)
<Key>F1 PF(1)
<Key>F2 PF(2)
<Key>F3 PF(3)
<Key>F4 PF(4)
<Key>F5 PF(5)
<Key>F6 PF(6)
<Key>F7 PF(7)
<Key>F8 PF(8)
<Key>F9 PF(9)
<Key>F10 PF(10)
<Key>F11 PF(11)
<Key>F12 PF(12)
Alt<Key>q Quit()
<Key>Prior Scroll(Backward)
<Key>Next Scroll(Forward)
:<Key> Default()

The default 3270-mode table x3270.keymap.base.3270 adds the following definitions:

Shift<Key>Return Newline()
<Key>Return Enter()
<Key>Linefeed Newline()
Shift<Key>Tab BackTab()
<Key>Tab Tab()
<Key>Home Home()
Meta<Key>Left PreviousWord()
Meta<Key>Right NextWord()
<Key>Insert Insert()
<Key>Delete Delete()
<Key>BackSpace BackSpace()
Ctrl Shift<Btn1Down> MouseSelect()
Shift<Btn1Down> MoveCursor()
Meta<Key>1 PA(1)
Meta<Key>2 PA(2)
Meta<Key>3 PA(3)
Ctrl<Key>a SelectAll(PRIMARY)
Meta<Key>a Attn()
Meta<Key>b PrintWindow()
Ctrl<Key>c set-select(CLIPBOARD)
Meta<Key>c Clear()
Meta<Key>d Delete()
Meta<Key>h Home()
Meta<Key>i Insert()
Meta<Key>l Redraw()
Meta<Key>p PrintText()
Meta<Key>r Reset()
Meta<Key>u Unselect()
Ctrl<Key>u DeleteField()
Ctrl<Key>v insert-selection(CLIPBOARD)
Ctrl<Key>w DeleteWord()
:Meta<Key>asciicircum Key(notsign)

Meta is the diamond shaped key on a sun_k4, "Alt" on an NCD, "Extend Char" on an HP. The following xmodmap command must be used on the NCD to allow use the the "Alt" key:

xmodmap -e "keysym Alt_L = Meta_L"

The left mouse button may be used to make a selection. Clicking once unselects the current selection. Clicking twice selects the word under the mouse cursor. Clicking three times selects the line under the mouse cursor. Clicking and dragging selects a rectangular area of the display.

The middle mouse button may be used to paste a selection.

The right mouse button may also be used for selections, selecting the rectangular area between the current position and where the left button was last pressed.

On color X displays, the "x3270.selectBackground" resource is used to distinguish the selected text from the rest of the screen. On monochrome X displays, selected text is in reverse video. (It can be distinguished from a block cursor because the block cursor covers slightly less than an entire character position on the screen.)

The left mouse button, when pressed with the "Shift" key held down, moves the 3270 cursor to the where the mouse cursor is pointing.

This is the complete list of keymap-callable actions. Other actions are defined for use by scripts and are documented in x3270-script(1); still others are defined for internal use by x3270 and are not documented here. Note that when an action with no parameters is used in a keymap, the parentheses and empty argument list are still required.

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

attention key     

switch between block and underscore cursor     

move cursor left (or send ASCII BS)     

tab to start of previous input field     

input "^" in NVT mode, or "notsign" in 3270 mode     

clear screen     

next two keys form a special symbol     

connect to host     

Cursor Select AID     

erase selected text     

enter key literally     

delete character under cursor (or send ASCII DEL)     

delete the entire field     

delete the current or previous word     

disconnect from host     

move cursor down     

duplicate field     

Enter AID (or send ASCII CR)     

erase previous character (or send ASCII BS)     

erase to end of current field     

erase all input fields     

execute a command in a shell     

move cursor to end of field     

mark field     

pop up a menu     

insert control-character string     

move cursor to first input field     

set insert mode     

send TELNET IP to host     

insert key keysym     

insert key with character code xx     

toggle alternate keymap (or remove with None)     

KybdSelect(direction [,atom...])
Extend selection by one row or column     

move cursor left     

move cursor left 2 positions     

run a macro     

toggle uppercase-only mode     

move cursor to mouse position     

MoveCursor(row, col)
move cursor to (row,col)     

move cursor to mouse position, light pen selection     

move cursor to first field on next line (or send ASCII LF)     

move cursor to next word     

Program Attention AID (n from 1 to 3)     

Program Function AID (n from 1 to 24)     

move cursor to previous word     

start or stop printer session     

print screen text on printer     

print screen image (bitmap) on printer     

exit x3270     

reconnect to previous host     

redraw window     

reset locked keyboard     

move cursor right     

move cursor right 2 positions     

run a script     

scroll screen     

select entire screen     

change emulator font     

insert string (simple macro facility)     

System Request AID     

move cursor to next input field     

toggle an option     

toggle insert mode     

toggle reverse-input mode     

file transfer     

release selection     

move cursor up     

(the following are similar to xterm)

do nothing     

paste selection     

a combination of MoveCursor and select-start     

complete selection and assign to atom(s)     

move the end of a selection     

mark the beginning of a selection     

assign existing selection to atom(s)     

begin marking the end of a selection     

Note that certain parameters to x3270 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 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.
Save the output as HTML. This option implies file.
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.
Return the output as a string. This can only be used from scripts.
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.
Disables the pop-up dialog.
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 macros and script functions available.
The String Action
The simplest method for macros 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, x3270 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 x3270 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. Also, a backslash before a p may need to be doubled so it will not be removed when a resource file is read.
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 x3270 to start a child process which can execute x3270 actions. Standard input and output from the child process are piped back to x3270. The Script action is fully documented in x3270-script(1).
The macros Resource
An alternate method of defining macros is the "x3270.macros" resource. This resource is similar to a keymap, but instead of defining keyboard mappings, it associates a list of X actions with a name. These names are displayed on a Macros menu that appears when x3270 is connected to a host. Selecting one of the names on the menu executes the X actions associated with it. Typically the actions are String calls, but any action may be specified. Here is a sample macros resource definition, which would result in a four-entry Macros menu:
x3270.macros: \
       log off: String("logout\n")\n\

       vtam: String("dial vtam\n")\n\

       pa1: PA(1)\n\

       alt printer: PrintText("lpr -Plw2")
You can also define a different set of macros for each host. If there is a resource named `x3270.macros.somehost', it defines the macros menu for when x3270 is connected to somehost.
The -script Option
This facility allows x3270 to operate under the complete control of a script. x3270 accepts actions from standard input, and prints results on standard output. The -script option is fully documented in x3270-script(1).


x3270 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 "x3270.composeMap" resource; it gives the name of the map to use. The maps themselves are named "x3270.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 the "Multi_key" keysym as the "Compose" key. If your keyboard lacks such a key, you may set up your own "Compose" key with a keymap that maps some other keysym onto the Compose action.


x3270 supports the full APL2 character set and the entry of APL characters from the keyboard.

APL characters are supported only in the special 3270 font.

Keyboard entry of APL characters is supported through the apl keymap modifier. This modifier defines the "Alt" key as an APL shift key, with a typical APL keyboard layout, e.g., "Alt" pressed with the A key results in the APL "alpha" symbol. Overstruck characters such as "quad-quote" are not defined as single keystrokes; instead they are entered as composites (see COMPOSITE CHARACTERS above). A special composite map, apl, is provided for this purpose.

Note: Some keyboards do not define the "Alt" key as a modifier, so keymaps that use the "Alt" key will not function. On a Sun for example, this can be remedied with the command:

xmodmap -e "add mod2 = Alt_L"

For convenience, an -apl option is defined, which is an abbreviation for the following resource definitions:

x3270.keymap: your_keymap_name,apl
x3270.charset: apl
x3270.composeMap: apl

There are a number of APL characters that are similar in appearance to non-APL characters. In particular, the APL "stile", "slope," "tilde" and "quotedot" characters are similar to the EBCDIC "bar", "backslash," "tilde" and "exclaim" characters. The APL characters are entered with the "Alt" key, and have slightly different appearances.

The complete list of special APL keysyms is as follows. Entries marked with an asterisk (*) represent simple aliases for standard EBCDIC characters. Entries marked with an (S) represent Sharp APL charatcers.

APL Symbol Hex x3270 apl_ Keysym x3270 Key x3270 Composed Keys

A underbar 41 Aunderbar Alt-A A + underbar
alpha B0 alpha Alt-a  
B underbar 42 Bunderbar Alt-B B + underbar
bar 60* bar -  
brace left C0 braceleft Alt-{  
brace right D0 braceright Alt-}  
C underbar 43 Cunderbar Alt-C C + underbar
circle 9D circle Alt-o  
circle bar ED circlebar   circle + bar
circle slope CF circleslope   circle + slope
circle star FD circlestar   circle + star
circle stile CD circlestile   circle + stile
colon 7A* colon :  
comma 6B* comma ,  
comma bar (S) E5 commabar   comma + bar
D underbar 44 Dunderbar Alt-D D + underbar
del BA del Alt-g  
del stile DC delstile   del + stile
del tilde FB deltilde   del + tilde
delta BB delta Alt-h  
delta stile DD deltastile   delta + stile
delta underbar FC deltaunderbar   delta + underbar
diamond 70 diamond   up caret + down caret
dieresis 72 dieresis Alt-1  
dieresis circle (S) E5 dieresiscircle   dieresis + circle
dieresis dot EC dieresisdot   dieresis + dot
dieresis jot (S) E4 dieresisjot   dieresis + jot
divide B8 divide Alt-+  
dot 4B* dot  
down arrow 8B downarrow Alt-u  
down caret 78 downcaret Alt-9  
down caret tilde CB downcarettilde   down caret + tilde
down shoe AB downshoe Alt-v  
down stile 8E downstile Alt-d  
down tack AC downtack Alt-b  
down tack jot FE downtackjot   down tack + jot
down tack up tack DA downtackuptack   down tack + up tack
E underbar 45 Eunderbar Alt-E E + underbar
epsilon B1 epsilon Alt-e  
epsilon underbar 75 epsilonunderbar   epsilon + underbar
equal 7E* equal "="  
equal underbar E1 equalunderbar   equal + underbar
euro (S) E7 euro   C + =
F underbar 46 Funderbar Alt-F F + underbar
G underbar 47 Gunderbar Alt-G G + underbar
greater 6E* greater >  
H underbar 48 Hunderbar Alt-H H + underbar
I underbar 49 Iunderbar Alt-I I + underbar
iota B2 iota Alt-i  
iota underbar 74 iotaunderbar   iota + underbar
J underbar 51 Junderbar Alt-J J + underbar
jot AF jot alt-j  
K underbar 52 Kunderbar Alt-K K + underbar
L underbar 53 Lunderbar Alt-L L + underbar
left arrow 9F leftarrow Alt-[  
left bracket AD leftbracket [  
left paren 4D* leftparen (  
left shoe 9B leftshoe Alt-z  
less 4C* less <  
M underbar 54 Munderbar Alt-M M + underbar
N underbar 55 Nunderbar Alt-N N + underbar
not equal BE notequal Alt-8 equal + slash
not greater 8C notgreater Alt-4 less + equal
not less AE notless Alt-6 greater + equal
O underbar 56 Ounderbar Alt-O O + underbar
omega B4 omega Alt-w  
overbar A0 overbar Alt-2  
P underbar 57 Punderbar Alt-P P + underbar
plus 4E* plus +  
Q underbar 58 Qunderbar Alt-Q Q + underbar
quad 90 quad Alt-l  
quad divide EE quaddivide   quad + divide
quad jot 73 quadjot   quad + jot
quad quote DE quadquote   quad + quote
quad slope CE quadslope   quad + slope
query 6F* query ?  
quote 7D* quote  
quote dot DB quotedot   quote + dot
R underbar 59 Runderbar Alt-R R + underbar
rho B3 rho Alt-r  
right arrow 8F rightarrow Alt-]  
right bracket BD rightbracket ]  
right paren 5D* rightparen )  
right shoe 9A rightshoe Alt-x  
S underbar 62 Sunderbar Alt-S S + underbar
semicolon 5E* semicolon ;  
slash 61* slash /  
slash bar EA slashbar   slash + bar
slope B7 slope Alt-\  
slope bar EB slopebar   slope + bar
squad CC squad   quad + quad
star 5C* star *  
stile BF stile Alt-|  
T underbar 63 Tunderbar Alt-T T + underbar
tilde 80 tilde Alt-~  
times B6 times Alt-=  
U underbar 64 Uunderbar Alt-U U + underbar
underbar 6D* underbar "_"  
up arrow 8A uparrow Alt-y  
up caret 71 upcaret Alt-0  
up caret tilde CA upcarettilde   up caret + tilde
up shoe AA upshoe Alt-c  
up shoe jot DF upshoejot   up shoe + jot
up stile 8D upstile Alt-s  
up tack BC uptack Alt-n  
up tack jot EF uptackjot   up tack + jot
V underbar 65 Vunderbar Alt-V V + underbar
W underbar 66 Wunderbar Alt-W W + underbar
X underbar 67 Xunderbar Alt-X X + underbar
Y underbar 68 Yunderbar Alt-Y Y + underbar
Z underbar 69 Zunderbar Alt-Z Z + underbar


When compiled with DBCS support, x3270 supports multi-byte input methods via the XIM protocol.

The input method is selected by the XMODIFIERS environment variable or the -im command-line option.

The preedit type is specified by the -pt command-line option, with a default of OverTheSpot+1.


Screen printing is handled through options on the File menu or by the PrintText and PrintWindow actions. Each results in a pop-up to confirm the print command.

The PrintText action (usually assigned to the key <Meta>p) sends the current screen image to the printer as ASCII characters. The default command used to print the data is controlled by the "x3270.printTextCommand" resource; the default is lpr. You may also use a keymap definition to pass a print command the PrintText action itself. The command receives the screen text as its standard input. For example, the following keymap will save the screen text in a file:

Meta<Key>f: PrintText("cat >screen.image")

Note: HardPrint is an alias for PrintText.

The PrintWindow action (usually assigned to the key <Meta>b) sends the current screen image to the printer as a bitmap. The default command used to print the data is controlled by the "x3270.printWindowCommand" resource; the default is

xwd -id %d | xpr | lpr.

You may also use a keymap definition to pass a print command to the PrintWindow action itself. If the command contains the text "%d", the window ID of x3270 will be substituted before it is run. For example, the following keymap will pop up a duplicate of the current screen image:

Meta<Key>g: PrintWindow("xwd -id %d | xwud &")

If the command for PrintWindow or PrintText begins with an "@" character, the initial pop-up menu to confirm the print command is not displayed and the command cannot be edited.


Cursor highlighting will not work with if you use the NoTitleFocus option in your .twmrc file.


x3270 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, x3270 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 x3270.proxy resource causes x3270 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 (squid) 3128
passthru Sun in.telnet-gw none
socks4 SOCKS version 4 1080
socks5 SOCKS version 5 (RFC 1928) 1080
telnet No protocol (just send connect host port) none

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




3270PRO Path of profile file, containing resource definitions. Merged after the system resource database, but before X3270RDB. Defaults to $HOME/.x3270pro.
NOX3270PRO If set, do not read the profile.
X3270RDB Additional resource definitions, merged after the profile file but before the command-line options.
KEYMAP Keymap name.
KEYBD Keymap name.


Copyright 1993-2014, Paul Mattes.
Copyright 2004-2005, Don Russell.
Copyright 2004, Dick Altenbern.
Copyright 1990, Jeff Sparkes.
Copyright 1989, Georgia Tech Research Corporation (GTRC), Atlanta, GA
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the names of Paul Mattes, Don Russell, Dick Altenbern, Jeff Sparkes, GTRC nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.



x3270 3.3.14ga11