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)