linux下使用k3b来刻录[zt]
不久前我n年前的光驱终于完成了他的使命,再也读不出半张碟了,遂新购了一款52x的刻录机来用。问题随之而来,在windows下可以用强大的nero,不过在我喜欢的linux下呢?其实kde已经集成了几个cd刻录软件,比如x-cd-roaster,要求不高的话也够用了。可是用了nero,x-cd-roaster又如何能满足我的要求呢?我相信开源软件的力量,于是到网上找了一番,果然有一款功能足够和windows下都nero媲美的软件--k3b!
在介绍k3b之前不得不多说几句,刻录机是需要内核支持的。不过以目前的情况看,大家用的发行版基本都是rh8或mdk9以上,应该是可以满足的了。装了刻录机之后你可以执行lsmod看看有没有类似ide-scsi的模块被载入,有的话就ok了。如果你是在装linux之后安装的刻录机,那么需要在grub.conf的kernel那行之后添加hdc=ide-scsi参数,其中hdc是你安装的刻录机,当然也可能是hdd等(据说在2.6的内核上ide接口的刻录机已经不需要scsi模拟支持了,不过我没有测试过)。如果你的内核确实不支持,那么很不幸你就不得不手动编译内核支持。关于编译内核以支持刻录机,详细可以看linuxsir的一个贴子,地址是:http://www.linuxsir.org/bbs/showthread.php?s=a5a49c4694106a97fd77046565f8ec7c&threadid=12788。
ok,假定现在内核已经支持你的刻录机了,让我们请出我们今天的主角k3b,目前它的最新版本是0.10.3,可以去它的官方主页http://www.k3b.org/下载,下载k3b-0.10.2-tar.gz和k3b-i18n-0.10-tar.gz两个源码包就够了。不过现在还不要安装他们,我们要给linux的mkisofs、cdrecord等用于cd刻录等核心文件打补丁。
由于系统自带的这些程序对双字节支持不够好(其实已经很好了,如果你用他们在linux下刻录中文光碟,在linux是可读的,并且可以正确显示,可是windows对linux的光盘文件系统支持不好,将导致乱码),所以需要对其进行修正。任何基于mkisofs的刻录软件都存在这个bug。在 这里 下载带有中文修正补丁的cdrtools工具包。下载之后解压,里面的readme文件其实已经将使用过程说的很详细了,由于是中文的,我也不多说了(其实是懒了).....解压后有三个压缩包:
cdrtools-2.00.3.tar.gz 源码包
mkisofs_patch.tar.bz2 这个是mkisofs中文补丁源包
libunls.tar.gz 这个是mkisofs打好补丁的文件
作者介绍了一个简单的办法就是解开libunls.tar.gz包,把生成的libunls目录拷贝到解压cdrtools-2.00.3.tar.gz压缩包生成的cdrtools-2.00.3目录下面覆盖掉原有的目录和文件即可,不过我安装的时候编译不成功,所以再介绍一下用那个patch文件手动补丁的方法。
将将mkisofs_patch.tar.bz2解压后会生成一个叫noboru_nls_patch_20030616.txt的文件,进入cdrtools-2.00.3目录下执行
#patch -p1 < ../noboru_nls_patch_20030616.txt 以完成对mkisofs对修补。然后
#cp gmake.linux /usr/bin/gmake
#./gmake.linux
#make install
来完成安装,默认会安装到/opt/schily/bin,你可以把他们都ln到/usr/bin下面。运行mkisofs -jcharset -help来检测是否有cp936、gb2312、big5之类的输出,如果有那就成功了。
然后,我们就可以进行k3b的安装了。k3b的安装和普通的安装没有什么区别,解压后进入k3b-0.10.3目录下执行./configure --prefix=/usr/local,然后make;make install;make clean就可以完成安装了.(这个编译的过程比较久)
然后同样解压k3b-i18n-0.10.tar.gz后进入k3b-i18n-0.10目录下执行./configure --prefix=/usr/local,然后同样make;make install;make clean(这个包看来似乎是k3b的多语言支持,不过我这样安装之后从来没有实现中文界面,希望达人指点一下.).这样安装之后运行k3b依然没有中文界面,我们进入k3b-i18n-0.10目录下执行cd po/zh_cn,然后执行msgfmt --statistics k3b.po -o k3b.mo,然后再cp k3b.mo /usr/share/locale/zh_cn/lc_messages/(注意后面的cn要大写,lc_messages也全是大写),将这个文件复制过去,这时候运行k3b就是我们所熟悉的中文界面了.
在k3b的"设置"-"配置k3b"-"程序"里将我们自己编译生成的cdrtools组件设置为默认,如图.(就是版本号为2.03的那个)
然后选择"文件"-"新建方案"-"new data cd project",然后在程序界面下方你新建的方案上点鼠标右键,选择“属性”,就可以具体的设置你的刻录选项了。需要注意的是在“filesystem”选项中要选择“生成joliet扩展”,取消“生成rock ridgg扩展”(据说ms之所以无法识别linux的中文cdr就是因为这个东东)。在“高级”里的iso9660文件系统里基本按照你在windows下刻盘的选项设置就可以了,适当的放宽一些要求,如“允许小写字符”、“允许~和#”等。但最值得注意的是一定要选中下面的那个“强制输入字符集”,同时在右侧的下拉列表中输入“gb2312”,列表中是没有的.....刚开始的时候在这类郁闷了很久,我以为必须得列表中给出的才可以,结果屡试屡败....后来尝试着自己输入字符设置,居然成功了,呵呵。如此设置完毕之后,点击“保存用户默认值”来保存你的设置,以后久可以在linux下刻录你自己的中文光碟了!
另外如果安装了emoviex等相关软件支持的话,还可以进一步刻录cd、vcd等,不过我没有尝试使用,就不敢多说了。
以上在rh9+kernel 2.4.20和fedora core+kernel 2.6.0上测试通过。
后记:月初就开始酝酿要写这个帖子了,刚起了个头,结果一时心动由rh9升级到fedroa core1,同时升级了2.6.test11内核……然后就是一连窜的睡眠不足的日子……失败,再编译,仍然失败……年末手头的工作居然也多了起来,结果就拖延到现在,大家看截图其实也可以看得出来,界面都有些不太一样。最初写的时候k3b还是0.10.1版,完工时居然已经是0.10.3了……
今天又重做了一次系统,也终于搞定了在2.6内核下的显卡、手柄、ntfs、u盘、网卡等诸多困扰多时的问题,哈有成就感的说,所以也一鼓作气把这片文字突击出来,但愿有些帮助。
新内核的声卡还是有问题……alsa居然无法和arts并存……看来又得重编译一次内核了…… atfa,你patch好了吗?我的没有成功。 :-( 呵呵……楼主也上MOP吗?
页:
[1]