slackware下ibus编译安装(更新:2010/10/17)

来源:互联网 发布:javascript do方法 编辑:程序博客网 时间:2024/05/22 06:44
更新请见文章最后!
Slackware据说是较正统的Linux,可是它的默认环境是KDE,输入法是Scim
用惯了Ubuntu后就对ibus有种特殊的情感。经过很长时间的学习和尝试,总算安装成功了。
这是送给和我一样的新手,老鸟们请勿见笑。
ibus + wubi86 + pinyin

先贴上两个主要的参考地址:
1、ibus的官网上的说明
http://code.google.com/p/ibus/wiki/Install#Build_&_Install_engine
2、一个搜到的地址
http://www.linuxsir.org/bbs/archive/index.php/t-347016.html

接下来贴一些主要的代码,算是备忘吧,转自前两个地址:
1、解决信赖关系(这个就不算是ibus的主要内容了,反正就是缺什么,上网去找,然后就装什么),依赖如下:
Package Dependencies
ibus itself

* python >= 2.5
* dbus-glib >= 0.74
* dbus-python >= 0.83.0
* notify-python
* iso-codes

ibus-qt

* cmake
* qt >= 4.5

Individual Input Method Dependencies
ibus-anthy

* anthy

ibus-chewing

* Build dependencies:
o CMake >= 2.4
o gob2
o libchewing >= 0.3.2
o GConf2
* Run dependencies:
o libchewing >= 0.3.2
o GConf2

ibus-hangul

* libhangul

ibus-pinyin & demo engine

* python-enchant
* hunspell-en

2、下载(这个不解释,地址在下面)
http://code.google.com/p/ibus/downloads/list

3、安装
(1)安装主体   ibus-xx 

$ ./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib' --enable-gtk-doc
$ make
$ sudo make install

(Change the paths '/usr', '/etc', '/usr/lib' according to your system configuration.)
上面的'/usr', '/etc', '/usr/lib' 依你的系统而定(如slackware上很多是'/usr/local')
(2)将IBUS注册为GTK模块
$ sudo update-gtk-immodules i386-redhat-linux-gnu
或者:

$ sudo gtk-query-immodules-2.0-32 /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so >> /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules

(Replace the string i386-redhat-linux-gnu or path /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so with the setting that matches your system.)

一些设置要视具体情况而定(如文件夹位置,先检查自己机器上的相关文件夹是什么)

(3)更新图标

$ ls /usr/share/icons/*/*/*/ibus*

/usr/share/icons/hicolor/16x16/apps/ibus-keyboard.png
/usr/share/icons/hicolor/22x22/apps/ibus-keyboard.png
/usr/share/icons/hicolor/24x24/apps/ibus-keyboard.png
/usr/share/icons/hicolor/32x32/apps/ibus-keyboard.png
/usr/share/icons/hicolor/48x48/apps/ibus-keyboard.png
/usr/share/icons/hicolor/scalable/apps/ibus-keyboard.svg
$ sudo gtk-update-icon-cache /usr/share/icons/hicolor

(4)安装拼音引擎
$ zcat ibus-pinyin-xx.tar.gz | tar xfv -
$ cd ibus-pinyin
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install

(4)安装五笔(ibus-table)(我做的是简单的复制,原文在上诉地址2)
步骤:分别安装ibus-table、ibus-table-extraphrase(特殊符号)、ibus-table-wubi

我用的是五笔,就下载下面的三个
ibus-table-1.1.0.20090306.tar.gz
ibus-table-extraphrase-1.1.0.20090219.tar.gz 
ibus-table-wubi-1.1.0.20090316.tar.gz 

tar -xvf ibus-table-1.1.0.20090306.tar.gz
cd ibus-table-1*
./autogen.sh --prefix=/usr
make
make install
然后
vim /usr/lib/pkgconfig/ibus-table.pc
把libdir放到datarootdir后
(上面这个设置我没设置过 一样能用)

tar -xvf ibus-table-extraphrase-1.1.0.20090219.tar.gz 
cd ibus-table-e*
./autogen.sh --prefix=/usr
make
make install

tar -xvf ibus-table-wubi-1.1.0.20090316.tar.gz 
cd ibus-table-w*
./autogen.sh --enable-wubi86 --enable-wubi98 --enable-extra-phrases --prefix=/usr
make
make install

4、安装使用和设置(不会用HTML编辑器,排版很乱)

可以手动,也可以使用一些设置工具

Run ibus-daemon to start ibus daemon with either way:

* Distribution tool likes im-chooser, im-switch
* Add a new /etc/xdg/autostart/ibus.desktop to invoke 'ibus-daemon --xim'
* Manual

$ pkill -9 ibus
$ ps -ef | grep ibus
$ /usr/bin/ibus-daemon --xim &

After ibus-daemin is invoked, Run ibus-setup to set the preference, enable input methods, also start ibus daemon.

接下去设置如下(其实我也不太清楚)

然后在~/.profile里写入
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
ibus-daemon -d -x

