Knoppix中文版制作方法HOWTO
巴蔓子(
mailto:imaq at 21cn dot com, QQ:15704509)
欢迎 提出改进建议
这篇文章的中间一部分也可以用于Knoppix安装到硬盘后的中文化
(注意: Knoppix现在使用knoppix-installer进行硬盘版本的安装,原来的knx-hdinstall已经不推荐使用)
说明:
1。因为我的ADSL的包月没有办下来,所以暂时不能上载我做的版本
另外我觉得目前Knoppix的中文版本已经有好几个了, 比如Knoppix-cn, 3Anoppix,bv1al, hklug等等
我不想再添乱——我期望的是能够把这些力量结合起来,大家合力来做一份,
或者把我所做的一些改动和功能增强合并到其他的版本中间去
2。许多朋友问到怎么用ISO将Knoppix安装到硬盘上去,我常用的方法是用vmware的physiscal disk方式,
用Knoppix的ISO启动后运行knoppix-installer进行安装
不过,提醒大家一句,Knoppix还是不太适合安装在硬盘上玩,除非你喜欢常常升级
因为它基于debian unstable,里面的软件包随时都在升级,
可能仅仅过两个月,你要安装某个软件时,你发现你不得不升级很多很多软件dpkg才能让你继续安装
3。我将在Knoppix-3.3上修改过的脚本、配置和自制的一些软件包做成一个补丁包,可点击 此处下载, 简单说明在这里
(我提供它仅仅是希望它对网友们有参考意义,我没有能力对它可能造成的损失承担任何责任,包括电脑爆炸、吸引拉登来袭等, :-)
Oct 26, 2003 (2.1)
新增内容:
* 其他软件中文支持/ 中文字体支持
* 同时支持中文和非中文环境
* 没有Knoppix光盘时如何定制(参考了 hiweed的文章)
Oct 19, 2003 (2.0)
在Knoppix-3.3上制作中文版本后根据实践进行了更新
新增内容:
* 用apt-get升级、安装新软件
* 用户级别的i18n设置(克隆自Mandrake)
* 光盘启动时指定XIM
* 光盘启动时自动启动输入法
* OpenOffice的中文字体显示(从网上看到的,但忘了是哪里了。如果您知道,请 来信告知)
目录
准备工作
0. 启动Knoppix
1. 拷贝光盘上的内容到硬盘
2. 配置网络
3. chroot
4. 删除一些软件包
5. 如何安装软件包
6. 添加中文支持
8. "打完手工"
9. 制作cloop压缩映像文件
10. 制作新的光盘
11. 测试
12. 刻盘
补充说明
遗留问题
参考文档
0. 启动Knoppix
1. 拷贝光盘上的内容到硬盘
2. 配置网络
3. chroot
4. 删除一些软件包
5. 如何安装软件包
6. 添加中文支持
1) 中文环境的配置
2) 中文输入工具的安装
3) 中文字体的安装与配置
4) 终端模式下的中文系统
5) X下的终端
6) KDE/Mozilla/OpenOffice的中文支持
7) 其他中文相关软件
8) 其他中文支持问题
7. 添加其他软件
2) 中文输入工具的安装
3) 中文字体的安装与配置
4) 终端模式下的中文系统
5) X下的终端
6) KDE/Mozilla/OpenOffice的中文支持
7) 其他中文相关软件
8) 其他中文支持问题
8. "打完手工"
9. 制作cloop压缩映像文件
10. 制作新的光盘
11. 测试
12. 刻盘
补充说明
遗留问题
参考文档
准备工作:
1) 首先你得已经有一张Knoppix光盘, 可以在 http://www.knopper.net/knoppix/上找到很多镜像站点linuxeden, linuxforum和 linuxfans上也可以下载到
P.S: 如果你想要中文版本的Knoppix,可以到ftp://ftp.hk.debian.org/knoppix上去找,
Nicklaser的knoppix-cn, 繁体版本的3Anoppix等各个中文版本都有
另: linuxforum上有Nicklaser制作的 中文 Knoppix ISO文件
(当然,如果你没有一张Knoppix光盘,也是可以做的,只是复杂一点,具体见文末)
2) 第二个问题就是硬盘空间,
- 2.5G的Linux ext2/ext3分区,用于存放临时的文件系统,安装、配置软件都在此进行
(也可以不是独立分区,某个linux分区上有这么大的剩余空间也行)
- 1G以上的Linux swap分区,create_compressed_fs需要它
- 700M左右的空间用于存放cloop压缩文件系统镜像
- 700M左右的空间用户存放最终的光盘
3) 软件包
如果你没有宽带的话,需要先准备好要添加的软件包,
包括中文输入法、汉字字体包、词典工具、kde和openoffice的中文支持包等等
因为Knoppix是基于Debian的,所以这些软件包可以从 ftp://ftp.debian.org/debian/pool下可以下载到,
各个debian镜像也可以, ftp.hk.debian.org是个挺快的镜像(上面也有 knoppix)
如果你找不到某个包在什么目录的话,可以到 http://packages.debian.org上搜索
0、启动Knoppix
用Knoppix启动,机器性能较差的机器最好 启动到一个不太耗资源的桌面(启动时敲knoppix desktop=wmaker或者desktop=xfce),或者干脆knoppix 2启动到无X的状态
后面的操作都需要root用户才能进行:切换到Console即可,knoppix已经用root登录到Console了
(桌面用户是knoppix,用sudo passwd更改root口令后可以用su切换成为root用户)
1、拷贝光盘上已有的内容
将Linux分区mount上来,假设挂接点位置是/mnt/hda4(我们将用这个分区来存放要做的文件系统)(注意mount时要避免nodev选项, 带上设备文件名就可以避免: mount /dev/hda4 /mnt/hda4
否则在后面你将得到很多 /dev/null permission denied这样的错误信息)
然后cp -Rp /KNOPPIX /mnt/hda4将光盘上的cloop映像文件系统拷贝到目标盘
(如果某个现有Linux分区上有2.5G以上空间也可以,先在该分区上建立一个remaster目录,
然后cp -P -r /KNOPPIX /mnt/hda?/remaster后面步骤类似。)
2、配置网络
为了下载要添加的软件包,要先配置网络,在菜单K/Knoppix/Network-Internet有各种连接方式的配置工具如果是通过局域网接入,运行netcardconfig即可
如果是ISDN接入,运行isdn-config
如果通过ADSL接入,运行/usr/sbin/pppoeconf (配置好以后,可以通过poff关闭连接,pon打开连接,
plog查看日志,ifconfig ppp0查看状态)
3. chroot
$ chroot /mnt/hda4/KNOPPIX
这样你后面的工作将以/mnt/hda4/KNOPPIX为根目录
然后:
$ mount -t proc /proc proc
在chrooted环境下不再需要配置网络,你只需要将DNS服务器的名字添加到/etc/resolv.conf就可以了
或者在chrooted环境外面(用Alt+Fx切换到其他控制台)拷贝/etc/resolv.conf到 /mnt/hda4/KNOPPIX/etc/resolv.conf
4、删除一些软件包
为了挪出空间供我们安装中文支持包,我们必须删除一些软件包。可以用如下命令找出那些包最占空间
$ dpkg-query -W --showformat='${Installed-Size} ${Package}/n' | sort -n
我用的是这个命令,可以看到包的简单描述信息
$ dpkg-query -W --showformat='${Installed-Size} ${Package}/t ${Description;50}/n' | grep ^[0-9] | sort -n
我删除了如下一些包(用dpkg -P pkgname 即可删除)
tetex (包含tetex-bin, tetex-base, tetex-extra, tetex-eurosym and dvipdfm)
lyx
openoffice-de-en 这是Knopper自己制作的一个版本,我们无法在上面添加中文支持包
selflinux 这是一套德文的Linux文档
qcad professional CAD System
kde-i18n-it/ru/nl/pl/da/tr/de Italy/Russian/Dutch/Polish/Danish/Turkish/German (只保留了es/ja/fr)
5、如何安装软件包
如果你有宽带
建议用apt-get来添加软件包,它具有一个比较智能的判断,当发生依赖关系冲突时,它会选择对系统破坏最小的升级方式apt-get的简单用法是:
apt-get update 从Debian文件服务器更新软件包信息
apt-get dist-upgrade 升级所有已安装软件包
apt-get install <pkgname> 安装某个软件包, apt-get会自动下载依赖包
apt-get remove <pkgname> 删除某个软件包
请先编辑/etc/apt/sources.list,列出软件服务区位置信息。如下是我的配置
## Security updates for "stable" |
然后运行apt-get update即可更新软件版本信息.如果你所基于的Knoppix较旧,执行apt-get dist-upgrade对系统进行一次全面升级(但Knoppix专有的包无法升级).
然后就可以运行apt-get install pkgname 安装你需要的软件了
比如apt-get install zhcon,它会自动下载zhcon和libgii, libggi等软件包,然后进行安装
5b 如果你没有宽带
需要先下载需要添加的软件包,用dpkg -i 进行安装dpkg的用法简介如下:
列出已有软件包:
dpkg -l [pattern]
比如dpkg -l 'kde-i18n-*'可以列出所有kde的i18n支持包
安装软件包:
dpkg -i xxxx_i386.deb dpkg -i xxxx_all.deb
删除:
dpkg -r pkgname 但保留配置文件
dpkg -P pkgname 删除所有文件,包括配置文件
重新配置:
dpkg --configure pkgname
(一般安装某个软件包后因为缺少依赖包而会导致配置失败,所以安装依赖包后需要手动进行配置)
全部:
dpkg --pending action 按标记状态执行操作,action可以是
配置、
删除、彻底删除
查看包的说明信息:
dpkg -s pkgname
查看包的文件列表:
dpkg -L pkgname
6、安装中文支持软件
注:1. 这里提到的软件包都是Debian服务器上已经有的(除了fcitx等几个例外)
当然你也可以自己编译你喜爱的软件然后打包成deb(比rpm要容易得多了),
而且如果某个软件提供的二进制包可以在上面运行的话,也可以用dpkg-deb打成deb包,
不需要重新编译(rpm包好像必须要编译才能得到?)
——但因为Debian大家用的不多,这里就说简单易行的
2. 这里同时提供了简、繁中文支持,如果你觉得你需要更多空间来装些自己喜欢的程序
可以只选择其中一种
1)中文环境的配置
我目前采用的语言参数还是zh_CN.GB2312, 因为目前Debian的X系统还不支持zh_CN.GB18030[ FIXME: GBK ? ]
(参见: 关于locale设置的废话)
修改/etc/init.d/knoppix-autoconfig,找到以cn)开始的那行,
在LANG的下面添上一句
LANGUAGE="zh_CN.GB2312"
如下是我的修改结果:
cn|zh_CN.*) # Simplified Chinese version COUNTRY="cn" LANG="zh_CN.GB2312" LANGUAGE="zh_CN.GB2312" # make GTK+, WindowMaker, etc work properly KEYTABLE="us" XKEYBOARD="us" KDEKEYBOARD="us" CHARSET="gb2312.1980-0" # Additional KDE Keyboards KDEKEYBOARDS="us,cn,es,fr" # Allow XIM name specification via boot prompt command line # thus we can use xcin (xim=xcin-zh_CN.GB2312) XIM="$(getbootparam xim 2>/dev/null)" [ -n "$XIM" ] || XIM="fcitx" XMODIFIERS="@im=$XIM" ;; |
建议借鉴RedHat/Mandrake等版本的作法,允许用户级别的 i18n配置(而不是仅系统级别的/etc/sysconfig/i18n)
对/etc/profile中if [ -f /etc/sysconfig/i18n ]字样处作如下修改:
sourced=0 if [ -n "$GDM_LANG" ]; then sourced=1 LANG="$GDM_LANG" else # only source one of the possible files, and in that order; # if system wide and user config are mixed and different, umpredictable # things will happen... for langfile in $HOME/.i18n /etc/sysconfig/i18n ; do [ -f $langfile -a "$sourced" = "0" ] && . $langfile && sourced=1 done fi if [ "$sourced" = 1 ]; then ..... # export language environment variables |
2)、中文输入工具的安装
先要修改/etc/profile
[ -n "$LINGUAS" ] && export LINGUAS || unset LINGUAS |
小企鹅输入法 fcitx:
推荐: fcitx-1.8.5小企鹅输入法 fcitx(即原来的gWuBi) ,支持五笔和拼音输入,支持动态词频调整
(主页位置: http://www.fcitx.org/,Debian现在已经收录小企鹅输入法了)
推荐用它主要是因为可以不用管XMODIFIERS设置为Chinput还是xcin或者xcin-zh_CN.GB2312
(但如果在XMODIFIERS设置之前起动fcitx,那么就要在启动应用程序之前设置XMODIFIERS="@im=fcitx")
chinput和xcin
可选: chinput_3.0.2 (and unicon-im_3.0.4, libpth2)推荐: xcin_2.5 (and libtabe2/ libtabe-db)
chinput主要在大陆用得比较多,xcin在台湾用的较多
但两者都同时提供GB2312和Big5的输入支持
注意xcin不要安装xcingb-2.3版本,这是过时的版本,用于xcin+crxvt的,不是基于XIM协议的。
注意,因为Debian系统中对于8x16这个字体别名存在错误映射,导致Chinput无法加载8x16字体而无法运行
所以要修改一下/usr/X11R6/lib/X11/fonts/misc/fonts.alias
- 8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-15
+ 8x16 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
当然修改/usr/lib/ZWinPro/Chinput.ad将8x16改为别的字体的名字也可以
如果采用chinput的话,建议编译一个zwincontrol,
它是chinput的输入控制条,切换输入法、输入状态比较方便,并且有手写输入和虚拟键盘功能
本来是ZWinPro的一部分,但可以单独编译,可以到TurboLinux的 ftp站点去下载
不过3.2版本以后的源代码已经删除了手写输入和虚拟键盘功能了
我是从原来Anthony Lee <anthonylee@eLong.com> 为 RedHat7.1 提供的汉化包
(原来在 http://savageranthony.myetang.com 但现在好像已经不在了)里面抽了个zwincontrol出来,
放在这里: zwinpro_3.2-2_i386.deb
注意里面提供的GNOME和KDE的applet不能在Knoppix里面使用,因为前者需要GNOME panel,后者又是在KDE 2下编译的
(3.3的源代码里面也没有这两个applet,但可以在3.2的源代码里可以找到)
其他输入法
xsim: 可选已经被Debian收录,但它需要向用户目录拷贝好几M的数据文件,所以不适合在光盘上运行
如果仅打算供安装到硬盘后使用,倒是可以添加进去
SCIM:
这个输入法不错,但它的中文输入法是closed source,禁止redistribution
红旗输入法套件(含紫光拼音):
Debian的X系统目前还不支持GB18030,所以无法运行
允许不同的XMODIFIERS设置
Knoppix里的缺省配置是将XMODIFIERS设置为"@im=Chinput"的,如果要使用xcin,需要自己修改/etc/init.d/knoppix-autoconfig:
如果是用繁体中文,找到"@im=Chinput"处,将XMODIFIER设置为@im=xcin即可
如果是用简体中文,XMODIFIERS需要设置为@im=xcin-zh_CN.GB2312
对于习惯使用xcin的朋友, 可以将缺省的XMODIFIERS设置为xcin-zh_CN.GB2312
修改一下/etc/init.d/knoppix-autoconfig就可以了
我的方法是让用户可以在启动时可以给出这样的启动选项: xim=xcin或者xim=xcin-zh_CN.GB2312
同样也是修改/etc/init.d/knoppix-autoconfig
将
XMODIFIERS="@im=Chinput"改为:
# Allow XIM name specification via commandline
# thus we can use xcin (xim=xcin-zh_CN.GB2312)
XIM="$(getbootparam xim 2>/dev/null)"
[ -n "$XIM" ] || XIM="Chinput"
XMODIFIERS="@im=$XIM"
这样就可以在启动时指定xim参数了,不指定的情况下仍然是Chinput,可以使用chinput和fcitx
输入法自动启动
对/etc/X11/Xsession.d/45xsession在结尾处作如下修改: exec $XFWM } + if [ -n "$XMODIFIERS" ]; then + export XMODIFIERS + case $XMODIFIERS in + @im=Chinput) chinput & ;; + @im=xcin*) xcin & ;; + @im=fcitx*) fcitx & ;; + @im=xsim*) xsim & ;; + esac + fi # Check for sufficient Real Memory for starting KDE or GNOME # (We don't want to end in a swap-a-lot loop.) |
但这个脚本仅对从光盘启动运行有效,这个脚本在Knoppix安装到硬盘(knoppix-installer)后不复存在,
我还是从Mandrake借了它的/etc/X11/xinit/XIM 来,拷贝为/etc/X11/Xsession.d/95XIM
其他
另外,如果要让KDE 3的程序能够接受输入法的输入,需要设置XIM Input Style请先下载并安装 qt3-qtconfig包,
运行时启动qtconfig,将XIM Input Style设置为Over the spot或者Root既可
推荐设置为Over the spot, 原因你用chinput一试便知
不过有一个比较简单的方法: 直接修改/etc/skel/.qt/qtrc
在[General]一节中添加XIMInputStyle=Over The Spot既可
(这个方法我还没有验证过,是观察qtconfig所做的修改得出的结论)
3)、中文字体的安装配置
点阵字体
先看看Knoppix已经提供的中文字体:xfonts-cjk 现在已经包含在xfonts-base包里面了
主要提供了gb16st, gb24st, gb16fs (就是16号、24号宋体和16号仿宋)
可选: xfonts-intl-chinese International fonts for X -- Chinese (6256K)
但xfonts-intl-chinese提供的字体的编码都很奇怪,不是简单的gb2312.1980或者big5
而是gb2312.1980&gb8565.88, big5.eten, cns11643.1992, SiSheng_CWNN, OMRON_UDC_ZH
也不知道有用没用(但rxvt-ml等包对它有依赖)
再用xlsfonts | grep gb2312看看,没有发现什么有价值的(16号的字太大了,而且不好看)
大家可以到linuxfans.org上下载RedOffice的pcf字体包( here: 直接下载链接),
里面提供了12、14、16、20、24号字体(但都是一般宋体,没有楷体,也没有粗、斜等风格)
将它们(连同fonts.dir, fonts.scale)拷贝到/usr/local/share/zhfonts/pcf下,
然后在/etc/X11/XF86Config-4.in里加入这个路径名就可以了
(建议自己编辑一个fonts.alias,给那些又臭又长的字体名给个简短的名字,比如rofont12, rofont16等等)
[ 高级话题: 字体名称里各项的含义 FIXME: where?]
[ 另: TurboLinux的pcf字体包 zh-pcf也不错, 在 这里可以找到 (直接下载链接)
提供了宋体、仿宋、楷体和黑体,还有繁体,但只有14, 16和24三种大小
注: TurboLinux的ttf字体包zh-ttf是不能再分发的(好像网上也找不到源码包)]
TTF字体
ttf-arphic-gbsn00lp (简体中文 宋体,简体中文下必须)ttf-arphic-gkai00mp (简体中文 楷体)
ttf-arphic-bsmi00lp (繁体中文 细明体,繁体中文下必须)
ttf-arphic-bkai00mp (繁体中文 楷体)
安装ttf-arphic后,需要自己进行配置
先在/usr/share/fonts/truetype/arphic目录下执行 ttmkfdir > fonts.dir && cp fonts.dir fonts.alias
[ 高级话题: TTF字体的fonts.dir 的高级配置 FIXME: where? ]
然后修改下面几个配置文件
/etc/X11/XftConfig: 添加
dir "/usr/share/fonts/truetype/arphic"
/etc/fonts/ local.conf: 添加
<dir>/usr/share/fonts/truetype/arphic</dir>
/etc/X11/XF86Config-4.in: 添加
FontPath "/usr/share/fonts/truetype/arphic"
并注释掉原来的
Load "freetype"
行
(以及type1???),添加
Load "xtt"
为了减小新增字体引起的应用程序(指用到fontconfig的程序)启动减慢,需要给这些字体创建fonts.cache
执行
$ fc-cache /usr/share/fonts/truetype/arphic
即可
也可以安装Windows的simsun字体,配置方法与其他Linux版本类似,很多文档讲到了这个,自己找一下吧
(可以参考 Nicklaser 的配置文档)
[ 我编写了一个脚本winfonts-config.sh,可以为Knoppix自动配置windows下的simsun和tahoma字体,
并且略为修改了/etc/init.d/knoppix- autoconfig,使得可以在Knopix启动时指定这个选项 ]
firefly中文字体补丁
Firefly 极大地改进了xft, pango, qt等软件对中文字体的支持 ,但debian上就需要自己来编译了Linux公社上 提供了 xft-2.1.2/pango-1.2.1/freetype-2.1.4/fontconfig -2.2.0的debian包
Qt, Mozilla和OpenOffice的编译工作量比较大,俺自己是懒得动了
4). 终端模式下的中文系统
Debian里提供的中文终端,有zhcon, cce, yh, chdrv这几种选择。推荐: zhcon_0.2 (需要 libggi/libggi-target-x/libggi-target-fbdev/libgii/libgii-target-x)
推荐zhcon, 兼容性好,使用方便,支持多种内码,
支持framebuffer但不象unicon那样要内核模块支持
[ May 12: zhcon_0.2.3已经有了debian版本,但这个版本仍然不支持Linux下的鼠标,感觉也不如0.2稳定 ]
可选: cce_0.36
可选: yh_3.1 (炎黄中文平台)
可选: chdrv_1.0.13p (and chdrvfonts)
后面这三个是备选的,它们都是基于svgalib的,有如下一些缺点:
某些显卡可能不被svgalib支持; svgalib的使用需要root权限; 需要配置libvga.config等配置文件
5). X下的终端
推荐:
QTerm Linux下上BBS的工具,类似Windows下的CTerm,我用它逛
海纳百川(
bbs.zju.edu.cn, Firebird BBS)。
在 http://qterm.gnuchina.org/上可以下载到新的版本
注意QTerm 0.2.0是在标准qt3下编译的,但Knoppix带的是支持多线程的libqt3-mt
在/usr/lib下执行
ln -s libqt-mt.so.3.1.1 libqt.so.3 就可以运行了,
我用到目前还没有发现问题(但opera-7.1.0-shared就没有这么幸运了)
推荐: rxvt-ml multi-lingual VT102 terminal emulator,建议安装
xcin附带了几个脚本 xcinterm-gb, xcinterm-big5等等,可以自动帮你设置XMODIFIERS,
启动xcin,然后打开crxvt(由rxvt-ml提供),一般都能让你成功地输入中文(至少在它打开的这个crxvt里面)
可选: cxterm-gb/big5 因为自带输入法,不需要配置xcin/chinput等,建议安装
虽然是过时的东西,但有时还是很有用的: 有时输入法实在调不出来,又急着要敲点中文,就用它了。
可选: aterm-ml Afterstep XVT (可选)
可选: wterm-ml A multi-lingual rxvt based, color xterm replacement,
optimised for use under WindowMaker.(可选)
6). KDE、Mozilla、OpenOffice的中文支持
Knoppix 3.3采用了KDE 3.1.3,对应的中文支持包: kde-i18n-zhcn/ kde-i18n-zhtw装上即可
Mozilla的中文支持包Debian目前最高只有1.2的版本,但Knoppix 3.2带的Mozilla是1.3的
选菜单Edit->Preference->Appearance->Languages & Contents,然后选Download More... 就可以了,
[FIXME: 我只能在线安装,不知道怎样下载下来单独安装,也就没法做成deb包]
有时Mozilla显示中文网页时有些中文字变成了方块,部分是因为网页上显式指定了"宋体"这样的字体引起的,
解决方法是运行时设置 Preferences->Appearance->Fonts里取消Allow documents to use other fonts
或者在/etc/skel/.mozilla/knoppix/ujixazk6.slt下创建prefs.js,里面写上:
user_pref("browser.display.use_document_fonts", 0);
[ FIXME: 改用OpenOffice的firefly版本??? ]
Knoppix 自带的OpenOffice是Knopper自己制作的一个版本,我们无法在上面添加中文支持包,
需要先删除openoffice-de-en包,然后安装debian提供的openoffice.org
需要下载 openoffice.org, openoffice.org-bin, openoffice.org-l10n-zhcn, openoffice.org-l10n-zhtw这几个包,
openoffice-help-en是可选的,(手工下载的话,在 /debian/pool/ contrib/o下可以找到)
注意OpenOffice比较大,这几个包安装后大约有200M,所以可能需要再删除一些其他的软件包
不装Mozilla和OpenOffice的中文支持包其实问题也不大,只要配置好中文字体,可以输入、显示中文就可以了
——随个人喜好吧
(要让Knoppix里面的OpenOffice能够正确显示中文,需要在 /opt/openoffice/share/fonts/truetype中添加中文字体配置
具体做法是在这个目录建立中文字体文件的链接,然后运行ttmkfdir得到fonts.dir,再将fonts.dir拷贝为fonts_dir.global即可)
7). 其他中文支持软件
词典:
推荐: pydict_0.2.5.1 (and python-gdk-imlib_0.6.11/python-gtk_0.6.11)
推荐: stardic_1.3.1 星际译王, 可以抓词哦(看一下它的帮助就知道怎么用了)
可选: stardict_2.0 星际译王 2.0,完全重写过的,支持多个字典,接近金山词霸了
用GNOME 2.x做GUI. 但debian服务器上目前只有2.0pre2版本,没有最新的2.0正式版
到它的主页 stardict.cosoft.org.cn下载源代码编译一个吧
[ May 12: 按debian上May 8的 新闻, 星际译王2.0已经进入Debian unstable了,但版本一直没有更新 ]
中文文档:
debian-guide-zh-s
debian-zh-faq-s_1.6 (这份FAQ还是很重要的)
doc-linux-zh-s_2001.01-1.1
doc-linux-zh-text_2001.09-2003.01
一些小工具
cpanel 好像没有什么大用途
hztty 终端内码自动转换工具,如果你不是用zhcon的话,可以利用它和cce结合访问台湾的BBS
yiyantang 一言堂(名字不错!),类似hztty
zh-autoconvert Big5<->GB 文件转换工具
几个小玩意儿
fortune-zh 唐宋诗,用fortune tang300或者fortuen song100可以看到
gtans 七巧板
kmahjongg/gnome-mahjongg 麻将,这是个tile game
mah-jong 这个是真正的麻将了,可以网络对照(也可以单机玩)
pyching 易经 ;-)
8). 其他中文支持问题
注意/etc/skel目录下是用户的缺省配置文件,它们将被拷贝用用户的 HOME目录我们只要在这里修改配置就可以了,缺少配置文件的可以自行添加
比如xmms的中文字体,你可以添加一个.xmms/config文件
[xmms] playlist_font=-adobe-helvetica-bold-r-*-*-10-*,rofont12 use_fontsets=TRUE mainwin_use_xfont=TRUE mainwin_font=-adobe-helvetica-medium-r-*-*-8-*,rofont12 |
同样,我们可以为WindowMaker, XFCE提供这样的配置文件
不过更简单的做法还是你硬盘上可运行的Linux上试验,然后将配置拷贝过去
我用这种方法对KDE, Mozilla, WindowMaker等都做了支持中文的配置,不需要用CD启动后再配置
-
添加FAT文件系统的中文文件名支持:
但实际运行时/etc/fstab是自动产生的,所以要修改/usr/sbin/rebuildfstab
--- rebuildfstab.orig 2003-04-20 11:30:22.000000000 +0800 +++ rebuildfstab 2003-05-08 17:13:56.000000000 +0800 @@ -67,8 +67,15 @@ [ -d "$mountpoint" ] || mkdir -p "$mountpoint" 2>/dev/null options="noauto,users,exec" case "$fstype" in - ntfs) options="${options},ro,uid=knoppix,gid=knoppix" ;; - vfat|msdos) options="${options},umask=000,uid=knoppix,gid=knoppix" ;; + ntfs) case $LANGUAGE in + cn|tw|zh_*) options="iocharset=utf8,${options},ro,uid=knoppix,gid=knoppix";; + *) options="${options},ro,uid=knoppix,gid=knoppix";; + esac ;; + vfat|msdos) case $LANGUAGE in + cn|zh|zh_CN*) options="iocharset=gb2312,codepage=936,${options},umask=000,uid=knoppix,gid=knoppix" ;; + tw|zh_TW*) options="iocharset=big5,codepage=950,${options},umask=000,uid=knoppix,gid=knoppix" ;; + *) options="${options},umask=000,uid=knoppix,gid=knoppix" + esac ;; swap) options="defaults" ;; esac echo "$ADDEDBYKNOPPIX" |
然后修改/etc/init.d/knoppix-autoconfig,让它调用rebuildfstab时传入LANGUAGE的值
# Start creating /etc/fstab with HD partitions and USB SCSI devices now
echo -n "${BLUE}Scanning for Harddisk partitions and creating ${YELLOW}/etc/fstab${BLUE}... "
LANGUAGE=$LANGUAGE rebuildfstab -r >/dev/null 2>&1
if [ -e /var/run/rebuildfstab.pid ]; then
# Another instance of rebuildfstab, probably from hotplug, is still running, so just wait.
sleep 8
fi
-
配置桌面图标
(/etc/skel下是用户配置的模板文件)
如果selflinux包已经删除的话,selflinux.desktop也可删除。
添加:比如要添加Debian Chinese FAQ的图标,可以建立一个Chinese FAQ.desktop
[Desktop Entry]
Name=Chinese FAQ
Name[zh_CN]=中文
使用
FAQ
Icon=zh
Type=Link
URL=/usr/share/doc/debian-zh-faq-s/html/frames/index.html
注意文件需要采用UTF-8编码(简便做法是在桌面上直接建立快捷方式然后拷贝过去)
同样,我们可以给cpanel, pydict, cxterm等添加上图标,
pydict的桌面图标可以从/usr/share/gnome/apps/Chinese/pyDict.desktop拷贝过来
-
添加一个中文工具菜单
chinput/xcin/fcitx, Chinese FAQ, cxterm, cpanel, rxvt-gb/rxvt-big5
菜单项的写法类似桌面图标,
将这些文件放到/usr/share/applnk/Chinese下面就可以了
高级话题: 让你的菜单可以在各种WindowManager下都可以看到:Debian Menu System
-
安装Acrobat Reader的中文字体包
也一样可以安装,执行INSTALL时安装目录选择为/usr/lib/Acrobat4即可
注意Acrobat Reader 4.x中文字体包的安装脚本INSTALL有点问题,
需要将ExtractFiles函数中expr两行的正则表达式里的第一个^删除
ExtractFiles ()
{
id_out="`id`"
uid=`expr "$id_out" : '^[^(]*(/([^)]*/)).*'`
gid=`expr "$id_out" : '^[^(]*([^)]*).*(/([^)]*/)).*'`
if [ "$uid" = "root" ] ; then
( cd "$1" ; tar xpfo "$2" ; chown -R $uid . ; chgrp -R $gid . )
else
( cd "$1" ; tar xpfo "$2" )
fi
}
[ 注: Acrobat Reader 5.08 的debian包在这里可以找到,还带有浏览器插件,省了自己安装的麻烦
中文支持包同样可以在ftp.adobe.com上找到]
另外也可以安装xpdf-chinese包(
xpdf-chinese-simplified/
traditional)
但它们不是free的,在/debian/pool/non-free/x目录下可以找到
Knoppix原版本是可以同时支持很多种语言的,只需要在启动时的提示符上添加lang=xx就可以了
对于简体中文就是lang=cn, 繁体中文就是lang=tw
/etc/init.d/knoppix-autoconfig和 /etc/X11/Xsession.d/45xsession检测这个设置后对一些配置文件进行修改
(比如KDE的语言是通过一段脚本修改$ HOME/.kde/share/config/kdeglobals来完成的)
但如果我们针对中文的特殊配置过多时(比如我期望gaim在中文环境下自动加载QQ plugin,
KDE在中文环境下多几个特殊的桌面图标、众多程序的中文字体配置),这种配置方法就很麻烦了
我采用了一个简单的取巧办法: 将针对中文的配置放到/etc/skel.zh_CN目录
因为我注意到从光盘上运行时/etc/skel实际是到 /KNOPPIX/etc/skel的符号连接
所以可以在运行时先删除这个符号连接,将/etc/skel连接到 /KNOPPIX/etc/skel.zh_CN
配置文件也先一律拷贝到/home/knoppix(而不是等 45xsession来拷贝)
这个工作由knoppix-autoconfig来完成(我把它放到了硬件配置完成后,findfiles函数之前)
这段脚本没有限定具体语言,我们也可以将繁体中文配置数据放到 /etc/skel.zh_TW,将Italy语配置放到/etc/skel.it
当启动时指定lang=en或者其他没有特殊配置数据的语言,仍然是 /etc/skel起作用
# Default user settings skeleton for different language if [ -d /etc/skel.${LANG/.*/} ]; then rm -f /etc/skel # delete original link to /KNOPPIX/etc/skel ln -s /KNOPPIX/etc/skel.${LANG/.*/} /etc/skel elif [ -d /etc/skel.${LANGUAGE/.*/} ]; then rm -f /etc/skel # delete original link to /KNOPPIX/etc/skel ln -s /KNOPPIX/etc/skel.${LANGUAGE/.*/} /etc/skel fi HOMEDIR="$(getbootparam home)" if [ -z "$HOMEDIR" ]; then echo -n "${BLUE}Copying default user settings...${RED}" [ -d /home/knoppix ] && mkdir -p /home/knoppix # leave .kde to /etc/X11/Xsession.d/45xsession, which would check free space before copying cp -au /etc/skel/.[^k/.]* /etc/skel/* /home/knoppix cp -au /etc/skel/.k[^d][^e]* /etc/skel/* /home/knoppix chown -R knoppix.knoppix /home/knoppix echo "${GREEN}Done.${NORMAL}" fi |
7. 其他软件
如果空间足够的话,还可以添加一些自己常用的程序。俺添加了XFCE 4桌面, MPlayer,以及如下一些GTK/GNOME程序(KDE程序在其他桌面上启动实在太慢了。
另:注意现在的Knoppix没有GNOME桌面,新版本里连Evolution都删除了)
gftp FTP的GUI,同时也带有一个命令行版本gftp-text
(Knoppix缺省的FTP客户端是lftp,不支持Windows下的FTP服务器,建议改用ncftp或者gftp)
d4x Downloader for X
gnome-commander 仿照Total Commander的文件管理器,但还差的很远
sylpheed-claws 很不错的邮件客户端,功能相当丰富,只要设置fontset就处理中文邮件了(见右图)
gtktalog
dillo 迷你型Web浏览器
eeyes Knoppix似乎缺少一个好用的图片浏览程序(非KDE的)
gqview
以及一些不占空间的tk程序: tkinfo, tkman, tkpaint, tkdiff, tkcvs, tkmixer ...
还有一些字符界面下的多媒体程序: workbone, mpg321, music123, fbtv
如果目标机器性能比较差的话,也可以考虑添加Phoenix或者Opera作为mozilla的替代品
注意Phoenix不支持xft(至少我在mozilla.org上下载的简体中文版不支持),你得有漂亮一点的点阵字体才行
而Opera 7.1.0的qt3-shared包需要libqt3,在libqt3-mt下不能运行,可能得装static才行
[ 对于Phoenix的新版本Firebird,我觉得已经没有添加进去的理由了 ]
8."打完手工"
安装完所有需要添加的包后最好用deborphan检查一下是否有orphaned packages
$ deborphan > /tmp/orphanlist
$ dpkg -P `cat /tmp/orphanlist`
$ rm /tmp/orphanlist
然后删除所有临时文件。
用df检查一下文件系统耗用,保证在1950M以下(因为簇大小关系,实际耗用一般只有1700M)
如果你有750M或者800M的刻录盘,当然可以多放些东西,可按压缩率40%做估算
最后退出虚拟系统
$ umount /proc (this is very important!)
$ umount -a
$ exit # leave chrooted environment
然后清除备份文件和垃圾文件
$ rm -rf /mnt/hda4/KNOPPIX/var/cache/apt/archives
$ rm -rf /mnt/hda4/KNOPPIX/var/lib/dpkg/*-old
$ rm -rf /mnt/hda4/KNOPPIX/.bash_history ....
$ rm -rf /mnt/hda4/KNOPPIX/.rr_moved
$ rm -rf /mnt/hda4/KNOPPIX/tmp/*
9. 制作cloop压缩映像
$ mount /dev/hda3
$ mkdir -p /mnt/hda3/knoppix-zh_3.2/NewCD/KNOPPIX/KNOPPIX
$ mkisofs -R -l
-hide-rr-moved
/mnt/hda4/KNOPPIX | nice -10 create_compressed_fs - 65536 > /mnt/hda3/knoppix-zh_3.2/NewCD/KNOPPIX/KNOPPIX
注意是大R,这样才能保留文件属主信息
这个过程很费时间,在我的AMD 1300/256M RAM/金钻40G上大约需要30分钟
执行之前用free检查交换空间大小,建议至少有2G。最好中途不要做别的事情
完成后create_compressed_fs会有一个报告,如果报告大小在690M以内的话,就差不多了
[ 高级话题: 运行速度优化;不需要1G交换空间就可以制作cloop映像 ]
10. 制作新的光盘
将光盘上其他文件都拷贝到/mnt/hda3/knoppix-zh_3.2/NewCD下,如果超过700M的话,可以考虑删除 /Demos目录 # cd /mnt/hda3/knoppix-zh_3.2
# mkisofs -V "Knoppix Chinese" -P "imaq" -l -r -J /
-b KNOPPIX/boot-cn.img -c KNOPPIX/boot.cat -o myknoppix.iso NewCd
11. 测试
如果你有VMware,测试就很方便了,因为Knoppix里的X已经带有vmware模块用它启动就可以了,在启动时键入
knoppix lang=cn
注:切换到Console要用Ctrl+Shift+Alt+F1/F2/F3/F4,但vmware里无法测试framebuffer支持
12. 刻盘
如果测试没有问题,就可以刻成光盘了补充说明
1、修改启动参数里的lang和启动时的提示信息
按上述方法,仍然要求启动时键入lang=cn这个参数,如何把它设置为缺省的呢? $ mkdir /mnt/bootimage
$ cp
/cdrom/KNOPPIX/boot-en.img
boot-cn.img
$ mount boot-cn.img /mnt/bootimage -o loop
然后修改/mnt/bootimage/syslinux.cfg,将第2行和第11行(LABLE knoppix下面)的lang=us改为lang=cn既可
wheelmouse也可以在这里加上
boot.msg里存放有最开始显示在屏幕上的信息
f2存放有一些可用的启动参数提示,可以在这里添加一个lang=cn的提示
(因为Knoppix基本上没有GNOME桌面包,所以这里的desktop=gnome提示信息也可以删除)
也可以添加按下F3或者F4时显示的说明文档,在syslinux.cfg里注册一下对应文件名就可以了
右边附图是我的F3提示信息
修改完成后
$ umount /mnt/bootimage
2、修改启动画面
请参考 http://www.linuxgazette.com/issue87/sunil.htmlboot.img可以单独测试,如果是vmware的话,直接将软驱设置为boot.img
如果不用vmware,用dd或者rawrite写到软盘上,然后用它启动
3、xmms的Skins
Knoppix没带任何的xmms的skin,如果你有一些很不错的,可以拷贝到/usr/share/xmms/Skins目录下(/usr/share/xmms/Skins目录需要自己创建),
然后创建/etc/skel/.xmms/config文件,写上你喜欢的缺省Skin
[xmms]
skin=/usr/share/xmms/Skins/30FormChineseSkin_1.5.wsz
playlist_font=-adobe-helvetica-bold-r-*-*-10-*,rofont12
use_fontsets=TRUE
mainwin_use_xfont=TRUE
mainwin_font=-adobe-helvetica-medium-r-*-*-8-*,rofont12
4、换桌面的背景图片
替换/usr/local/lib/knoppix.jpg即可 [FIXME: 新版本好像不是这样了?]5、制作deb包
以zwincontrol为例,说明一下deb包的制作方法- 建立目录zwincontrol_3.2-1_i386
- 将zwincontrol可执行文件拷入zwincontrol_3.2-1_i386/usr/bin
- 将zwincontrol.mo拷入zwincontrol_3.2- 1_i386/usr/share/locale/zh_CN/LC_MESSAGES
- 在zwincontrol_3.2-1_i386下创建目录DEBIAN
- 在DEBIAN目录下编写一个control文件,内容如下
Package: zwincontrol
Version: 3.2-1
Section: utils
Priority: optional
Architecture: i386
Depends: chinput(>=3.0),libgtk1.2(>=1.2.4),xlibs(>>4.1.0)
Installed-Size: 1095
Maintainer: Hansom Young <glyoung@users.sourceforge.net>
Description: Control bar for Chinput
zwincontrol is a control bar for Chinput. - 在zwincontrol_3.2-1_i386的父目录执行dpkg-deb -b zwincontrol_3.2-1_i386即可
1、如果自己从源代码编译,解压源代码后先执行zcat package_ver-rel_diff.gz | patch -p0,
然后执行debian/rules即可进行编译
2、根据需要可以编写preinst, postinst, prerm, postrm脚本,放到DEBIAN目录下
执行dpkg --configure pkgname 时dpkg会传入'configure'作为$1给postinst脚本
3、control文件格式的详细说明请查看deb-control(5)
6、如果你不想先刻一张Knoppix光盘
上面的安装方法需要先有一张Knoppix光盘,用它启动机器后将光盘上的 cloop映象解压缩到硬盘,然后开始制作但如果你不想多刻一张光盘,是否可以直接做一张中文版本的然后再刻录呢?
当然是可以的,不过要复杂一点,而且要求你有knoppix的iso文件
a1. 如果你的硬盘上还没有Knoppix,也没有debian:
你得安装vmware,在vmware里面建立一个虚拟机,操作系统当然是 Linux,
harddisk选择使用raw disk,cdrom选择使用您下载的knoppix iso文件
启动虚拟机(建议启动到wmaker, xfce等小型桌面,启动提示符下敲knoppix desktop=wmaker就可以了),
然后运行knoppix-install将系统安装到硬盘,然后按步骤b操作
a2. 如果你的硬盘上还没有Knoppix,但有debian:
请到 http://developer.linuxtag.net/knoppix/sources/ 下载cloop的源代码包,
[ 注: 现在cloop已经收入到了Debian, 在cloop-src和cloop-utils两个包内,可以用apt-get进行安装 ]
它包含了cloop内核模块和cloop压缩映象的压缩、解压工具,编译内核模块:
cd /tmp wget http://developer.linuxtag.net/knoppix/sources/cloop_1.02-1.tar.gz tar xzf cloop_1.02-1.tar.gz cd cloop_1.02-1 make KERNEL_DIR=/usr/src/linux mkdir -p /lib/modules/misc && cp cloop.o /lib/modules/misc/ depmod -a mknod /dev/cloop b 240 0 |
然后按步骤b操作
[ FIXME: 如果有其他Linux??? ] b、解压cloop 压缩映象
先将你下载的knoppix ISO文件挂到一个回路(loopback)设备上
$ [ ! -d /mnt/knx-iso ] && mkdir -p /mnt/knx-iso
$ mount -t iso9660 /somewhere/to/knoppix/iso /mnt/knx-iso -o loop,ro
然后就可以加载ISO里面的cloop映象文件了
$ [ ! -d /KNOPPIX ] && mkdir -p /KNOPPIX
$ insmod cloop file=/mnt/knx-iso/KNOPPIX/KNOPPIX /KNOPPIX
(如果失败,可能是你的cloop模块太老了,不能解压用新版本压缩的 cloop映象,需按a2中步骤安装新的cloop模块)
然后就可以拷贝/KNOPPIX下的文件开始定制了
遗留问题
- gvim的 guifontset设置为什么?(它说需要等宽中文字体fixed width)
- 待改进: Mozilla的中文支持包如何安装 [DONE]
- Stardict 2.x?
参考文档:
Knoppix Remastering Howto Klaus Knopper自己写的,一定要看上面有一些制作cloop压缩文件的新工具(可以让你没有1G交换分区也可以制作cloop)
Knoppix FAQ WiKi, 尤其是这篇 FAQ about installing Knoppix
I Built a Custom Debian CD from Knoppix by Sunil Thomas Thonikuzhiyil,
Linux Gazetter专栏文章,我是参考这篇文档来做自己的Knoppix的。
Debian中文常见问题解答(Debian Chinese FAQ), 本地阅读(无 frame版本请点击 这里)
TurboLinux 6.0 中文版使用手册
XCIN 文档: README, Usage, UserGuile, FAQ, xcin提供了详细的文档,值得认真读一下
Nicklaser的中文Knoppix, 并且提供了 做好的中文版本ISO