BT5R3 安装中文输入法安装及配置

来源:互联网 发布:网络文明宣言口号 编辑:程序博客网 时间:2024/04/29 02:52


目标:

BT5R3 安装中文输入法,同时保证:

1. 系统和应用程序全部为英文(系统菜单、应用程序工具栏、默认输入法等)

     2.当需要阅读和撰写中文文档的时候,能正确的显示中文并调出中文输入法.


步骤及问题:

1. 放狗发现,通过下列方法可以安装中文包及输入法:

   refer to: http://www.linuxidc.com/Linux/2012-07/65618.htm

安语言包装
apt-get install language-support-zh language-pack-zh


安装语言选择器
apt-get install language-selector-qt
apt-get install language-selector


设置

打开System-Administration-Language Support, Install/Remove Language中选择 Chinese(simplified),然后点ok.


安装完中文包后我们到Settings->System Settings->Locale->add languages


Ibus中文输入法

在终端输入:sudo apt-get install ibus-table-wubi ibus-pinyin

安装完成后在System->perferences下会出现Ibus perferences条目,在其中设置要使用的输入法。首次启动会出现:

IBus has been started! If you can not use IBus, please add below lines in $HOME/.bashrc, and relogin your desktop.

  export GTK_IM_MODULE=ibus

  export XMODIFIERS=@im=ibus

  export QT_IM_MODULE=ibus


设置开机自动启动IBUS:

System >> Preferences >> Startup Applications

Click the button: Add

Name: ibus daemon

Command: /usr/bin/ibus-daemon –d


完成设置,logout 并重新启动 X window。发现可以中文输入法可以正常工作。但是,问题产生了。桌面及一些应用程序也变成了中文,如shell 环境:

                root@bot:~# testcommand

testcommand: 没有找到命令       

                对于习惯于英文系统的本人来说,这种提示实在是碍眼,这也是本文开始目标一存在的原因。


2. 继续放狗,发现一篇文章讲到变量LANG的作用,并通过配置startx的参数在FC4 Linux上成功解决了这个问题。于是乎,仿照这个思路,开始观    察 BT3R5 的startx 命令。

            先附上参考资料:http://blog.csdn.net/luyushuang/article/details/8996538

   

          首先把语言跳回到 en_US(echo $LANG en_US.utf8)

   打开 startx, 发现如下一行:

           xinit "$client" $clientargs -- "$server" $display $serverargs 

           startx 实际上调用了 xinit 来初始化 X window (server and client), 为了省去读一大串的startx 的脚本,干脆 将上述命令中用到的几个参数一一  打印出来,发现不加参数(鄙人通常情况下,直接 startx 启动 xwindow)的情况下,几个参数的值依次为:

          /etc/X11/xinit/xinitrc
         # 此处空行,表示$clientargs 为空
 /etc/X11/xinit/xserverrc
 :0
 -auth /tmp/serverauth.0D93ImveAw


         可知,参数均来自/etc/X11/xint/xinitrc 和 /etc/X11/xinit/xserverrc, 不太清楚到时是 server 还是 client 负责语言支持,所以先从client开始,

  于是开始追踪 /etc/X11/xint/xinitrc, 发现其内容为:

         . /etc/X11/Xsession

        file /etc/X11/Xsession 发现 Xsession 是一个shell 脚本文件,于是继续追踪进来,发现其中有如下几行:

# initialize variables for use by all session scripts

OPTIONFILE=/etc/X11/Xsession.options
SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources
SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

      把几个文件或者位置都观察了一下,发现最关键的一个是:

     SYSSESSIONDIR=/etc/X11/Xsession.d

     进入这个folder 发现里面有许多看起来像是配置文件的东西: 

root@bt:~# ll /etc/X11/Xsession.d/
total 64
drwxr-xr-x  2 root root 4096 2014-02-12 22:08 ./
drwxr-xr-x 10 root root 4096 2014-02-12 21:08 ../
-rw-r--r--  1 root root 2030 2010-04-01 19:19 20x11-common_process-args
-rw-r--r--  1 root root  878 2010-03-31 00:13 30x11-common_xresources
-rw-r--r--  1 root root  187 2008-07-02 01:41 40x11-common_xsessionrc
-rw-r--r--  1 root root 1535 2010-03-31 00:13 50x11-common_determine-startup
-rw-r--r--  1 root root  197 2010-01-16 12:54 52libcanberra-gtk-module_add-to-gtk-modules
-rw-r--r--  1 root root  670 2010-03-30 17:22 55gnome-session_gnomerc
-rw-r--r--  1 root root  146 2010-04-01 19:07 60x11-common_localhost
-rw-r--r--  1 root root  322 2010-03-30 20:43 70gconfd_path-on-session
-rw-r--r--  1 root root  368 2011-01-05 06:23 75dbus_dbus-launch
-rwxr-xr-x  1 root root 2347 2014-02-12 22:08 80im-switch*
-rw-r--r--  1 root root 1027 2010-11-12 23:23 90consolekit
-rw-r--r--  1 root root  629 2010-03-31 00:13 90x11-common_ssh-agent
-rwxr-xr-x  1 root root  394 2013-08-22 22:37 99-vmware_vmware-user*
-rw-r--r--  1 root root  166 2008-07-02 01:41 99x11-common_start 


    不太清楚这些文件用来干什么,但应该与启动 x window 的 配置项有关,于是,又傻逼的挨个浏览这些文件,(其实后来才知道,80im-switch*配置了关于输入法的内容, im means input method),打开80im-switch*的时候发现了以下内容:


# $LNG is locale <language>_<region> without .<encoding> and .<encoding>@EURO
LNG=${LC_ALL:-${LC_CTYPE:-${LANG}}}
LNG=${LNG%@*}
LNG=${LNG%.*}
LNG="zh_CN" # 这一行 为后来加上的,通过这一行,可以实现最终目标
[ -z "$LNG" ] && LNG="all_ALL" || true


echo "Setting IM through im-switch for locale=$LNG."
echo $LNG >> $HOME/record.log
# Source first found configuration under $LNG locale
for f in    "$HOME/.xinput.d/${LNG}" \
   "$HOME/.xinput.d/all_ALL" \
   "/etc/X11/xinit/xinput.d/${LNG}" \
   "/etc/X11/xinit/xinput.d/all_ALL" \
   "/etc/X11/xinit/xinput.d/default" ; do
    if [ -f "$f" -a -r "$f" ]; then
echo "Start IM through $f linked to $(readlink -f $f)."
. "$f"
break
    fi
done

     

按照 上述 红色高亮部分修改80im-switch* 这个文件,保存,然后重新登录启动xwindow, 发现 要求的两个目标全部实现。

       具体原理,请参照:http://blog.csdn.net/luyushuang/article/details/8996538


3.  综上,总结的达到本文开始的两个目标的方法是:

           a. 按照第一步的方法,安装语言包,语言管理器(等),ibus 输入法 并配置等工作

           b. 将系统调回至英文,并在/etc/X11/Xsession.d/80im-switch* 中添加LNG="zh_CN",添加位置可以是LNG=${LNG%.*}的后面。

0 0
原创粉丝点击