Ubuntu Hack Gnome-do解决中文程序名的问题

gnome-do真是一个好东西,可以不再使用鼠标而快速调出你需要的程序,访问你需要的位置,可以说完全能配上它的口号:“一个超NB的,性感的,桌面环境支配者!” [url=http://www.sxnsx.com/gnome-do-no-matter-where-it-is-just-speak-out-what-you-wanna/]Gnome Do,不必知道它在哪,请说出你要什么[/url]。可惜这样好的东西居然是运行在mono上,呵,请原谅我对mono的偏见。

另外,当前版本的gnome-do还有一个小小的不足,当然也有解决方法(参考[url=http://imtx.cn/archives/902.html]Hack Gnome-do[/url]):
[quote]
GNOME Do的一点不足是,如果我用它来启动应用程序,那么用相当多的软件不能启动。Why?

因为GNOME Do默认是根据语言环境来载入应用程序的描述字符串,也就是说,Gedit:文本编辑器,我必须输入“文本编辑器”才能启动Gedit,这明显不行,因为 GNOME Do只接收英文输入。而Mozilla Firefox,因为不是“Mozilla 火狐”,所以我可以通过输入“Fire”即启动它,所以非常快捷。

如何让GNOME Do默认以英文的Locale来索引应用程序的描述呢?这样Gedit就会变成“Text Editor”,我只要输入“Text”基本上就可以启动它了。
[/quote]
[url=http://imtx.cn/archives/902.html]Hack Gnome-do[/url]提供的方法是居于Gentoo系统的,而我的是Ubuntu,直接下载源代码来编译会影响系统的包依赖管理,还是直接通过deb-src来重新打包吧,以下是我的hack步骤:

1. 下载gnome-do的deb source:

apt-get source gnome-do


2. 修改源代码:

cd gnome-do-0.6.1.0/
vi Do.Addins/src/Do.Universe/ApplicationItem.cs

找到以下代码:

public ApplicationItem (string desktopFile)
{
item = DesktopItem.NewFromFile (desktopFile,
DesktopItemLoadFlags.OnlyIfExists);
if (null == item)
throw new Exception (desktopFile + " not found.");

name = item.GetLocalestring ("Name");
description = item.GetLocalestring ("Comment");
icon = item.GetString ("Icon");
}

改那个name就可以了,默认是GetLocalstring,修改为GetString即可,保存退出vi.

3. 重新打包
如果直接重新打包的话,生成的deb文件安装后,更新管理器会提示你有gnome-do更新,并尝试用网上的版本替换你的版本,所以正确方法是先修改一下gnome-do-0.6.1.0/debian/changelog,把最上面的版本号修改一下,这里是:

gnome-do (0.6.1.0-0ubuntu2) intrepid; urgency=low

我是直接在后台加上一些字符:

gnome-do (0.6.1.0-0ubuntu2.crazycode1) intrepid; urgency=low

好了,开始打包:

dpkg-buildpackage -rfakeroot -uc -b

完成后可以在上级目录得到一个gnome-do_0.6.1.0-0ubuntu2.crazycode1_i386.deb文件,安装即可:

sudo dpkg -i gnome-do_0.6.1.0-0ubuntu2.crazycode1_i386.deb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值