浙林龙哥

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
http://www.okpos.com/wiki/pos/Unicon
汉化你的RedHat全功略(五)
http://www.unlinux.com/doc/xwindow/20051026/1547.html
Linux下Unicon安装流程
http://www.qqread.com/linux/y621925206.html

 

控制台汉化详细步骤
个人认为用unicon实现控制台汉化是最好的解决方案了。使用unicon需要改
动kernel,并且特定版本的unicon一般只能汉化特定版本的kernel。据我所
知,目前只有几个老的2.2.x版本的内核有相应版本的unicon可下载。因此,
要在新一些的内核,比如2.4版本以上,使用unicon还有一点麻烦。

我们知道,cosix3.0和turbolinux8分别用的是2.4.3和2.4.18内核,它们的
控制台用厂商定制的 unicon 汉化得很不错。可是 rh、mdk 等其它发行版,
厂商就没有提供定制的unicon了,能不能在这样的发行版中使用高版本(2.4
版以上)的汉化内核呢?答案是肯定的。

假定你手头有 cosix3.0 或 turbolinux8的光盘,下面以cosix3.0为例,在
你的系统中使用cosix提供的unicon汉化内核。使用turbolinux8 汉化的步骤
是相似的:


1、
循序安装cosix3.0中的第二张光盘中的kernel-source-2.4.3-3.i386.rpm、
第一张光盘中的pth-1.3.7-2.i386.rpm、unicon-3.0-1.i386.rpm:

rpm -ivh kernel-source-2.4.3-3.i386.rpm
rpm -ivh pth-1.3.7-2.i386.rpm
rpm -ivh unicon-3.0-1.i386.rpm

2、
cd /usr/src/linux-2.4.3
make menuconfig

在内核配置菜单中选中
Code maturing level options/prompt for ...

Console drivers/Frame-buffer support/UNICON Support
Console drivers/Frame-buffer support/VESA VGA ...
Console drivers/Frame-buffer support/VGA 16-color
保存内核配置

3、
编译内核
make clean
make dep
make bzImage
make modules
make modules_install

4、
cd /usr/src/linux-2.4.3/unicon/unikey
make
cd ../fonts
make

5、
用新编译的内核启动,然后循序执行如下命令:
insmod /usr/src/linux-2.4.3/unicon/unikey/unikey.o
insmod /usr/src/linux-2.4.3/unicon/fonts/gbk/encode-gbk.o
/usr/bin/loadunimap /usr/lib/unicon/direct.uni > /dev/null 2 > 1
/usr/bin/unicon --gbk

内核汉化完毕。

以后只需用上面编译得到的2.4.3内核启动,然后执行步骤5中的四条命令即可得
到内核汉化的控制台。

为方便,可以让计算机在启动时自动执行步骤5中的四条命令。


---------------------------
unicon在RedHat AS3UP3上2.6.9内核安装过程

#所有补丁及安装文件在
http://vdr.jp/d/unicon.html

http://www.okpos.com/wiki/pos/Unicon
下载,共有如下文件

pth-1.4.0.tar.gz
unicon-3.0.4-20010924.tar.gz
unicon-kernel-2.6.9-20041019.patch.bz2(此为2.6.9的内核补丁,其余内核需要打对应版本的补丁)
vd_unicon-userland-20031122vd.patch(此为unicon在2.6内核的补丁,不打此补丁在2.6.x内核根本编译不过)

#将以上文件全部传到/tmp目录

#将内核源文件传到/usr/src目录并解压
#进入2.6.9内核所在上级目录

cd /usr/src
ln -s linux-2.6.9 linux

#打内核补丁
cd /usr/src/linux
mv /tmp/unicon-kernel-2.6.9-20041019.patch.bz2 ./

bunzip2 unicon-kernel-2.6.9-20041019.patch.bz2

patch p1 < unicon-kernel-2.6.9-20041019.patch

