`
crazycode
  • 浏览: 151918 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多
gnome-do真是一个好东西,可以不再使用鼠标而快速调出你需要的程序,访问你需要的位置,可以说完全能配上它的口号:“一个超NB的,性感的,桌面环境支配者!” Gnome Do,不必知道它在哪,请说出你要什么。可惜这样好的东西居然是运行在mono上,呵,请原谅我对mono的偏见。

另外,当前版本的gnome-do还有一个小小的不足,当然也有解决方法(参考Hack Gnome-do):
引用

GNOME Do的一点不足是,如果我用它来启动应用程序,那么用相当多的软件不能启动。Why?

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

如何让GNOME Do默认以英文的Locale来索引应用程序的描述呢?这样Gedit就会变成“Text Editor”,我只要输入“Text”基本上就可以启动它了。

Hack Gnome-do提供的方法是居于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
分享到:
评论
1 楼 hite 2010-11-07  
我的gnome-do 不接受输入了。就是你在键盘上输入东西,没有反应

相关推荐

Global site tag (gtag.js) - Google Analytics