[HOWTO]64位Ubuntu下安装32位程序及解决中文输入问题
装好Ubuntu需要解决的首要问题是……聊Q的问题。在初始Pidgin/Empathy不给力的情况下,我自然而然的看上了WebQQ……然后自然就看上了WebQQ“增强版”。但是没想到Adobe Air平台居然只有i386的。这叫我这64位的Ubuntu情何以堪=v=最后实在耐不住在各种搜索后成功在64位的Ubuntu中安装成功了只有32位版本的Air。
但是没想到的是……安装成功之后的Air平台下的各种app均不能输入中文(调出输入法),于是新的大战开始了……经过长久的摸索和搜索,总算是把在64位的下安装32位应用程序,并且解决在32位应用程序中的中文输入问题的整个过程梳理清楚了。特此分享下自己的经验~
1.如何在64位Ubuntu下安装32位应用程序
首先在Adobe官网上获取Air的安装程序(bin格式)。然后到http://frozenfox.freehostia.com/cappy/下载getlibs-all.deb并安装这个名叫getlibs的小工具。打开终端,进行如下步骤:
(1)安装32位库文件
1 | sudo apt-get install -y ia32-libs lib32nss-mdns lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 libc6 libc6-i386 lib32nss-mdns libcanberra-gtk-module |
(2)切换到Air安装程序所在目录,并执行:
1 | sudo getlibs ./AdobeAIRInstaller.bin |
(3)执行Air安装程序。别忘了执行权限……
1 | sudo ./AdobeAIRInstaller.bin |
OK现在AIR已经可以正常安装并使用了。此时双击AIR文件即可安装Air的app。如果的安装包是deb格式的,可以直接在第一步之后使用sudo dpkg -i –force-all XXXX_i386.deb强制忽略架构需求安装软件。第一步安装32位库其实是最重要的一步。
2.64位Ubuntu下的32位应用程序中正常使用中文输入法
如上所说,其实在64位Linux系统下运行32位的应用程序最为重要的是安装程序所需的32位库。只要库都存在就不成问题。但是有一个库比较特殊……就是Gtk。由于其运作机制的一些问题,32位的程序有时不能正确的找到32位的gtk库,而发生“WRONG ELF CLASS: ELFCLASS64”的错误。而负责与输入法沟通的immodules类模块就需要额外配置来确保32位程序找到正确的32位库。
比较常规的解决办法如下:
(1)获取32位版Ubuntu下/usr/lib/gtk-2.0/2.10.0/immodules/ 的 .so库文件(根据你的输入法拷贝im-scim或im-ibus开头的那几个)复制到64位系统下的/usr/lib32/gtk-2.0/2.10.0/immodules/目录下。
(2)打开终端,输入以下命令:
1 | cd /etc/gtk-2.0 |
(3)把 gtk.immodules.32 文件里的 /usr/lib/ 替换成 /usr/lib32/
除此之外……刚刚还又看到一个较为简便的方法。我没有自己实验过,有兴趣的童鞋自己试一下吧:
(1)打开终端,执行:
1 | cd /usr/lib/gtk-2.0/2.10.0 |
(2)把gtk.immodules.32中的/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so改成/usr/lib32/gtk-2.0/2.10.0/immodules/im-xim.so(可以用sudo gedit gtk.immodules.32打开)
——————————————————————————————————————————————————
下面是我完成以上工作参考的资料,有空的话都看看是很有益处的~!
Ubuntu 9.04 64bit Adobe Air Install(话说其实Adobe官网的帮助文件里面有64位的安装方法,不过超麻烦的说)
解决ubuntu 64位系统安装32位软件依赖的工具(getlibs的一些讲解)
[原创]QQ官方版在64位下不能输入中文的解决办法(scim)(此处有32位SCIM的相关库文件下载)
64位Ubuntu中QQ不能输入中文的解决办法(ibus)(此处有32位iBus的相关库文件下载)
ubuntu 64bit 输入法不能输入中文 32位程序 还有FLASH(这是最后一个方法的来源)