#在编译2.6.9内核时选上(*表示编译进内核,M表示编译进模块)

选择"Code maturity level options"
选择"Prompt for development and/or incomplete code/drivers"(*) 
然后"Exit"

选择"Device Drivers"
选择"Graphics support"
选择"Support for frame buffer devices"(*)
选择"UNICON console support (EXPERIMENTAL)"(*)
选择"UNICON GB Font support"(M)
选择"UNICON GBK Font support"(M)
选择"VGA 16-color graphics support"(*)
选择"VESA VGA graphics support"(*)
选择"Console display driver support"
选择"Select compiled-in fonts"(*)
选择"VGA 8x8 font"(*)
选择"VGA 8x16 font"(*)

#然后选择其它想要编译的内核模块,保存后,开始编译内核

make mrproper
make menuconfig
make && make modules_install && make install

#编译pth线程库

cd /tmp
tar xzf pth-1.4.0.tar.gz
cd pth-1.4.0
./configure --prefix=/usr
make 
make install

#打unicon补丁

cd /tmp
tar xzf unicon-3.0.4-20010924.tar.gz
cd unicon-3.0.4
mv ../vd_unicon-userland-20031122vd.patch ./
patch p1 < vd_unicon-userland-20031122vd.patch

#编译并安装unicon

./configure --prefix=/usr 
make && make install
make data && make data-install

#添加unikey设备

mknod /dev/unikey c 10 202
chmod 640 /dev/unikey

#自动加载unicon,在/etc/rc.d/rc.local里添加如下语句

modprobe unikey
modprobe encode_gbk
loadunimap /usr/lib/unicon/direct.uni
uniconctrl --gbk tty0
uniconctrl --gbk tty1
uniconctrl --gbk tty2
uniconctrl --gbk tty3
uniconctrl --gbk tty4
uniconctrl --gbk tty5
uniconctrl --gbk tty6

#然后重新启动

reboot

#以下是卸载unicon,但是有些问题

#modprobe -r unikey
#modprobe -r encode_gbk
#modprobe -r vgastate
#modprobe -r vga16fb


 

Download

Screenshots
ChangeLog?
  • version 1.0.7
    • Some bug fix.
  • version 1.0.6
    • redhat loadunimap bug fix.
  • version 1.0.5
    • Small changes in symbol input method.
  • version 1.0.4
    • Added symbol input method.
  • version 1.0.3
    • Minor ime status patch.
  • version 1.0.2
    • Support hanja input method.
    • Small changes in unicon tools(bdftoh.c).
  • version 1.0.1
    • Changed unicon-init.ko script.(Now you can use korean in other ttys.)
  • version 1.0.0
    • unicon 3.0.4
    • 3bulsik bug is fixed.
    • Support dvorak keyboards.
    • Lots of bug are fixed.
  • version 0.1.3
    • Added 2.4.16 kernel patch. Check unicon-3.0.3/kernel-patches/.
    • Removed hanyangroudgothic font.
    • Removed getbdf and bdftoh.
  • version 0.1.1
    • New hangul automata. Now supports 3bulsik final.
  • version 0.1.0
Installation

pth
  • tar zxf pth-1.4.0.tar.gz
  • cd pth-1.4.0
  • ./configure --prefix=/usr
  • make
  • make install
kernel patch
  • cd /usr/src/linux
  • bzip2 -cd .../kernel-patches/unicon-kernel-2.4.16.patch.bz2 | patch -p1
  • make menuconfig
  • select "Support Frame Buffer Device and Unicon support"
  • make dep && make bzlilo && make modules && make modules_install
unicon
  • tar zxf unicon-3.0.4-20010924.tar.gz
  • cd unicon-3.0.3
  • bzip2 -cd ../unicon-3.0.4-korean-1.0.7.patch.bz2 | patch -p1
  • cp ../font_kscm16-xxx.h fonts/kscm/font_kscm16.h
  • ./configure --prefix=/usr
  • make
  • make install
  • make data
  • make data-install
  • cp scripts/unicon-init.ko /etc/rc.d/init.d/unicon (for korean)
