Difference between revisions of "Fcitx"

From ArchWiki
Jump to: navigation, search
(a question on profile)
Line 1: Line 1:
 
[[Category: Internationalization (English)]]
 
[[Category: Internationalization (English)]]
 
{{i18n|Fcitx}}
 
{{i18n|Fcitx}}
 
 
[http://code.google.com/p/fcitx/ FCITX] ('''F'''ree '''C'''hinese '''I'''nput '''T'''oy of '''X''') is a collection of Simplified Chinese input methods for Linux.
 
[http://code.google.com/p/fcitx/ FCITX] ('''F'''ree '''C'''hinese '''I'''nput '''T'''oy of '''X''') is a collection of Simplified Chinese input methods for Linux.
  
Line 10: Line 9:
 
Before you can make use of FCITX for input, you have to setup some environment variables.  It is quite simple.
 
Before you can make use of FCITX for input, you have to setup some environment variables.  It is quite simple.
 
*Open the {{filename|.xprofile}} or (.profile?) file in your home directory and add following lines:
 
*Open the {{filename|.xprofile}} or (.profile?) file in your home directory and add following lines:
   #setup XIM environment, need not if use SCIM as gtk-immodules
+
   #setup XIM environment
 
   export GTK_IM_MODULE=xim
 
   export GTK_IM_MODULE=xim
 
   export QT_IM_MODULE=xim
 
   export QT_IM_MODULE=xim
 
   export XMODIFIERS="@im=fcitx"
 
   export XMODIFIERS="@im=fcitx"
 +
 +
Since 4.1.0, Fcitx provides it's own input method module, {{Package Official|fcitx-gtk2}}, {{Package Official|fcitx-gtk3}}, and {{Package Official|fcitx-qt}}. It's recommend to use input method module instead of xim directly, in order to resolve strange bugs brings XIM.
 +
 +
You can set corresponding environment variables
 +
  export GTK_IM_MODULE=fcitx
 +
  export QT_IM_MODULE=fcitx
 +
 +
In order to use Fcitx input methdo module, you also need [[DBus]] startup correctly.
  
 
*Re-login to make such environment effective.  
 
*Re-login to make such environment effective.  
Line 36: Line 43:
 
Enjoy!
 
Enjoy!
  
===Fcixt with KDM===
+
==Autostart with desktop==
To have FCITX start automatically with KDM, add the following lines to {{filename|/usr/share/config/kdm/Xstartup}}
+
===XDG compatible environment===
 +
You can copy /usr/share/applications/fcitx.desktop to ~/.config/autostart/, under [[KDE]], [[GNOME]], [[XFCE]], , [[LXDE]], or any other XDG compatible environment.
  
  LANG=zh_CN.UTF-8
+
===startx===
  export LANG
+
You can put fcitx inside your {{filename|.xinitrc}}, and set corresponding environment variable mentioned above in ~/.xinitrc.
  LC_CTYPE=zh_CN.UTF-8
+
  export LC_CTYPE
+
  export XMODIFIERS="@im=fcitx"
+
  #pkill fcitx
+
  fcitx&
+
  
Add following lines to {{filename|/etc/profile}}
+
If you want use input method module, make sure dbus is started before you start everything, if you are not sure, add
+
  eval `dbus-launch --sh-syntax --exit-with-session`
  export XIM=fcitx
+
 
  export XIM_PROGRAM=fcitx
+
to the head of {{filename|.xinitrc}}.
  export GTK_IM_MODULE=xim
+
  export QT_IM_MODULE=xim
+
  export XMODIFIERS="@im=fcitx"
+
  
 
==Troubleshooting==
 
==Troubleshooting==
 
===CTRL+Space does not work===
 
===CTRL+Space does not work===
If you cannot invoke FCITX by pressing the CTRL+Space keyboard combination, but FCITX runs in background without problem, please check your [[locale]]:
+
If you cannot invoke FCITX by pressing the CTRL+Space keyboard combination, but FCITX runs in background without problem, please check your [[locale]], and make sure your locale is un-commented in /etc/locale.gen.
 
+
  [ganlu@A ~]$ locale
+
  LANG=en_US
+
  LC_CTYPE=en_US.utf8
+
  LC_NUMERIC="en_US"
+
  LC_TIME="en_US"
+
  LC_COLLATE=C
+
  LC_MONETARY="en_US"
+
  LC_MESSAGES="en_US"
+
  LC_PAPER="en_US"
+
  LC_NAME="en_US"
+
  LC_ADDRESS="en_US"
+
  LC_TELEPHONE="en_US"
+
  LC_MEASUREMENT="en_US"
+
  LC_IDENTIFICATION="en_US"
+
  LC_ALL=
+
 
+
Above is what I get from command 'locale', so you can know for sure FCITX does support utf8 (en_US.utf8 at least) locale without problem. If your locale output shows you having set up a utf8 locale correctly, then I suggest you check if your bash does support utf8 locale:
+
$ locale -a
+
to see if your current locale in there, if not, do not worry, make it yourself:
+
$ localedef -vci en_US -f utf8 en_US.utf8
+
then, relogin to see if that works.
+
If terrible things continue, I have to suggest you try any locale with "zh_CN", for example:
+
  export LC_CTYPE=zh_CN.GBK
+
For more information about locale, please find it in Google.
+
 
+
{{Note|You do not need to change your locale (such as LC_CTYPE) to a Chinese locale, ie: zh_CN.GBK, if you edit {{filename|/etc/gtk-2.0/gtk.immodules}}, and change this line:
+
  "xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"
+
to:
+
  "xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
+
Very easy.
+
}}
+
 
+
===Characters are displayed as blank boxes===
+
If you can trigger FCITX but the characters on it are displayed as blank boxes, open {{filename|~/.config/fctix/config}} and change the line:
+
显示字体(中)=*
+
to
+
显示字体(中)=AR PL ShanHeiSun Uni
+
I am using uming font here, so be sure you have installed {{Package Official|ttf-arphic-uming}}. Restart FCITX:
+
$ pkill fcitx
+
$ fcitx &
+
If you have no config file after setup 3.6.3, you could generate it by:
+
fcitx -c
+
  
All configuration of FCITX can be found in {{filename|~/.config/fctix/config}}, however you had better understand Chinese. :- )
+
=See also=
 +
* [http://fcitx.github.com/handbook/ User Handbook (Chinese)]

Revision as of 20:06, 23 January 2012

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

FCITX (Free Chinese Input Toy of X) is a collection of Simplified Chinese input methods for Linux.

Installation

Template:Package Official can be installed with Pacman from the [extra] repository.

Using FCITX to input Chinese

Before you can make use of FCITX for input, you have to setup some environment variables. It is quite simple.

  • Open the Template:Filename or (.profile?) file in your home directory and add following lines:
 #setup XIM environment
 export GTK_IM_MODULE=xim
 export QT_IM_MODULE=xim
 export XMODIFIERS="@im=fcitx"

Since 4.1.0, Fcitx provides it's own input method module, Template:Package Official, Template:Package Official, and Template:Package Official. It's recommend to use input method module instead of xim directly, in order to resolve strange bugs brings XIM.

You can set corresponding environment variables

 export GTK_IM_MODULE=fcitx
 export QT_IM_MODULE=fcitx

In order to use Fcitx input methdo module, you also need DBus startup correctly.

  • Re-login to make such environment effective.

After you re-login, open your favorite terminal, type:

  fcitx &

To see if fcitx is working correctly, open an application such as leafpad and press CTRL+Space to invoke FCITX and input some words.

If everything goes well, you may want to start FCITX automatically whenever you start X.

Open the Template:Filename file (see xinitrc) in your home directory, add line before starting your WM:

 killall fcitx
 fcitx &

That is it.

If you use any type of XDM (gdm for example), you should set up such environment in Template:Filename instead of above two files.

Enjoy!

Autostart with desktop

XDG compatible environment

You can copy /usr/share/applications/fcitx.desktop to ~/.config/autostart/, under KDE, GNOME, XFCE, , LXDE, or any other XDG compatible environment.

startx

You can put fcitx inside your Template:Filename, and set corresponding environment variable mentioned above in ~/.xinitrc.

If you want use input method module, make sure dbus is started before you start everything, if you are not sure, add

 eval `dbus-launch --sh-syntax --exit-with-session`

to the head of Template:Filename.

Troubleshooting

CTRL+Space does not work

If you cannot invoke FCITX by pressing the CTRL+Space keyboard combination, but FCITX runs in background without problem, please check your locale, and make sure your locale is un-commented in /etc/locale.gen.

See also