kterm

multi-lingual terminal emulator for X 

Command


SYNOPSIS

kterm [-toolkitoption] [-xtermoption] [-option...]


DESCRIPTION

The kterm utility launches a multi-lingual terminal emulator based on xterm. The major difference between the two terminal emulators is that kterm can handle multi-lingual text encoded in ISO2022, can display colored text, and has the statusline function. To input multi-lingual text, both X Input Method (XIM) protocol and kinput2 protocol can be used. See the sections Using XIM and Using kinput2 for the details.

Options

kterm accept the xterm options described in the xterm reference page as well as the following additional options:

-dfl 

specifies that kterm should load fonts dynamically (on demand). Using this option may cause kterm and the X server to freeze momentarily when a large font is loaded.

+dfl 

specifies that kterm should load fonts in advance.

-fl fontlist 

specifies a list of fonts to be used. fontlist is a comma-separated list of XLFDs with arbitrary wild-cards. kterm chooses fonts containing necessary character sets in the list. This release may use the following character sets:

iso8859-1
iso8859-2
iso8859-3
iso8859-4
iso8859-5
iso8859-6
iso8859-7
iso8859-8
iso8859-9
jisx0201.1976-0
jisx0208.1990-0 or jisx0208.1983-0
jisx0212.1990-0
gb2312.1980-0
ksc5601.1987-0
jisc6226.1978-0 or jisx0208.1983-0
-fn iso8859/1-font 

specifies a normal (non-bold) ISO8859/1 font to be used when displaying Latin-1 (including ASCII) text. If this option is not specified, fontlist is used.

-fr roman-kana-font 

specifies a normal JISX0201 font. This font must have same height and width as the ISO8859/1 font. If this option is not specified, fontlist is used.

-fk kanji-font 

specifies a normal JISX0208 font to be used when displaying Kanji text. This font must have same height and twice width as the ISO8859/1 font. If this option is not specified, fontlist is used.

-flb bold-fontlist 
-fb bold-font 
-frb roman-kana-bold-font 
-fkb kanji-bold-font 

These options specify bold fonts.

-lsp dots 

specifies how much space is to be inserted between lines.

-ka 

specifies that kterm should make connection to the X Server with the KEEPALIVE socket option. This option is useful when the server is an X terminal that is frequently powered off.

+ka 

specifies that kterm should make connection to the X Server without the KEEPALIVE socket option.

-km kanji-mode 

specifies the Kanji code from/to the pty. If kanji-mode is euc, kterm assumes the input/output is coded by Japanese EUC. If kanji-mode is sjis, kterm assumes the input/output is coded by Shift-JIS code (which is the same as Microsoft Kanji code).

-sn 

causes the status line to be in normal video rather than the default reverse-video (relative to the rest of the window). The status line is still enclosed in a box.

+sn 

causes the status line to be in reverse video. This is the default behavior.

-st 

causes the status line to be displayed on startup.

+st 

causes the status line not to be displayed on startup.

-version 

just displays the kterm version and exit.

-xim 

specifies that kterm should (try to) open IM on startup. If no appropriate IM server is running, kterm does not wait, but connects after a server is available.

+xim 

specifies that kterm should not open IM on startup.

Resources

The program uses all of the xterm resources as well as the following vt100 widget specific resources:

dynamicFontLoad (class DynamicFontLoad

specifies whether or not kterm should load fonts dynamically. The default is true.

fontlist (class FontList

Specifies the name of the fonts. The default is -*-fixed-medium-r-normal--14-*, -*-gothic-medium-r-normal--14-*, -*-mincho-medium-r-normal--14-*.

boldFontList (class FontList

Specifies the name of the bold fonts. The default is not specified

font (class Font

specifies the name of the Latin-1 font. The default is not specified.

boldFont (class boldFont

specifies the name of the bold Latin-1 font. The default is not specified.

romanKanaFont (class romanKanaFont

specifies the name of the Roman-Kana font. The default is not specified.

romanKanaBoldFont (class romanKanaBoldFont

specifies the name of the bold font. The default is not specified.

kanjiFont (class kanjiFont

specifies the name of the Kanji font. The default is not specified.

kanjiBoldFont (class kanjiBoldFont

specifies the name of the bold font. The default is not specified.

kanjiMode (class kanjiMode

specifies the Kanji code of pty. The default is jis.

lineSpace (class lineSpace

specifies the space to insert between lines. The default is 0.

keepAlive (class keepAlive

specifies whether or not kterm should make connection to the X server with the KEEPALIVE socket option. The default is false.

statusLine (class statusLine

causes the status line to be displayed on startup. The default is false.

statusNormal (class statusNormal

specifies whether or not the status line should be in normal video. The default is false.

forwardKeyEvent (class forwardKeyEvent

specifies whether or not key events should be forwarded to the conversion server. If false, the server cannot receive key events if the keyboard focus is set to kterm window but the pointer is on other windows. It may, however, improve response time of the conversion server on a slow network. The default is true.

openIm (class openIm

specifies whether or not kterm should (try to) open IM on startup. The default is false.

eucJPLocale (class eucJPLocale

specifies the locale of the input method in the form of a comma-separated list. The default is ja_JP.eucJP,ja_JP.ujis,ja_JP.EUC,japanese.euc,Japanese-EUC,ja,japan. See the section Using XIM for details.

inputMethod (class inputMethod

specifies the input method modifier for the current locale. The default is not specified. (That means using the XMODIFIERS environment variable.)

preeditType (class preeditType

specifies the input styles using XIM protocol in the form of a comma separated list. Currently, OverTheSpot and Root are supported. The default is OverTheSpot,Root.

Actions

The following additional actions are provided for using within the vt100 translations resources:

open-im([input-method]) 

This action (tries to) open IM for the specified input method modifier. If input-method is omitted, the last modifier remains unchanged. If input-method is the key-word XMODIFIERS, the XMODIFIERS environment variable is used.

close-im() 

This action closes IM.

begin-conversion(conversion-atom) 

This action begins conversion to input text using kinput2 protocol. conversion-atom for Japanese conversion is _JAPANESE_CONVERSION.

Termcap

termcap entries that work with kterm include kterm, xterm, vt102, vt100, and `ansi.

Using XIM

kterm first sets its international environment (locale) using the vt100 resource eucJPLocale (ignoring the LANG environment variable), because it uses Japanese EUC encoding for the internal input code. If your system does not support any default locale names, specify an appropriate one in the app-defaults file. kterm, then, sets the locale modifiers according to the resource inputMethod or the XMODIFIERS environment variable.

When kterm is started with the -xim option or the Open Input Method entry in the vtMenu is selected, it just registers a callback for notification of instantiation of IM servers. If an appropriate IM server is running or becomes available, kterm connects with the server. Start of conversion depends on the configuration of the IM server.

If kterm is connecting with a kinput2 protocol server, any IM can not be opened.

For further information (how to input/convert/correct text, and so forth), see the conversion server's document.

Non-Japanese Languages

To input non-Japanese text, set the vt100 resource eucJPLocale to your favorite locale name, and set Kanji mode to Japanese EUC (using the -km euc option, *vt100.kanjiMode: euc resource, or the Japanese EUC Mode entry in the vtMenu). This should work for any locale because every character input from the IM is passed to the pty without any modification in Japanese EUC Mode. Note that this mechanism will be changed in the future.

Caution:

kterm may be hanged when the connecting IM server dies on some specific timing. Do not kill IM servers on a kterm which is connected with the server, and IM servers which is establishing connection with any kterm. If you want to kill an IM server, make sure that no kterm is connected with the server.

Note:

kterm can not communicate with servers using XIMP protocol based on X11R5.

Using kinput2

By default, pressing control-Kanji key starts conversion for Japanese text using kinput2 protocol. The conversion server, such as \fIkinput2\fP(1), must be started by the time, otherwise you will see warning message `Conversion Server not found'. For other languages, if any server is available, you can bind a key to start conversion by changing the translation table.

If an IM is (being) open, conversion using kinput2 protocol can not be started.

For further information (how to input/convert/correct text, etc.), see the conversion server's document.


NOTES

kterm assumes, like xterm, that all single byte characters have the same widths, and further, assumes that the widths of multi(two)-byte characters are as twice as that of ASCII characters.

This version of kterm uses ESC $ B to designate the Kanji character set to input Kanji text in JIS mode.


SPECIAL REQUIREMENT

To work properly, kterm requires a Japanese aware X server. A Japanese aware version of the X server provided with PTC MKS Toolkit for Interoperability and PTC MKS Toolkit for Enterprise Developers is available from MKS.


AUTHORS

Far too many people, including: Katsuya Sano (Toshiba Corp.), Michael Irie (Sony Corp.), Akira Kato (Univ. of Tokyo), Michiharu Ariza (SRA Inc.), Makoto Ishisone (SRA Inc.), Hiroto Kagotani (Okayama Univ.), and Susumu Mukawa (NTT Corp.).


PORTABILITY

Windows 10. Windows Server 2016. Windows Server 2019. Windows 11. Windows Server 2022. Windows Server 2025. All UNIX systems.


AVAILABILITY

PTC MKS Toolkit for System Administrators
PTC MKS Toolkit for Developers
PTC MKS Toolkit for Interoperability
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers


SEE ALSO

Commands:
resize, xterm


PTC MKS Toolkit 10.5 Documentation Build 40.