lilo
    add vga=0x317 to /etc/lilo.conf and run lilo. see "Documentation/fb/vesafb.txt" in linux kernel source.
color 640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32k 0x310 0x313 0x316 0x319
64k 0x311 0x314 0x317 0x31a
16M 0x312 0x315 0x318 0x31b

Running
  • cp unicon-3.0.4/scripts/unicon-init.ko /etc/rc.d/init.d/unicon
  • /etc/rc.d/init.d/unicon start
Usage
  • Korean
    • Key bindings
      • Left Shift + Space : Korean/English input method toggle
      • Ctrl + Alt + (0 - 9) : Change keyboard type(2 bulsik/3 bulsik)
      • Hanja input : Ctrl + ,
      • Symbol input : Ctrl + F3
  • Chinese
  • Japanese
汉化你的RedHat全功略(五)

创建:2005-10-26 13:57:22
作者:Unlinux
来自: http://www.Unlinux.com



汉化你的RedHat全功略(五)

作者:Bigluo/Linux自由空间

一、机器配置  
  开始之前,我必须先要自报一下爱机的配置:PIII 450 + 128M Ram + 20G
HardDisk + Dimond V770 + Dimond S90。整个配置编译过程足足花了我24个小时,其中编译kernel,整个QT+KDE,Unicon Source花足了起码22个小时。所以,各位fans的机器如果还低于这个配置的话,应该想象一下编译这些sources所花的时间了。

二、关于这篇文章
 我是在自己的机器上成功的汉化了RedHat,但我并不保证凡是看完这篇文章的朋友都能。本文只是一个参考。本文所需要的软件包和补丁,你可以到我的主页http://www.linuxorb.net下载。

三、汉化后的RedHat是个什么样子?
 采用TurboLinux提供的Unicon 3.0加上内核提供的GBK code page,我们能够得到一个支持中文编码的内核,一个彻底的中文终端,还有Xwindows下中文文件名的支持。
 采用glibc-2.2,我们可以得到更好的中文locale支持。
 采用XFree86 4.01,我们可以得到更多显卡的支持和TrueType字体的支持。
 采用Qt-2.2.2 + codec patch + vim patch能够让KDE比较完美的支持中文显示和中文输入。
 采用KDE-2.01,我们能够得到一个比Win 98还漂亮的桌面环境。
 采用cxterm得到中文的xterm。

四、RedHat 7.0的中文locale的问题
 RedHat 7.0采用的glibc-2.1.96,对中文的支持已经是很好了。我们仅仅需要修改 /usr/lib/gconv/gconv-modules ,加入一行:

alias GB2312-1980// EUC-CN//

把LC_ALL环境变量export为Zh_CN,zh_CN.GB2312,zh_CN.GBK都可以支持简体中文。如果你做了上面的修改,启动到Gnome环境,看看Gnome是不是能够支持中文。最明显的是Gnome桌面的时钟变成中文的了。

五、重新编译内核
 RedHat 7.0所使用的内核是2.2.16,Unicon 3.0有Kernel 2.2.17和kernel 2.4.0test10的补丁,我使用的是kernel 2.2.16 + kernel 2.2.17-patch。如果你采用kernel 2.4test10 + kernel 2.4test10-patch,最后效果可能会更好一点。安装方法和本文介绍的类似。

1、下载Unicon-3.0release.tar.gz,并解包。
# cp unicon-3.0release.tar.gz /tmp
# tar -zxvf unicon-3.0release.tar.gz

2、确定安装了kernel-source,若没有,安装上。
# rpm -Uvh kernel-source*

3、取出其中相应的kernel patch,并给kernel打补丁。
#cp /tmp/unicon-3.0/kernel-patch/kernel-2.2.17.patch.gz /usr/src
#cd /usr/src
#gunzip kernel-2.2.17.patch.gz
#patch -p0<kernel-2.2.17.patch