5、一些问题及注意事项

(1)使用 ./autogen.sh 脚本时可能提示缺少组件(貌似是gnome-common)

就是缺少嘛,去下载就是了。要是下载的是源码,一般也是这么安装的:

$./configure (可选 --prefix=/usr)
$make
$make install

都是相通的

(2)安装之后没反应的,如$ibus-setup或在菜单中选IBUS设置没反应

其实还是缺东西,要是在终端中打ibus-setup显示Import error: no module named xdg

大概是这样的错误信息,是因为缺少python-xdg,可以上这里下载,里面是用SlackBuild安装的

可以一起学习一下。话说里面也有ibus的“包”,只是没有wubi罢了。很方便的东西。

6、后记及感想
在Slackware上弄了很久才成功的,主要也就是依赖关系很麻烦,不过这也就是SLK的优势吧!KISS原则。
总算也是自己成功地编译安装了一次,收获很大。想想要是在Ubuntu下,也不可能会亲自去编译吧。
还有就是希望广大Linux用户,在自己解决一些问题后,也留下自己的笔记,毕竟很多时候,
自己的问题就是凭借他人的笔记解决的。

All for one! One for all!


//--------------听说这叫华丽的分割线------------------//
(UPDATED!!)(更新)

起因:

近期在用新版Chromium7.0.542.0 (0)时,发现ibus的一个问题:在输入文字后退格(Backspace或Del)后,ibus即不能使用,必须重启IBUS或切换输入法才能继续输入。(鉴于本人喜爱Google的东西,于是又搜索了一番)

发现:

Ibus旧版的 Key Snooper特性与Chrome冲突。(详见:这里)

解决的方法是:安装Ibus1.3.5以上的版本,编译选项(--disable-key-snooper)

(注:发现新版的IBUS中,默认即为disable-key-snooper,应该是考虑到这个问题了)

任务:

我们将安装IBus 1.3.7 安装的包如下:(下载地址

(1)、 ibus-1.3.7.tar.gz

(2)、 ibus-pinyin-1.3.11.tar.gz

(3)、 ibus-table-1.3.0.20100621.tar.gz

(4)、 ibus-table-chinese-1.3.0.20100527.tar.gz

过程:

1、解决依赖(如文章开头所说)(我们将使用.autogen.sh,它依赖于gnome-common)

2、安装IBus主体

#  tar -xvf ibus-1.3.7.tar.gz
#  cd ibus-1.3.7
# ./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib' --enable-gtk-doc --disable-key-snooper
# make
# make install

3、安装 pinyin组件

#  tar -xvf ibus-pinyin-1.3.11.tar.gz
# cd ibus-pinyin-1.3.11
# ./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib
# make
# make install

4、安装 ibus-table 码表的支持框架

# tar -xvf ibus-table-1.3.0.20100621.tar.gz
# cd ibus-table-1.3.0.20100621
# ./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib
# make
# make install

5、安装 ibus-table-chinese 中文码表(包括五笔 还有一堆看都没看过的)

# tar -xvf ibus-table-chinese-1.3.0.20100527.tar.gz
# cd ibus-table-chinese-1.3.0.20100527
# ./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib
# make
# make install

6、善后工作

如上文所诉
若出现信息:src/Makefile.am:132: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
则应是缺少一个东西: gobject-introspection 安装即可
详见: http://code.google.com/p/ibus/issues/detail?id=1067

结语:

一些问题:

(1)、笔者登陆X的是普通用户,安装的时候用“su"切到root安装的,测试IBus的时候用的是超级用户,导致在设置 Input Method(输入法) 的时候添加后关闭,再打开的时候输入法就不见了。估计是因为不是当前用户,所以不保存设置的缘故。各位测试的时候(ibus-daemon --xim)不要见怪。

(2)、由于ibus-table-chinese中包含了五笔的码表,ibus-table-wubi就不用再安装了。

(3)、安装时,安装目录切记要选得一致。(如ibus安装在/usr, ibus-table也要安装在这里)

(4)、还有一些依赖的问题,这里就不解释了,自己上网搜,下了安装吧。

(5)、问题同(1),用(ibus-setup)设置输入法之后,再次打开(ibus-setup),刚设置的输入法不见了,导致ibus不能使用。

            由于这次采用的是之前打好的tgz包,最终发现是没有安装"GConf",安装即可。


后记-2.0

牢骚1:现在已经凌晨2:06了,刚刚才把Ibus搞定,再补充了这篇文章,虽然写的过程也简单,到自己机器上总是有一堆的问题,不过,身为DIY的支持者,这些都不是什么问题,一试再试就过来了。问题总是学习的最好动力。

牢骚2:每次上网搜东西,垃圾信息总是一堆,现在的广告啊什么的,信息太乱了,搜索引擎也很乱的感觉,看来还是要加强自己的搜索技术啊,希望大家看了我的文章后能够解决自己的问题,有问题也可以留言,小弟力所能及,定当全力以赴!
原创粉丝点击