Difference between revisions of "Configure (Other)"

From Fcitx
Jump to navigation Jump to search
(23 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Setup environment variables ==
+
<languages/>
 +
<translate>
 +
== Setup environment variables == <!--T:1-->
 
In spite of Ubuntu, Debian, Fedora, OpenSUSE, other distribution don't have utils to help to setup required environment variable.
 
In spite of Ubuntu, Debian, Fedora, OpenSUSE, other distribution don't have utils to help to setup required environment variable.
  
 +
<!--T:17-->
 +
{{warning|Notice! Setting environment variable is hard for normal user to understand what are they for, and may conflicts with normal settings with distribution built-in tool.}}
 +
 +
<!--T:18-->
 +
To explain it as easy as possible how this works. That is, if you are using a graphical GUI to type user name, or to login, you will need to add
 +
 +
<!--T:19-->
 +
GTK_IM_MODULE=fcitx
 +
QT_IM_MODULE=fcitx
 +
XMODIFIERS=@im=fcitx
 +
 +
<!--T:20-->
 +
to ~/.xprofile (X11), ~/.bash_profile (bash shell), or ~/.profile (under certain case it won't be read if .bash_profile presents). It will be a hidden file, since the file name starts with dot. You may use any editor, like gedit, kwrite, vim, emacs to edit it.
 +
 +
<!--T:21-->
 +
And make sure, if you open any gtk application, and right click on an input field, there is an item for fcitx in Input Method Menu, like
 +
 +
<!--T:22-->
 +
[[File:GtkInputMethodMenu.png]]
 +
 +
<!--T:23-->
 +
And make sure if you open any qt application, and right click on an input field, there is also an item named in input method menu, like
 +
 +
<!--T:24-->
 +
[[File:QtInputMethod.png]]
 +
 +
<!--T:25-->
 +
It doesn't have to be selected if you haven't logout and re-login to make your setting effects, but you need to make sure they are selected after you change the setting and re-login.
 +
 +
=== Advance === <!--T:26-->
 +
If you can complete the step above, you don't need to bother following description.
 +
 +
<!--T:2-->
 
Fcitx can use XIM or Fcitx's own DBus protocol to communicate with input program. Since 4.1, Fcitx provides GTK2/3 and Qt4 input method module, in order to provides better experience in those application, it's highly recommended to use im module instead of XIM, in order to avoid unresolvable problem.
 
Fcitx can use XIM or Fcitx's own DBus protocol to communicate with input program. Since 4.1, Fcitx provides GTK2/3 and Qt4 input method module, in order to provides better experience in those application, it's highly recommended to use im module instead of XIM, in order to avoid unresolvable problem.
  
 +
<!--T:3-->
 
There are several places to setup environment variable. It depends on how you start up your Display Server.
 
There are several places to setup environment variable. It depends on how you start up your Display Server.
  
Required lines
+
<!--T:4-->
 +
Requires following lines.
 +
 
 +
<!--T:5-->
 +
export GTK_IM_MODULE=fcitx # or xim
 +
export QT_IM_MODULE=fcitx # or xim
 +
export XMODIFIERS=@im=fcitx
  
    export GTK_IM_MODULE=fcitx # or xim
+
=== Use GDM/KDM/LightDM/Slim (Session Mode) === <!--T:6-->
    export QT_IM_MODULE=fcitx # or xim
+
~/.pam_enivironment is the best choice because it works for both X and Wayland (If not exists, create a new one).
    export XMODIFIERS=@im=fcitx
 
  
=== Use GDM/KDM/LightDM ===
+
=== Use Slim (~/.xinitrc)/startx === <!--T:7-->
~/.xprofile is the best choice, since it will only affect X and will not pollute to other console environment. Some other people might like to use ~/.profile (Affect whenever you login), or /etc/profile (Global profile).
+
In that case, you are using ~/.xinitrc to startup, you also need those lines in your ~/.xinitrc. And depends on you use DBus (im module and kimpanel need it), you might want to add
  
=== Use Slim/startx ===
+
<!--T:8-->
In that case, you are using ~/.xinitrc to startup, you also need those lines in your ~/.xinitrc. And depends
+
eval `dbus-launch --sh-syntax --exit-with-session`
  
=== Other environment ===
+
<!--T:9-->
 +
At the head, to make sure DBus correctly initialized.
 +
 
 +
<!--T:27-->
 +
With newer slim, you may need this instead:
 +
 
 +
<!--T:28-->
 +
dbus-launch --sh-syntax --exit-with-session > /dev/null
 +
 
 +
=== Other environment === <!--T:10-->
 
Maybe you are using vncserver, or something else, you need to figure out your start script, for example, vncserver use ~/.vnc/xstartup. Treat it similar with ~/.xinitrc.
 
Maybe you are using vncserver, or something else, you need to figure out your start script, for example, vncserver use ~/.vnc/xstartup. Treat it similar with ~/.xinitrc.
  
== Autostart ==
+
== Autostart == <!--T:11-->
 +
For ~/.xinitrc, you can put fcitx to your ~/.xinitrc. Fcitx will run as daemon by default, so no need to use fcitx & to start it.
 +
 
 +
 
 +
<!--T:12-->
 +
If you running a [http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html XDG] compatible desktop, for example, Gnome, KDE, LXDE, Xfce, you can run
 +
 
 +
<!--T:13-->
 +
cp /usr/share/applications/fcitx.desktop ~/.config/autostart/fcitx.desktop
 +
 
 +
<!--T:14-->
 +
To add fcitx to your autostart. You can also use tool provided by your desktop to do the same thing.
 +
 
 +
== See also == <!--T:15-->
 +
[[Special:myLanguage/Input method related environment variables|Input method related environment variables]]
 +
 
 +
<!--T:16-->
 +
[[Category:How-to]]
  
== See also ==
+
</translate>
[[Input method related environment variables]]
 

Revision as of 16:31, 22 July 2020

Other languages:
English • ‎中文(简体)‎

Setup environment variables

In spite of Ubuntu, Debian, Fedora, OpenSUSE, other distribution don't have utils to help to setup required environment variable.

Warning: Notice! Setting environment variable is hard for normal user to understand what are they for, and may conflicts with normal settings with distribution built-in tool.



To explain it as easy as possible how this works. That is, if you are using a graphical GUI to type user name, or to login, you will need to add

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

to ~/.xprofile (X11), ~/.bash_profile (bash shell), or ~/.profile (under certain case it won't be read if .bash_profile presents). It will be a hidden file, since the file name starts with dot. You may use any editor, like gedit, kwrite, vim, emacs to edit it.

And make sure, if you open any gtk application, and right click on an input field, there is an item for fcitx in Input Method Menu, like

GtkInputMethodMenu.png

And make sure if you open any qt application, and right click on an input field, there is also an item named in input method menu, like

QtInputMethod.png

It doesn't have to be selected if you haven't logout and re-login to make your setting effects, but you need to make sure they are selected after you change the setting and re-login.

Advance

If you can complete the step above, you don't need to bother following description.

Fcitx can use XIM or Fcitx's own DBus protocol to communicate with input program. Since 4.1, Fcitx provides GTK2/3 and Qt4 input method module, in order to provides better experience in those application, it's highly recommended to use im module instead of XIM, in order to avoid unresolvable problem.

There are several places to setup environment variable. It depends on how you start up your Display Server.

Requires following lines.

export GTK_IM_MODULE=fcitx # or xim
export QT_IM_MODULE=fcitx # or xim
export XMODIFIERS=@im=fcitx

Use GDM/KDM/LightDM/Slim (Session Mode)

~/.pam_enivironment is the best choice because it works for both X and Wayland (If not exists, create a new one).

Use Slim (~/.xinitrc)/startx

In that case, you are using ~/.xinitrc to startup, you also need those lines in your ~/.xinitrc. And depends on you use DBus (im module and kimpanel need it), you might want to add

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

At the head, to make sure DBus correctly initialized.

With newer slim, you may need this instead:

dbus-launch --sh-syntax --exit-with-session > /dev/null

Other environment

Maybe you are using vncserver, or something else, you need to figure out your start script, for example, vncserver use ~/.vnc/xstartup. Treat it similar with ~/.xinitrc.

Autostart

For ~/.xinitrc, you can put fcitx to your ~/.xinitrc. Fcitx will run as daemon by default, so no need to use fcitx & to start it.


If you running a XDG compatible desktop, for example, Gnome, KDE, LXDE, Xfce, you can run

cp /usr/share/applications/fcitx.desktop ~/.config/autostart/fcitx.desktop

To add fcitx to your autostart. You can also use tool provided by your desktop to do the same thing.

See also

Input method related environment variables