Chinaunix首页 | 论坛 | 博客
  • 博客访问: 943377
  • 博文数量: 102
  • 博客积分: 8134
  • 博客等级: 中将
  • 技术积分: 1072
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-21 15:30
文章分类

全部博文(102)

文章存档

2019年(1)

2018年(1)

2014年(1)

2013年(2)

2012年(1)

2011年(2)

2010年(5)

2009年(9)

2008年(10)

2007年(70)

分类: BSD

2007-11-21 16:29:42

于 2007-11-04 21:19

Hi, all.

声明,本文来自: ,作者:Bibby(张煌彬)。欢迎转载,但请保留以上信息。

首先,你需要 OpenBSD 4.2 -release 的源码。这包括两个文件:src.tar.gz, sys.tar.gz。可以在各大镜像站点的 4.2/ 目录下找到。比如台湾的镜像:

下载后请将它们解压缩到正确的位置:
# tar zxf src.tar.gz -C /usr/src/
# tar zxf sys.tar.gz -C /usr/src/

然后,为了获取 locale support,你需要下载 locale 支持的补丁。补丁在以下两个地址都可以找到:

* ,原始站点
* ,OpenBSDonly.org 版主 congli 友情提供,严重感谢,够意思 ^_^

这里的 20071008 代表的是 OpenBSD CVS 代码的时间。我用 OpenBSD 4.2 -release 的代码来编译没有问题。所以就不需要严格按照它的要求,同步到 20071008 的代码树了。

下载后请解压:

# bzip2 -d OpenBSD-HEAD-citrus-20071008.tar.bz2
# tar xf OpenBSD-HEAD-citrus-20071008.tar

解开后会有三个文件:

citrus.patch
rename.patch
INSTALL-OpenBSD

其中,citrus.patch, rename.patch 都是代码补丁,而 INSTALL-OpenBSD 则是说明文档。大家只要照着 INSTALL-OpenBSD 里的说明,一步步操作就 OK 了。这里简单介绍一下:

# export BSDSRCDIR='/usr/src/'
# cd ${BSDSRCDIR}
#
# 开始打补丁啦
#
# patch -p0 -E -l -d ${BSDSRCDIR} < /root/citrus.patch
# patch -p0 -E -l -d ${BSDSRCDIR} < /root/rename.patch
#
# 更新  /usr/bin/make 程序
# 注意:这里 make depend 可能会提示没有 depend 这个参数。可以简单地乎略过去,以
#          make all install 来取代之
#
# cd ${BSDSRCDIR}/usr.bin/make && make depend all install
#
# 更新 /usr/share/mk/bsd.*.mk 文件
#
# cd ${BSDSRCDIR}/share/mk
# make install
#
# 更新 /usr/include/* 文件
#
# cd ${BSDSRCDIR} && make includes
#
# run make beforeinstall (fix hier)
#
# cd ${BSDSRCDIR} && make beforeinstall
#
# 更新 /usr/lib/libc.*
#
# cd ${BSDSRCDIR}/lib/libc && make depend all
#
# 注意,以下代码里的 major, minor 请自行以你系统上实际的版本来代替
#
# cp /usr/lib/libc.so.${major}.${minor} /usr/lib/libc.so.${major}.${minor}.orig
# make install
#
# 安装 /usr/bin/mklocale 程序
#
# cd ${BSDSRCDIR}/usr.bin/mklocale && make depend all && make install
#
# 安装 /usr/bin/mkcsmapper 程序
#
# cd ${BSDSRCDIR}/usr.bin/mkcsmapper && make depend all && make install
#
# 安装 /usr/bin/mkesdb 程序
#
# cd ${BSDSRCDIR}/usr.bin/mkesdb && make depend all && make install
#
# 重建整个系统
# 注意:以下命令将会重新 build 整个系统,会花比较长的时间。用虚拟机的朋友请
#          做好心理准备
#
# cd ${BSDSRCDIR} && make build

整个打补丁和编译的过程就以上这些步骤,只是比较费时间而已。但是我相信在编译完并配置好后,你会说一个字:值。也许两个字:SO COOL.

在编译完成之后,运行以下命令可以看到所有可用的 locale:

# locale -a

查看中文 locale:

# locale -a | grep zh

locale 的设置可以加在 ~/.profile 文件中。下面是我在 ~/.profile 文件中添加的部分:

# Part of file: ~/.profile

# 有部分朋友在打了补丁后无法使用 man,可以试试设置这个变量
export PAGER=less

# 以下两个都是设置 ksh 的 history 属性
export HISTFILE=~/.history
export HISTSIZE=1000

# 设定 locale,需要重启系统才会生效
export LC_MESSAGES=C
export LANG=zh_CN.GB18030

export LC_CTYPE=zh_CN.GB18030

我个人比较喜欢 fcitx 中文输入法,但是这次没成功 -- 编译安装都没问题,也可以打字到程序上,但是打出来的是乱码。和我在 RHEL5 上出现的情况一样。所以应该是设置的问题,和 locale 没有关系了。只好退而求其次,用上了 Scim。

Scim 的安装,大家可以到它的官方网站: 下载。
我个人使用拼音输入法,所以只需要安装两个文件:

scim-1.4.x
scim-pinyin

输入法模块可以根据自己的需要进行安装。五笔输入法在 scim-tables 这个包里。

编译参数没有什么特别的,我都是这样搞定的:

# ./configure --prefix=/usr/local
# gmake
# gmake install

这里必须用 gmake 来编译(感谢 congli 测试和提醒)。必须的包有:

gmake
libtool
gettext
libiconv
gtk+2
# 还有一些没补全,请大家帮忙补全

编译安装好 scim, scim-pinyin 之后还需要让 GTK 程序能够找到这个输入法,需要执行以下命令:

# gtk-query-immodules-2.0 >/var/db/gtk-2.0/gtk.immodules
关于输入法方面的设置:
# File: ~/.xinitrc
export LC_CTYPE=zh_CN.GB18030

# 注意大小写
export XMODIFIERS="@im=SCIM"
export XIM=scim
export XIM_PROGRAM=scim
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim

exec gnome-session # 启动 GNOME
#wmaker                    # 启动 WindowMaker
#fvwm                        # 启动 FVWM
#cwm                         # 启动 cwm。OpenBSD 4.2 自带的非常简单的 Window Manager
#startkde                   # 启动 KDE
#startxfce4                 # 启动 XFce4

很奇怪,Scim 不需要在 .xinitrc 里指定启动的程序,它会自动被调用。

简单的中文美化:
首先,复制你喜欢的字体到 ~/.fonts/ 目录下,并使用命令生成字体的信息:

$ cd ~/.fonts
$ mkfontscale >fonts.scale
$ mkfontsdir > fonts.dir
# sudo fc-cache -fv
然后备份你的 /etc/fonts/fonts.conf 文件:
# cp /etc/fonts/fonts.conf /etc/fonts/fonts.conf.bak

将这里的 Fonts.conf 文件下载后另存为 /etc/fonts/fonts.conf 文件。

重启 X-Window,再登录进去试试看效果。

OK,That's all. Reboot your system now, and test your chinese env.

Enjoy...

 

贴几个图吧,馋死你们

PSEmacsgvim 中都有点问题。
Emacs 无法输入(打开中文文件是没问题的)。
gvim 打开中文文件乱码,输入也是乱码。必须在 ~/.vimrc 中加一句:

set encoding=cp936


阅读(1152) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~