4、编译内核
#cd /usr/src/linux
#make mrproper
#make menuconfig

Code maturity level options
+-Prompt for development and/or incomplete code/drivers

Console Driver
+-Support Frame Buffer Devices
+-Unicon Support
+-VESA VGA Graphics Console

File system->Native language support
+-Code page 936(GBK)

大多数情况下,我们的机器都是以单机方式运行的,所以在编译内核时,我建议是够用就好,比如说USB、SCSI、ISDN这些设备如果你没有的话,就可以不选了,Network driver这一项,大多数情况下,我们也只需要把PCI n2k或者是ISA n2k选上就可以了,其他的可以统统不要。

#make dep
#make bzImage
#make modules
#make modules_install

如果没有问题的话, /usr/src/linux/arch/i386/boot/下面会产生一个bzImage,这就是新内核了。

5、使用新内核开机
#cp /usr/src/linux/arch/i386/boot/bzImage /boot

编辑/etc/lilo.conf,加入:

image=/boot/bzImage
vga=771
label=zhLinux

注意:vga=771,771表示使用帧缓冲模式:256色,800x600分辨率。其它的显示模式参见下表:






640x480 800x600 1024x768 1280x1024
256 769 771 773 775
32K 784 787 790 793
64K 785 788 791 794
16M 786 789 792 795


#lilo
#reboot

然后选择新内核开机。

六、编译安装Unicon 3.0

1、我不确定unicon 3.0是不是需要pth的支持,反正到时候安装chinput的时候也需要它,就先把它安上再说。前一段时间有网友来信询问编译pth时遇到这样那样的问题,现在终于有了pth的rpm4包。安装pth-1.37-2.i386.rpm:

#rpm -Uvh pth-1.37-2.i386.rpm

2、由于 Unicon 包含核心组件,所以要做一下内核的备份。要不然当你以后再编译一些第三方内核模块程序时会出问题的。

# cd /usr/include
# mv linux linux.old
# ln -s /usr/src/linux/include/linux linux

3、我们还需要一些改动一下Unicon 3.0的原码,因为有些编译记号和头文件的错误。 在 unicon/unicon 目录内,需在 ImmHzInput.cpp 和 UniKey.cpp 的头部加入语句 :

#include <string.h>

在 tools 目录内,在 Makefile.in 中,用 CFLAGS += -V2.96 -I, 替换掉原来的CFLAGS标记。

4、然后开始编译 Unicon。

# cd /tmp/Unicon-3.0
# ./confugre --prefix=/usr/local
# make
# make install
# make data <--这一步需要一些时间
# make data-install

5、测试

# insmod unikey
# insmod encode-gb
# loadunimap /usr/local/lib/unicon/direct.uni
# unicon --gb

没有问题的话,就可以看到下方的输入条了。
#export LC_ALL=zh_CN.GBK
#date
你应该看到中文日期了吧!

6、让开机时自动启动Unicon

修改/etc/rc.d/rc.local,把下面的这段代码加到最后:

#Start UNICON support
insmod unikey
insmod encode-gb
loadunimap /usr/local/lib/unicon/direct.uni
/usr/local/bin/unicon --gb

这样的话,每次开机Unicon都会自动启动了。

七、使用中文man pages

1、cman是中国linux谈论推出的一个中文man pages计划,如今已经有它的0.2
版本了。但是他还是相当的不完整,大家如果想加入这个计划的话,可以到:http://www.cmpp.net看看。

2、解包
#cp cman-0.0.2-alpha.tar.gz /tmp
#tar -zxvf cman-0.0.2-alpha.tar.gz

3、安装cman
#cd /tmp/cman
#./install.sh

4、重新登陆
#Ctrl+d

5、测试cman
#cman socket

看看现在的中文socket man page吧。



Linux下Unicon安装流程

