NAME¶
im-config - set up input method configuration for X Window System
SYNOPSIS¶
- im-config [OPTION]
-
OPTIONS¶
- -a
- List all; force to list all possible input methods in menu or STDOUT even
if any associated packages are not installed on the system.
- -c
- Use console dialogue.
- -x
- Use X dialogue with zenity.
- -s
- No action; perform a simulation of events that would occur but do not
actually change configuration files.
- -l
- List all available input method configuration settings to STDOUT. Unless
-a is used, list only ones with associated packages installed.
- -m
- List active configuration (system), active configuration (user) and
automatic configuration values to STDOUT. If custom means the user
made a custom configuration and im-config should not change it.
- -n
- <input method name>
Set input method to <input method name>. This option is for
other configuration tool to set the input method. Since the default value
of <input method name> is "auto", you usually do
not need to use this from other configuration script.
Specifying invalid <input method name> causes the error exit.
Updating the configuration file which was not updated by im-config
also causes the error exit.
When this <input method name> is "REMOVE" then it
always removes the configuration file even if it was not updated by
im-config.
- -o
- <input method name>
Print the localized description of the input method <input method
name> to STDOUT.
The
-l,
-m,
-n, and
-o options are meant to be API
for other programs to control the im-config.
DESCRIPTION¶
This manual page very briefly documents
im-config and the configuration
of the input method.
im-config provides the framework to configure the input method on X
Window System with GTK GUI or console terminal dialogue. If this is invoked
without option, this lists available input methods as its choice while marking
automatic choice with trailing @-mark. The listing is ordered by the priority
of the input method. The input method with the highest priority comes first.
The availability of the input method is judged by the installation of any
associated packages. After you make a choice for the input method, this
displays a guidance for associated packages to be installed.
If only a set of required input method packages along with the im-config package
is installed, you do not need to use this command. Such a installation works
well in its default and there is no need to use this command. When you wish to
have multiple input method environments installed and wish to switch among
them, you need to use this command.
If you have no idea for what package to install,
im-config invoked with
both
-a and
-s is a good start.
This input method is the essential mechanism for Japanese, Chinese and Korean
(CJK) languages to enter their non-ASCII native characters. This is also
useful to support specialized keyboard bindings for other non-European
languages such as Indic and other Asian languages.
Some input methods such as IBus, fcitx, and uim support not only one of these
CJK languages but support almost all languages simultaneously by dynamically
switching keyboard modes with GUI on the fly.
The im-config package installs a hook script
/etc/X11/Xsession.d/70im-config_launch. When X starts, it sources this
file as a POSIX shell code. Then this hook script tries to source the user
configuration file
~/.xinputrc, if it exists. Otherwise, this hook
script sources the system configuration file
/etc/X11/xinit/xinputrc.
im-config invoked from a user account updates the user configuration file
~/.xinputrc.
im-config invoked from the root account updates the
system configuration file
~/etc/X11/xinit/xinputrc. The essential
contents of generated files are:
run_im <input method name>
When these files are sourced, the
run_im shell function instructs to
source the initialization code for the corresponding input method. This
initialization code is defined in the
<2 digits
number>_
<input method name>.
rc file in
/usr/share/im-config/data.
The im-config hook script,
/etc/X11/Xsession.d/70im-config_launch,
exports following variables to X programs: $XMODIFIERS, $GTK_IM_MODULE,
$QT_IM_MODULE, $QT4_IM_MODULE, and $CLUTTER_IM_MODULE.
The im-config hook script,
/etc/X11/Xsession.d/70im-config_launch, also
set $STARTUP to use
/usr/bin/im-launch for starting required daemons.
If you wish to create a custom configuration beyond what
im-config can do
for you, please copy one of these initialization code files into
~/.xinputrc or
/etc/X11/xinit/xinputrc and edit it to suite your
need. For example,
02_cjkv.rc tells how input method can be customized
for each locale. This script should be written to set environment variables if
"$IM_CONFIG_PHASE" = 1 and to start daemon programs if
"$IM_CONFIG_PHASE" = 2 .
Please note that this
<2 digits number> part of these configuration
files may change for every new releases of the im-config package.
When a user makes manual changes to
~/.xinputrc or
/etc/X11/xinit/xinputrc without using
im-config,
im-config will detect it using a md5sum hush value embedded in the
shell comment and will not overwrite such files. You must erase them manually
if you wish to replace them with ones created by
im-config.
The
<2 digits number>_
<input method name>.
conf
files in
/usr/share/im-config/data provide the UI data for
im-config and the heuristic logic of selecting desirable input method
under the auto mode. The smaller number of the
<2 digits number>
indicates the higher priority of
<input method name>.
These
<2 digits number>_
<input method
name>.
conf files defines few variables and functions. The value
of
IM_CONFIG_SHORT is the short description of the input method for the
menu. The value of
IM_CONFIG_LONG is the long description of the input
method explaining its package dependency. The
package_menu shell
function defines as a function to return true if any associated input method
packages are installed to activate its menu entry. The
package_auto
shell function defines as a function to return true if the sufficient input
method packages are installed for the auto mode. These definitions use the
package_status shell function which takes package name as its argument
and returns true if it is installed properly.
The menu lists input methods with the
<2 digits number> between
00 and
89. The auto mode considers its input method candidate
from
<2 digits number> between
10 and
79 in
this order. The usage convention of
<2 digits number> is:
- 00-09:
- Input Method choice mode (default/auto/cjkv/REMOVE)
- 10-49:
- Input Method supporting multiple languages.(auto ready)
- 50-79:
- Input Method supporting limited languages. (auto ready)
- 80-89:
- Input Method (deprecated one) (not for auto)
- 90-99:
- Used internally by im-config (not for auto)
This structure ensures to have different input methods to be installed
side-by-side with minimal user configurations.
TROUBLESHOOT¶
If you have any problem, see the first part of
~/.xsession-errors and
look for the cause. If you are running
im-config while Debian (sid)
system is undergoing a major library transition, you may need to manually set
up
~/.xinputrc with adjusted library version number etc. Please file a
bug report to the im-config package using
reportbug(1) describing your
resolution experience.
SEE ALSO¶
/usr/share/doc/im-config/README.Debian.gz
AUTHOR¶
This manual page was written by Osamu Aoki <osamu@debian.org>, for the
Debian GNU/Linux system (but may be used by others).