Smart Common Input Method

From ArchWiki
Revision as of 09:15, 26 July 2007 by 폭풍새 (talk | contribs) (rev. Korean)
Jump to navigation Jump to search

About SCIM

Su Zhe (or James Su)-who at that time worked for TurboLinux- started this project about 2001 with the goal:

  • Act as an unified frontend for current available input method libraries. Currently bindings to uim and m17n library are available.
  • Act as a language engine of IIIMF input method framework (TBD).
  • Provide as many native IMEngines as possible.
  • Support as many input method protocol/interface as possible.
  • Support as many operating systems as possible.

SCIM has the following features:

  • Fully Object Oriented structure written in C++.
  • Highly modularized.
  • Very flexible architecture, can be used as a dynamically loaded library as well as a C/S input method environment.
  • Simple programming interface.
  • Fully i18n support with UCS-4/UTF-8 encoding.
  • Include many handy utility functions to speedup the development.
  • GUI Panel with very rich features.
  • Unified configuration framework.

Installing SCIM

pacman -S scim

Installing Input Method Engines

Currently the SCIM project has a wide range of input methods (some may need other libraries), covering more than 30 languages, including (Simplified/Traditional) Chinese, Japanese, Korean and many European languages. These are some of the examples (more can be found here):

Chinese Smart PinYin:

pacman -S scim-pinyin

Chinese WuBi or other tables based:

pacman -S scim-tables


pacman -S scim-anthy


pacman -S scim-hangul

Configure SCIM

Add the following lines to ~/.xinitrc before executing your DE/WM. If you want all the users of your system to use scim, place these lines in your /etc/profile.

export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
scim -f socket -c socket -d

This is what your .xinitrc file should look like. Note that the "exec DE/WM" line comes after the lines for SCIM


# ~/.xinitrc
# Executed by startx (run your window manager from here)

# exec wmaker
# exec startkde
# exec icewm
# exec blackbox
# exec fluxbox

export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
scim -f socket -c socket -d

exec gnome-session

If after you have install scim and the necessary input tables, and scim still doesn't work (click on the system tray, and nothing pops up), then you need to set the LC_CTYPE environmental variable in /etc/profile to the locale you plan to use. Simply create an entry for LC_CTYPE in /etc/profile, if there isn't one.

eg.   LC_CTYPE="zh_CN.utf8"              //if you want to type simplified chinese

Finally you need to generate the locale using the locale-gen command. Modify the /etc/locale.gen file to uncomment the language and encoding set you wish to use scim with. Then run the following command to generate the locale for your system.


Steps for KDE/GNOME with kdm/gdm

This method seems to work with KDE and GNOME and when logging in through kdm or gdm. For GNOME, ignore steps 3 and 4.

1. Install scim and input engines, and skim if you use KDE

2. Create a new file called .xprofile in your home folder (~/.xprofile) and add the following lines:

export GTK_IM_MODULE=scim
export QT_IM_MODULE=xim
scim -f socket -c socket -d

If you want all the users of your system to use scim, place these lines in your /etc/profile instead.

3. Start SKIM, right click on the system tray icon and click 'Configure'

4. Under Frontend > X Window, tick the checkbox for "Start skim automatically when KDE starts"

5. Logout and restart X server (ctrl+alt+del), then login again

In any application, press ctrl+space to activate the input window.

See the official news page for more details.