文章标签 ‘Linux软件’

如何让Ubuntu启动提速50%与Upstart使用

2011.08.18 | 天气: | 标签: , , ,


不得不说10.04以后的Canonical为了让Ubuntu启动速度加快下了相当大的功夫:不惜去掉传统的rc.X,init.d等,换成能并行启动处理的Upstart,还单独开发了ureadahead这个软件来预加载所有可能读到的文件。我觉得还是应该还真面目以正视听。我的机子按2011年的配置来说是相当老爷机和落伍了,可是启动经过调整后可以达到32秒
而且蓝牙、HAL、WIFI必须的程序没有移出启动队列
首先得说说我的基本配置:

ThinkPad X200s
CPU:Intel Core2 SU3500-1.40GHz[单核]
内存:DDR3 1333 4GB
硬盘:HDD WDC WD2500BEVS 250GB 5400RPM

软件与平台:

Ubuntu 10.04.3 LTS
ureadahead 0.100.0

那么怎么做到的呢?
阅读全文 »

Rhythmbox插件编写教程指北

2011.08.12 | 天气: | 标签: , , , , , , ,

写了个Rhythmbox的插件以后才发现这方面的中文教程简直是0的状态(百度连鸟语的都不知道),介于我是python新手,C语言全部还给老师了,所以不敢说这篇文章是指南,权当这是中文关于Rhythmbox插件编写的0.5篇文章吧。具体的最好还要参考Rhythmbox官方的指南
++++++++++++++
示例的源代码
++++++++++++++

首先,想好一个插件名字吧

教程里,我就用「RB_notify」。
要清楚用python写Rhythmbox的插件机制其实很简单——写好两个文件就可以成个插件
RB_notify.rb-plugin__init__.py
前者负责解释你这插件叫啥、作者是谁等,后者是程序的入口,把他们放到$HOME/.gnome2/rhythmbox/plugins/notify里面就可以运行了,很简单是吧。

翻翻notify.rb-plugin

[RB Plugin]
Loader=python
Module=RB_notify
IAge=1
Name=RB Plugin Example
Name[zh_CN]=RB插件例子
Description=This is an example of RB Plugin
Description[zh_CN]=这是个RB插件例子
Authors=Meng Zhuo
Copyright=2011 © Meng Zhuo
Website=http://mengzhuo.org/blog/

这个是插件描述文件,由于我们插件是python写的,所以前面的4个参数都不能修改,而Module后面的跟的是需要加载模块,这里和项目同名就好了。后面几个都不言自明了,所以很简单吧。光说你的插件是干啥的自然是不行,得用程序让Rhythmbox听话。

__init.py__程序登场

写过python程序的同学都清楚,大部分程序第一步是导入一定量的库,这样才能正常运行,我们的Rhythmbox程序也一样:

import rb

这个语句是必须的,因为这个库是Rhythmbox的缩写。其他的库像

  • gconf(需要配置的话)【教程】
  • gtk(需要图形的话)教程
  • gettext(推荐import,国际化用)教程同上

这里我们就只使用rb吧,这时候程序应该是这个样子的:

  • __init__函数是入口函数,每次插件运行的时候都先运行一遍里面的程序,里面一般第一句是添加self为RB插件的类。rb.Plugin.__init__(self)
  • activate函数是插件启动的时候执行的程序,这里就用简单的print吧
  • deactivate函数是插件关闭或者Rhythmbox退出的时候执行的程序,理论上之前创建了什么东西,就得销毁掉(用del命令),不赘述了。

检验成果的时候到了!

运行Rhythmbox -D RB_notify
打开插件栏,这时候就可以看见你的插件了。
启动插件后就会在刚才运行命令的终端里出现
(15:36:44) [0x6ea040] [RB_notify.activate] .gnome2/rhythmbox/plugins/RB_notify/__init__.py:15: Hello, This is a Example

做些有用的事

光是在终端里输出一些字符可不是什么有趣的事,所以要介绍RB牛X的地方,在于它的shell。在刚才的print后面添加
shell.props.shell_player.playpause(0)
这样,每次启动插件,这个RB就会暂停或者是播放。
当然这个shell没有这么简单,不只能控制播放、音量等,还能UI什么的,大家可以去他们的官网围观哈

Rhythmbox小插件-耳机意外防止器

2011.06.29 | 天气: | 标签: , ,

不知道Rhythmbox是什么的童鞋,请无视这篇发布文章
用途请看图(画了1个小时……木有美术细胞没办法),其实这个问题我一直想找个插件,可是就是没有,只好自己做了。DEB下载地址

重新插上耳机的时候会自动地恢复播放

惯例一些废话:

  • 这个插件用的是Python+dbus,所以,如果你的耳机插孔没有被系统识别那我也没办法,目前我的X200上一切正常,理论上应该是支持所有耳机插孔的。
  • 插件有时会导致Rhythmbox卡死(原因未知……但不是BUG……),请清除插件目录下的.pyc文件,重启Rhythmbox。
  • 至于名字嘛……我真的想不出更好的了,有好的名字可以请发到我邮箱