制作一张支持中文的Knoppix CD
还有不少问题,欢迎提出改进建议 (mailto:imaq%20at%2021cn.com QQ:15704509)
这篇文章的中间一部分也可以用于Knoppix
安装
到硬盘后的中文化
May 18, 2003
(亮红色标注)
修正了GTK/GNOME程序总是显示英文信息的问题(LANGUAGE没有设置正确)
修正了输入法无法调出的问题(XMODIFIERS没有输出为环境变量)
光盘运行速度优化方法的连接
May 12, 2003
(暗红色标注)
改进繁体中文环境支持
根据Knopper的Knoppix Remastering Howto对文档进行了一些修正和补充
zwincontrol from ZWinPro
中文pcf字体 (来自RedOffice和TurboLinux)
添加了制作deb包方法的简单说明
按debian上的 新闻更新zhcon、小企鹅输入法和星际译王2.0的相关信息
debian已提供qterm-0.2.0
May 6, 2003
(绿色标注)
添加了小企鹅输入法fcitx,QTerm-0.2.0的安装说明
启动时可以指定xim参数来设置缺省的XMODIFIERS,方便使用xcin或者其他输入法
NTFS分区自动添加iocharset=utf8参数, 繁体中文下FAT分区添加iocharset=big5,codepage=950参数
Mozilla-1.3中文支持包安装说明(待完善)
添加了Nicklaser的中文版本连接
添加了一些 中文方面的小技巧
粗体标注了需要下载安装的软件包名称
fc-cache: 对arphic字体创建cache
其他一些小的修正
Apr 27, 2003
(蓝色标注)
推荐使用小企鹅输入法
修正了KDE中输入法无法调出的问题(用qtconfig配置XIM Input Style)
添加了关于wine的中文支持的说明
添加了保存配置数据方法的说明
其他一些小的修正
Apr 20, 2003 俺的第一张中文版Knoppix,基于Knoppix-3.2-20030330
准备工作:
1) 首先你得已经有一张Knoppix光盘,
可以在 http://www.knopper.net/knoppix/
上找到很多镜像站点
linuxeden, linuxforum和linuxfans上也可以下载到
P.S: linuxforum上有Nicklaser制作的中文Knoppix ISO文件
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://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-awk)
$ dpkg-awk "Status: .* installed$" -- Package Installed-Size| awk '{print $2}' /
| egrep -v '^$' | xargs -n2 echo | perl -pe 's/(/S+)/s(/S+)/$2 $1/' | sort -rg
$ 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,
apt-utils,
dpkg-awk这几个包,然后通过apt命令或者dselect即可在线安装软件包
下面假设你熟悉debian, 至少知道怎么使用dpkg和apt
/*
快速入门:
列出已有软件包:
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
从网络自动下并安装某个包:
apt-get install pkgname
详细内容请查阅dpkg(8), dpkg-deb(1), apt(8)
*/
用
synaptic也是个不错的选择
(不推荐用kpackager),它是apt的GUI front-end,但你需要在X下使用它:
$ synaptic -display myip:0.0
( replace myip with your actual IP)
6、安装中文支持软件
注:
1. 这里提到的软件包都是Debian服务器上已经有的(除了fcitx等几个例外)
当然你也可以自己编译你喜爱的软件然后打包成deb(比rpm要容易得多了),
而且如果某个软件提供的二进制包可以在上面运行的话,也可以用dpkg-deb打成deb包,
不需要重新编译(rpm包
好像
必须要编译才能得到?)
——但因为Debian大家用的不多,这里就说简单易行的
2. 这里同时提供了简、繁中文支持,如果你觉得你需要更多空间来装些自己喜欢的程序
可以只选择其中一种
0)中文环境的配置
(参见: 关于locale设置的废话
)
修改/etc/init.d/knoppix-autoconfig,找到以cn)开始的那行,
在LANG的下面添上一句
LANGUAGE="zh_CN.GB2312"
修改/etc/profile,
[ -n "$LINGUAS" ] && export LINGUAS || unset LINGUAS
[ -n "$_XKB_CHARSET" ] && export _XKB_CHARSET || unset _XKB_CHARSET
+ [ -n "$XMODIFIERS" ] && export XMODIFIERS || unset $XMODIFIERS
+ [ -n "$LANUAGE" ] && export LANUAGE || unset LANGUAGE
if [ -n "$SYSFONTACM" ]; then
case $SYSFONTACM in
1)、中文输入工具的安装
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协议的。
Knoppix里的缺省配置是将XMODIFIERS设置为"
@im=Chinput"的,
如果要使用xcin,需要自己修改/etc/init.d/knoppix-autoconfig:
如果是用繁体中文,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
另外,如果要让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所做的修改得出的结论)
小企鹅输入法fcitx:
推荐安装小企鹅输入法fcitx ,支持五笔和拼音输入,支持动态词频调整
(主页位置:http://www.fcitx.org//,上面有deb包)
推荐用它主要是因为可以不用管XMODIFIERS设置为Chinput还是xcin或者xcin-zh_CN.GB2312
(但如果在XMODIFIERS设置之前起动fcitx,那么就要在启动应用程序之前设置XMODIFIERS="@im=fcitx")
[ May 12:
Debian已经收录小企鹅输入法了]
关于chinput:
注意,因为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 为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的源代码里可以找到)
2)、中文字体的安装配置
点阵字体
先看看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-bsmi00lp (繁体中文 细明体,繁体中文下必须)
ttf-arphic-gkai00mp (简体中文 楷体)
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/fonts.conf: 添加
/usr/share/fonts/truetype/arphic
/etc/X11/XF86Config-4.in: 添加
FontPath "/usr/share/fonts/truetype/arphic"
并注释掉原来的
Load "freetype"
行,添加
Load "xtt"
为了减小新增字体引起的应用程序(指用到fontconfig的程序)启动减慢,需要给这些字体创建fonts.cache
执行
$ fc-cache /usr/share/fonts/truetype/arphic
即可
也可以安装Windows的simsun字体,配置方法与其他Linux版本类似,很多文档讲到了这个,自己找一下
可以参考Nicklaser的配置文档
[ 我打算准备下一次添加一个启动选项winfonts,然后自动配置windows下的simsun和tahoma字体 ]
3). 终端模式下的中文系统
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版本]
cce_0.36
yh_3.1 (炎黄中文平台)
chdrv_1.0.13p (and
chdrvfonts)
后面这三个是备选的,它们都是基于svgalib的,有如下一些缺点:
某些显卡可能不被svgalib支持; svgalib的使用需要root权限; 需要配置libvga.config等配置文件
4). 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就没有这么幸运了)
cxterm-gb/big5 因为自带输入法,不需要配置xcin/chinput等,建议安装
虽然是过时的东西,但有时还是很有用的: 有时输入法实在调不出来,又急着要敲点中文,就用它了。
rxvt-ml multi-lingual VT102 terminal emulator,建议安装
xcin附带了几个脚本 xcinterm-gb, xcinterm-big5等等,可以自动帮你设置XMODIFIERS,
启动xcin,然后打开crxvt(由rxvt-ml提供),一般都能让你成功地输入中文(至少在它打开的这个crxvt里面)
aterm-ml Afterstep XVT (可选)
wterm-ml A multi-lingual rxvt based, color xterm replacement,
optimised for use under WindowMaker.(可选)
5). KDE、Mozilla、OpenOffice的中文支持
Knoppix 3.2采用了KDE 3.1.1,对应的中文支持包:
kde-i18n-zhcn_3.1.1/
kde-i18n-zhtw_3.1.1
装上即可
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);
Knoppix 3.2自带的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的中文支持包其实问题也不大,只要配置好中文字体,
可以输入、显示中文就可以了——随个人喜好吧
6). 其他中文支持软件
词典:
pydict_0.2.5.1 (and
python-gdk-imlib_0.6.9/python-gtk_0.6.9)
# python-gtk_0.6.11 and above are for python2.2
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了,
但我在ftp上没有找到, http://packages.debian.org上也搜索不到 ]
中文文档:
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 易经 ;-)
6. 其他
只要解决mount时自动添加iocharset=gb2312,codepage=936就可以了
但实际运行时/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/Dekstop目录下,扩展名为.desktop即是,
(/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
同样,我们可以给cpanel, pydict, cxterm等添加上图标,
pydict的桌面图标可以从/usr/share/gnome/apps/Chinese/pyDict.desktop拷贝过来
不妨添加一个中文工具菜单,将这些中文工具列进去,比如pyDict, stardic,
chinput/xcin/fcitx, Chinese FAQ, cxterm, cpanel, rxvt-gb/rxvt-big5
菜单项的写法类似桌面图标,
将这些文件放到/usr/share/applnk/Chinese下面就可以了
高级话题: 让你的菜单可以在各种WindowManager下都可以看到:Debian Menu System
Knoppix里面带的Acrobat Reader是4.05的版本,如果有4.x的中文字体包的话(在 这里可以下载到)
也一样可以安装,执行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
}
另外也可以安装xpdf-chinese包(
xpdf-chinese-simplified/
traditional)
但它们不是free的,在/debian/pool/non-free/x目录下可以找到
7. "打完手工"
如果空间足够的话,还可以添加一些自己常用的程序,我添加了如下一些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才行
安装完所有需要添加的包后最好用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/lib/dpkg/*-old
$ rm -rf /mnt/hda4/KNOPPIX/.bash_history ....
$
rm -rf /mnt/hda4/KNOPPIX/.rr_moved
$ rm -rf /mnt/hda4/KNOPPIX/tmp/*
8. 制作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映像 ]
9. 制作新的光盘
将光盘上其他文件都拷贝到/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
10. 测试
如果你有VMware,测试就很方便了,因为Knoppix里的X已经带有vmware模块
用它启动就可以了,在启动时键入
knoppix lang=cn
注:切换到Console要用Ctrl+Shift+Alt+F1/F2/F3/F4,但vmware里无法测试framebuffer支持
如果没有问题,就可以刻成光盘了
补充说明
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.html
boot.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即可
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
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)
遗留问题
- GNOME 程序的mo似乎总没有用上,但中文字可以正常显示[FIXED]
- gvim的guifontset设置为什么?(它说需要等宽中文字体fixed width)
- 现在WindowMaker的Debian菜单(menu.hook)总无法工作了,不知道什么地方出了问题[FIXED]
- 想添加一个winfonts启动选项,利用Windows的simsun/tahoma字体[DONE]
- 待改进: Mozilla的中文支持包如何安装 [DONE]
- Mozilla似乎不支持Over The Spot输入风格?
- Gaim + QQ plugin [DONE]
- Stardict 2.0? //kick off 金山词霸, QQ!
- KDE和GNOME 2、Mozilla的字体模糊
- 附带一份配置有金山词霸和QQ的Wine? Total Commander?
参考文档:
Knoppix Remastering Howto Klaus Knopper自己写的,一定要看
上面有一些制作cloop压缩文件的新工具(可以让你没有1G交换分区也可以制作cloop)
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