一、本文目的:
解决Ubuntu 64位系统下官方提供的zhcon包有如下问题:
1. 普通用户执行zhcon后屏幕中不断输出闪动的行
2. 安装官方提供的zhcon包后,切换至中文输入法然后按键,程序发生段错误
对于问题1,可以直接通过设置zhcon文件的setuid位解决,执行如下命令即可(注意反引号):
sudo chmod u+s `which zhcon`
但是,问题2的原因是原作者假定所有OS的指针均为32位,因此在64位系统中引发了指针越界而产生段错误。
二、准备源码文件:
所有源码文件均可直接在附件中下载,为尊重原作者,下面给出所有文件的链接
0.2.5版本源码:
zhcon-0.2.5.tar.gz http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/
升级0.2.6补丁:
zhcon-0.2.5-to-0.2.6.diff.gz http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/
0.2.6版本的64位系统文件更新:
winime.cpp http://att.newsmth.net/nForum/att/LinuxDev/29280/839
winime.h http://att.newsmth.net/nForum/att/LinuxDev/29280/9818
三、机器环境:
* Ubuntu 12.04 x86_64
* g++编译环境(执行apt-get install g++)
* ncurses开发库(执行apt-get install libncurse5-dev安装,若之前./configure过,还需重新执行./configure,因为不安装ncurses库可以通过./configure,但在make阶段会缺少链接库)
四、编译安装步骤:
将以上4个文件拷贝到同一个目录下,如~/zhcon_install,然后依次执行如下命令:
tar -xvf zhcon-0.2.5.tar.gz
cd zhcon-0.2.5
zcat ../zhcon-0.2.5-to-0.2.6.diff.gz | patch -p1
cp ../winime.cpp ../winime.h src/
./configure
make # make过程中还会出现一系列库函数缺少头文件的问题,将对应头文件手动加入源码,重新执行make即可
sudo make install # 至此,安装完成
make distclean ## 清理工作
五、补 充:
在网上发现另外一补丁文件:zhcon-0.2.6-amd64.patch.gz http://forum.ubuntu.org.cn/viewtopic.php?t=124062
经测试,并不能解决64位OS zhocn中文输入法段错误的问题
六、参 考:
http://www.linuxeden.com/plus/view.php?aid=51502
http://www.newsmth.net/nForum/#!article/LinuxDev/29280
分享到:
相关推荐
**Ubuntu Server 12.04安装图解** Ubuntu Server 12.04,代号"precise pangolin",是Ubuntu发行版的一个长期支持(LTS)版本,为服务器环境提供了稳定、安全且高效的操作系统。这个版本的生命周期长达五年,确保了...
本文档主要描述的是 Ubuntu 12.04 Server 的硬盘安装过程,实现 Ubuntu 与 Windows 的双系统。下面是该安装过程的详细步骤和知识点。 硬盘安装前的准备 在开始安装 Ubuntu Server 12.04 之前,需要进行一些准备...
本文档介绍了如何使用U盘作为启动介质来安装Ubuntu Server 12.04系统,适合初学者,具有一定的实用价值。 首先,安装前的准备工作包括下载并安装一个名为UltraISO的软件。UltraISO是一个强大的工具,它能制作和编辑...
首先,Ubuntu Server 12.04默认安装时是一个无桌面环境的轻量级系统,以优化资源利用率和性能。然而,有时为了方便管理和日常操作,我们可能需要安装GUI。以下是如何进行这一过程的步骤: 1. **获取Ubuntu Server ...
在Ubuntu 12.04 LTS(一个基于Debian的Linux发行版)的i386架构上编译意味着这个OpenCV版本已经适应了32位系统。这很重要,因为虽然64位系统已经成为主流,但仍有大量32位系统在运行,尤其是在嵌入式设备或旧硬件上...
首先,确保你已经下载了Ubuntu Server 12.04的ISO镜像文件,可以从官方网站获取,32位版本和64位版本的URL如下(请注意,这些链接可能是失效的,因为时间已过去很久,你需要查找最新的可用镜像): - 32位:...
在本文中,我们将深入探讨如何使用图解教程安装Ubuntu Server 12.04,这是一个稳定且广泛使用的Linux操作系统版本,特别适合服务器环境。Ubuntu Server提供了丰富的开源软件包和工具,便于管理和部署各种服务。 ...
ubuntu+server12.04安装教程 本文介绍在一台windows xp环境台式机上,想安装Ubuntu Server12.04的双系统,用硬盘安装的步骤。
在64位系统中运行32位程序时,需要安装ia32-libs兼容包。这对于嵌入式开发中某些特定的32位应用程序或库文件是必须的。 8. 安装tree和chkconfig命令。tree命令用于以树状图的方式列出目录中的文件;chkconfig命令...
标题“Ubuntu 12.04 64位编译cm-10.2 总结”涉及到的是在Ubuntu 12.04 LTS(长期支持版)64位操作系统上编译CyanogenMod(CM)10.2的过程。CyanogenMod是一个基于Android开源项目的第三方操作系统,CM 10.2是针对...
本篇文档名为《Android_Build_Environment_on_Ubuntu_12.04_64-bit_Installation_SOP.pdf》,是一份标准操作程序(SOP),专为在Ubuntu 12.04 64位系统上安装Android 5.0之前的编译环境而设计。此文档特别以MTK...
Ubuntu 12.04 下安装 Nginx、Python、uWSGI 和 Django 的步骤 在本文中,我们将介绍如何在 Ubuntu 12.04 环境下安装 Nginx、Python、uWSGI 和 Django。这些技术栈组合是非常流行的 Web 应用程序开发环境。 一、...
在Ubuntu 12.04系统中,如果你需要将32位的Hadoop 2.2.0编译成64位,以下是一份详细的步骤指南。首先,确保你的系统支持64位编译,并且你已经具备了必要的权限。 1. **安装GCC**: 在编译任何软件之前,你需要安装...
使用ubuntu 12.04 64位环境安装 adb fastboot,.de文件即可使用。 将android设备连接至电脑,通过lsusb查看usb设备,如下红色部分对应的就是android设备。 重启adb服务,adb devices有设备说明adb安装成功 $adb kill-...
本文档总结了如何在Ubuntu12.04 64bit下搭建Android编译环境
ubuntu-12.04-desktop-i386.iso
andrid ubuntu12.04和14.04的编译环境,目前在开发android底层和中夹层,一直都用的整个编译环境,需要的小伙伴可以看看