# 从Unicon 源码包中解压文件 tar xfz unicon-3.0.2-release.tar.gz cd unicon-3.0.2 # 给内核源码打补丁 1. 给Linux内核源码打补丁的方法∶ 把相应的补丁文件从unicon-3.0.2/kernel-patches目录下面拷贝到您的 Linux内核源码目录下面(例如∶/usr/src/linux). cp kernel-patches/unicon-kernel-2.2.17-1.patch.gz /usr/src/linux # 把unicon带的补丁打到linux内核源码中去.比如∶ cd /usr/src/linux gzip -dc unicon-kernel-2.2.17-1.patch.gz | patch -p1 2. 配置内核编译选项 cd /usr/src/linux make menuconfig 选择 "Code maturity level options" 选择 "Prompt for development and/or incomplete code/drivers" 按 "Exit" 退出此项 选择 "Console Driver" 选择 "Support Frame Buffer Devices" 选择 "Unicon Support" 选择 "VESA VGA Graphics Console" 按 "Exit" 退出此项 同时选择其它您想要编译的选项. 然后保存配置选项退出. 3. 重新编译内核并安装新内核. ...请查阅Kernel-HOWTO或者/usr/src/linux/README了解相关知识. 4. 下载并安装pth库 pth库是GNU可移植线程库.可以从ftp://ftp.gnu.org/pub/gnu/pth那里 得到.使用源码编译的方法如下∶ tar xfz pth-1.3.7.tar.gz cd pth-1.3.7 ./configure --prefix=/usr make make install 或者您可以从GNU/Linux发行版光盘中安装pth. 5. 安装unicon的步骤 cd unicon-3.0.2 ./configure --prefix=/usr make make install make data ; may take a long time... make data-install #重新起动您的计算机,进入framebuffer模式. reboot LILO:linux vga=771 ; 771 代表 800x600x8位(256)色模式 ; 791 代表 1024x768x16位(65536)色模式 ; 详情请查阅/usr/src/linux/Documentation/fb/vesafb.txt. 使用方法 ===== # 安装unikey模块 insmod unikey # 支持gb/gbk insmod encode-gbk #insmod encode-gb 是仅用于支持GB2312的. # 支持big5 insmod encode-big5 #加载direct.uni,请为每个控制台终端执行本命令. loadunimap /usr/lib/unicon/direct.uni #执行 unicon 加载输入法. unicon --gb # 您可以把下列语句加入 /etc/rc.d/rc.local 中 # 这样在启动系统时就能够自动启动unicon了. #--------------------------------------- insmod unikey insmod encode-gb loadunimap /usr/lib/unicon/direct.uni # 以下语句是使用其它字体支持的. # insmod encode-gbk # insmod encode-big5 # insmod encode-jis # insmod encode-kscm if [ -x /usr/bin/unicon ]; then echo "Starting Unicon3..." /usr/bin/unicon --gb >/dev/null 2>&1 fi #---------------------------------------- 如果您不能在 bash 命令行下输入中文, 您可以在您的 用户主目录下编辑 .inputrc 文件加入如下内容: set input-meta on set convert-meta off set output-meta on 如果您不需要任何输入法, 仅使用Unicon的显示部分, 则不需要运行 unicon 命令, 只需加载 Unicon 内核模块, 并切换到相应的显示编码即可. 例如: insmod unikey insmod encode-gbk loadunimap /usr/lib/unicon/direct.uni uniconctrl --gbk 上述命令将设置当前控制台为中文GBK编码显示. uniconctrl 是命令行方式的编码切换工具. uniconcfg 是菜单方式的编码切换工具. 您还可以同时加载多个字体模块, 并为不同的控制台设置 不同的编码显示. 如果有什么问题,请发信给 unicon@turbolinux.com.cn 祝您好运! 希望您喜欢 Unicon
posted on 2006-04-30 22:19  浙林龙哥  阅读(2007)  评论(1编辑  收藏  举报