zoukankan      html  css  js  c++  java
  • Linux的Unicon资料

    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
  • 相关阅读:
    VC++ 进度条的使用
    VC++ 知识点
    VC++ 遍历目录
    VC++ 目录选择对话框
    VC中的树形控件
    C++文件输入输出流
    一些有用的Sql语句
    C语言 单引号和双引号的区别
    如何让自己成为一名黑客高手全集
    顶尖黑客的故事
  • 原文地址:https://www.cnblogs.com/huqingyu/p/389726.html
Copyright © 2011-2022 走看看