STANNIX Community


Manual: im-config

IM-CONFIG(8)					   System Manager's Manual					IM-CONFIG(8)

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 pack‐
	       ages 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      

	       Set input method framework to . This option is for other configuration tool to set the in‐
	       put method.  Since the default value of  is "auto" or "cjkv", you usually do not  need  to
	       use this from other configuration script.

	       Specifying  invalid   causes the error exit. Updating the configuration file which was not
	       updated by im-config also causes the error exit.

	       When this  is "none" then do not activate any IM from im-config and use desktop default.

	       When this  is "REMOVE" then it always removes the configuration file even if	it  was	 not
	       updated by im-config.

       -o      

	       Print the localized description of the input method  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 in‐
       put 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	lan‐
       guages 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 ex‐
       ists.  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 

       When  these  files  are sourced, the run_im shell function instructs to source the initialization code for the corre‐
       sponding input method. This initialization code is defined in the <2 digits number>_.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: $XMODI‐
       FIERS, $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 initial‐
       ization 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 environ‐
       ment 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 hash 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>_.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 .

       These <2 digits number>_.conf files define few variables and	functions.   The  value	 of  IM_CON‐
       FIG_SHORT  is  the  short  description of the input method for the menu.	 The value of IM_CONFIG_LONG is the long de‐
       scription of the input method explaining its package dependency.	 The package_menu shell function defines as a  func‐
       tion  to	 return	 true  if  any associated input method packages are installed to activate its menu entry.  The pack‐
       age_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 output of:

	   journalctl -b -t im-config

       If you experience problem around keyboard input, please file a bug report to the im-config package using reportbug(1)
       which automatically adds above output.

       You can disable im-config as:

	   im-config -n none

       You may need to configure system manually using ~/.xinputrc etc.

SEE ALSO
       /usr/share/doc/im-config/README.Debian

AUTHOR
       This  manual  page  was written by Osamu Aoki , for the Debian GNU/Linux system (but may be used by
       others).

														IM-CONFIG(8)