LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2479|回复: 5

Arch64中在32位程序中使用输入法

[复制链接]
发表于 2009-2-2 20:59:09 | 显示全部楼层 |阅读模式
以前针对QQ For Linux无法使用输入法的问题,我专门写了[color="Blue"]几个PKGBUILD。但是那个方法太复杂,不通用 -- 每个输入法都要单独编译一次32位模块。现在有了这个替代方案:使用“lib32-gtk2”中提供的XIM来支持各种输入法。


  • 创建输入法模块列表

    确保“lib32-gtk2”已经安装,然后执行以下命令。
    1. cat /etc/gtk-2.0/gtk.immodules | sed "s|/usr/lib/gtk-2.0/|/opt/lib32/usr/lib/gtk-2.0/|g" > /etc/gtk-2.0/gtk.immodules.32
    复制代码

  • 设置XIM相关环境变量

    在启动脚本(如.xinitrc)中加入以下命令,其中的输入法模块名请自行替换。
    1. GTK_IM_MODULE="xim"
    2. QT_IM_MODULE="xim"
    3. XIM_PROGRAM="/usr/bin/ibus"
    4. XIM="ibus"
    5. XMODIFIERS="@im=ibus"
    6. export GTK_IM_MODULE QT_IM_MODULE XIM_PROGRAM XIM XMODIFIERS
    复制代码

  • 编写相应的启动脚本

    假设要启动qq,可以使用以下脚本(已经包含在“[color="Blue"]qq”这个包内)。
    1. #!/bin/sh
    2. # 设置32位环境变量
    3. GCONV_PATH=/opt/lib32/usr/lib/gconv/
    4. GDK_PIXBUF_MODULE_FILE=/opt/lib32/config/gdk/gdk-pixbuf.loaders
    5. GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.32
    6. GTK_PATH=/opt/lib32/usr/lib/gtk-2.0/
    7. LD_LIBRARY_PATH="/opt/lib32/usr/lib/:/opt/lib32/lib/:$LD_LIBRARY_PATH"
    8. PANGO_RC_FILE=/opt/lib32/config/pango/pangorc
    9. export GCONV_PATH GDK_PIXBUF_MODULE_FILE GTK_IM_MODULE_FILE GTK_PATH LD_LIBRARY_PATH PANGO_RC_FILE
    10. cd /usr/share/tencent/qq/ #加上这一句是因为qq的工作目录中必须包含其运行所必需的文件“res.db”
    11. ./qq
    复制代码

    对于其它程序,修改最后的路径即可,建议使用绝对路径。
发表于 2009-2-3 23:33:03 | 显示全部楼层
fcitx可以么?
回复 支持 反对

使用道具 举报

发表于 2009-3-25 11:35:43 | 显示全部楼层
GTK_MODULES=/opt/lib32/usr/lib/gtk-2.0/modules/libgnomebreakpad.so

找不到这个路径及文件……   :(
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-25 12:45:09 | 显示全部楼层
Post by bipym2006;1965247
GTK_MODULES=/opt/lib32/usr/lib/gtk-2.0/modules/libgnomebreakpad.so

找不到这个路径及文件……   :(

那就去掉试试看
回复 支持 反对

使用道具 举报

发表于 2009-9-6 23:14:52 | 显示全部楼层
有个奇怪的问题,我按照这个方法建了一个脚本,在命令行下直接运行成功了,ibus可以输入中文。然后我修改了/usr/share/applications/qq.desktop,把Exec指向了我建立的脚本,然后update-desktop-database,随后从gnome的菜单中执行QQ,问题出现了,从菜单上运行的qq还是不能输入中文。我为了确保我修改qq.desktop上有效的,故意把Exec指向错,执行菜单里的QQ也有错误提示。说明修改qq.desktop是有效的。但是为什么从菜单上直接运行就不行呢?
回复 支持 反对

使用道具 举报

发表于 2009-9-7 07:38:15 | 显示全部楼层
应该是变量问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表