Provided by: im-config_0.50-2ubuntu22.04.1_all bug

NAME

       im-config - set up input method framework configuration

SYNOPSIS

       im-config [OPTION]

OPTIONS

       -a      List  all;  force  to  list  all  possible  input method frameworks 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 frameworks to STDOUT.  Unless -a is used, list only ones with
               associated packages installed.

       -m      List configuration values to STDOUT:
               •   active configuration (system)
               •   active configuration (user)
               •   automatic configuration for the current locale
               •   override configuration for the current locale
               •   automatic configuration for most locales
               If the active configuration is custom, the user made a custom configuration and im-config  should
               not change it.

       -n      <input method name>

               Set input method framework 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"  or  "cjkv",  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 framework on GUI system (Wayland or
       original X Window) with its 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 framework.  The input method  framework  with  the
       highest  priority  comes  first.   The  availability  of  the  input  method frameworks are judged by the
       installation of the input method framework packages. After  you  make  a  choice  for  the  input  method
       framework,  this  displays  a guidance for associated input method engine packages which enables to input
       non-latin characters specific to the need of some languages to be installed.

       The activation of input method engines are out of scope for im-config.  You need to activate  them  using
       the mechanism offered by the deployed input method framework.  For GNOME Desktop which normally uses ibus
       as its input method framework, activate input  method  engines  by  "Setting"  ->  "Keyboard"  ->  "Input
       Sources"  and click "+"-sign.  For other Desktop environments, you should see something like a small tray
       icon for the input method framework which can be used to activate input method engines.

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

       Input  method  frameworks  such  as IBus, fcitx5, 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. At session start  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.

       The im-config package also installs another hook script /etc/profile.d/im-config_wayland.sh and a desktop
       file /usr/share/applications/im-config.desktop. When a desktop system starts under wayland, it uses these
       files  instead.   Then  this hook script and the desktop file 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
       programs: $XMODIFIERS, $GTK_IM_MODULE, $QT_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 define 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).

                                                                                                    IM-CONFIG(8)