阳光烂灿的日子

--记录所有碎碎念

ubuntu6.06下gnome录音机调整

| Comments

虽然ubuntu7.04已经发布。但是6.06是LTS,也就是长期支持版本。所以还是会在一段时间内被人使用。6.06下面的gnome版本为2.14。这个版本的gnome里的录音程序有个本地化的bug。究竟是什么bug呢?你最好打开录音机试试,如果你的gnome录音机没有问题请略过本文章。



取自gnome中国GNOME 中的录音机的一段:

gnome-sound-recorder 2.16 存在本地化的 bug, 因此直接启动后无法录音,你需要在英文环境下启动它,在命令行里执行: LANG= gnome-sound-recorder 即可。我还没有去研究中文环境(本地化环境)下为啥会有问题,估计是默认设置的文件名变成中文后导致无法生成正确的临时音频文件所致,还得看代码才能弄清 楚。





在这篇文章中可以得知,这个bug在2.16中仍然存在。作者最后升级更新后已经解决。但它并不是在ubuntu系统中。也就是说,在ubuntu系统中这个问题会一直存在。不知道新的7.04解决了没。



既然不能升级解决,那就改源码吧~ 其实很简单,重要的是,你有时间~

下载源码,录音机程序名叫gnome-sound-recorder,在包gnome-media中。



$apt-get source gnome-media

找到 gnome-media-2.14.2/grecord/src/gnome-recorder.c 文件。在文件中找到以下段落:





if (filename == NULL) {
/* Translator comment: untitled here implies that

* there is no active sound sample. Any newly

* name as default value. */
if (gsr_sample_count == 1) {

name = g_strdup (_("Untitled"));
} else {
name = g_strdup_printf (_("Untitled-%d"), gsr_sample_count);
}
++gsr_sample_count;






把其中的(_(“Untitled”)) 改成 (“Untitled”), _(“Untitled-%d”)改成 “Untitled-%d” .

保存文件。再进入gnome-media-2.14.2目录。执行通常的编译命令:

./configure &make ;

进入 grecorder目录 执行 sudo make install, 因为我们只是想安装gnome-sound-recorder命令而已。

运行前先把原来的gnome-sound-recorder删除。

rm /usr/bin/gnome-sound-recorder



上面的操作适用于 ubuntu 6.10。因为6.10的gnome 2.16也存在这个问题。



现在打开 gnome-sound-recorder已经可以保存和播放录音了。



这么简单的事也用不着打补丁了吧。自己改改就行了。而且我并没有去直接处理它本地化的bug。而是跳过了它。gnome-sound-recorder不能处理默认带有中文的文件名,那我就把默认的临时文件名的中文去除。反正是临时文件,中或英没有区别。



为啥这么简单的问题都要写一篇博文哩? alway by my way , 这世界总有一些人有一些特殊的要求。就像我,也许还有某个人。

Comments