I am LAZY bones?
AN ancient AND boring SITE

用上了2.6.29的内核,A卡驱动搞定

今天也体验了一把用gentoo来hack的乐趣,哈哈.
昨天(还是前天?)2.6.29的内核就已经进了gentoo的源,今天编译好,用上了,倒是能启动,但是却出了点小问题:我的A卡驱动坏了…编译内核模块的时候,由于内核源文件的修改,使得编译无法通过,无法生成内核模块了…结果我的compiz就罢工了…
于是,就google呗,搜到这个补丁,然后调用gentoo强大的hack功能,就给装上了,方法如下:
1.建一个自己的overlay,用gentoo的应该都有自己的overlay吧? 比如我的在 /usr/local/portage.
2.把 /usr/portage/x11-drivers/ati-drivers/ 复制到 /usr/local/portage 下面.
3.下载这个补丁到 /usr/local/portage/x11-drivers/ati-drivers/files 目录下.注意这个补丁和上面 phoronix 帖子里的不完全一样,用那个在我这里失败了,所以我稍微修改了下路径.如果你的内核源码也在 /usr/src/linux 的话,直接可以用.
4.修改 /usr/local/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild ,在src_unpack()里加一行

5.生成 Manifest 之类的以后,就可以emerge了.
完成,我的compiz又回来了,啊哈哈…

DELL A840上的ubuntu

前天MM公司善心突发,给她们每人配了台本本,于是MM到手一台基本上是DELL里面价位最低的A840,打开一看,预装的是ubuntu 8.04,哈哈,这下好玩了…
默认的系统东西装得也蛮全的了,而且硬件驱动自然是很完美.无线,compiz之类的都没问题.
于是把一堆不需要的语言包卸载以后,就开始升级,升到hardy的最新内核,问题却出现了: 无线用不了了,声音也有问题…
搜索一下,发现这个版本的内核好像对它的硬件支持不太好,后来也证实了这点,从8.04的光盘启动,居然会出现busybox,这还是预装ubuntu的电脑呢!唉.
然后说升级到8.10会好,于是就升级,也出现了一些小问题,是 xulrunner 需要的几个库文件不存在,看了一下,只是少几个符号链接,补上后,顺利升级成功了.发现声音好了,无线还是不行,搜索了无线网卡的型号: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter 发现要安装一个 linux-backports-modules-intrepid 的包,装上重启,无线也正常了,至此硬件驱动基本恢复到完美的水平…

MLMonitor

这个创意其实是wd首先提出的.
然后,我搞了一半,才刚能取到数据,显示也是文本的,因为我不太会图形编程,所以就没继续下去了.
直到前几天知道壳壳在也在搞查看mldonkey下载速度的脚本.
然后一打听,他也是gnome用户,还是python高手,还会图形界面编程,问他有没有兴趣继续搞这applet,然后…于是…最终…就有了这个.
目前已经基本可用了.
盗链下壳壳的截图:

要显示出详细信息的话,需要有 pynotify 这个模块,ubuntu用户可以安装python-notify这个包,gentoo用户是 dev-python/notify-python ,其他发行版估计也是类似的,自己搜索下吧.
目前,还有很多改进工作要做,所以,暂不提供下载了,要尝鲜的朋友可以从svn下到源码和安装脚本.执行里面的 ./install.sh -i 即可安装.完了之后,在面板空白处,右键-添加到面板,就会看到可以添加 MLMonitor 了.

wget的-e选项

wget可谓居家旅行,杀人越货的必备之物了~其体积小巧,功能强大.所以,同时,其选项也比较繁多,man也是长长的,但是却有写个小技巧没写出来.
man里有这样的描述:

Wget can follow links in HTML and XHTML pages and create local versions of remote web sites, fully recreating the directory structure of the original site. This is sometimes referred to as “recursive downloading.” While doing that, Wget respects the Robot Exclusion Standard (/robots.txt). Wget can be instructed to convert the links in downloaded HTML files to the local files for offline viewing.

于是乎,如果你想mirror一整个站点,但是人家的 /robots.txt 却是:

User-agent: *
Disallow: /

你就要开始郁闷了,呵呵.
而且,我翻遍了man也找不到解决办法的,总不能为这点事去hack源码吧…
其实有这么个选项:

-e command
–execute command
Execute command as if it were a part of .wgetrc. A command thus invoked will be executed after the commands in .wgetrc, thus taking precedence over them. If you need to specify more than one wgetrc command, use multiple instances of -e.

用这个,就可以忽略 robots.txt 哦,具体是 -erobots=off 嘿嘿.

BotCalk

谢谢lerosua写的介绍,我就基本上抄现成的了,哈哈~

BotCalk是近来我和lerosua搞起的一个项目,目的是丰富jabber聊天室里的聊天环境。目前你也许能在 linuxcn@conference.jabber.org 里遇到一个叫 iBot 的家伙,就是它了.
当然也是个学习的过程。主程序改自gloox里的聊天室测试代码。botcalk把聊天室里的消息发送到一个管道,而有个脚本读取消息处理后再发送到另一个管道上。botcalk会循环读这个管道,然后把信息发送出去。
原理有些粗糙,目前就这么实现了发送链接读取网页标题的功能。但bug在于机器人登录后似乎导致聊天室不太正常,吃掉某些人发出的信息。
BotCalk 代码地址在 http://code.google.com/p/botcalk/ ,通过svn取得吧
编译botcalk需要gloox 1.0beta2以上版本,
需要的配置文件bot.conf:

然后执行目录下的bot.sh即可。

目前这个机器人还很粗糙,所以以上仅学习参考使用.

PS: lerosua兄还写了个连载的小说,大家一起去围观吧~

lrcdis的截图

为了让大家对lrcdis有个基本的了解,上一张截图,所谓一图胜千言嘛。
点击查看大图:
lrcdis

lrcdis正在进步

最近几天,以前一直比较沉默的 lrcdis 正在快速发展中。
新添加了notify,title和echo几个显示方式。然后由于 oldherl 的加入,也改进了少的小bug,还增加了从baidu下载歌词的功能。然后项目还加了个FAQ页
这虽然只是个小脚本,但也恰好证实了开源的力量,众人拾柴火焰高嘛~
希望以后脚本越来越强大,linux的歌词也能很精彩,而且可以无处不在~哈哈

外挂式显歌词脚本──lrcdis

lrcdis是一个外挂式显歌词的脚本,特点是简单易用,只需下载后做为普通脚本执行即可,可以自动检测播放器,无须以插件的方式另外安装。
目前支持的播放器有mpd, mocp, audacious, amarok, exaile, quodlibet, rhythmbox, mplayer
目前支持 CLI,OSD,nitify,fifo文件等输出方式。
欢迎大家试用,并提出宝贵意见。更多内容及下载地址项目主页

找到了访问code.google.com时断时续的原因

最近几天,我这边访问code.google.com都是时断时续,搞的我很郁闷。
今天研究了一下了,发现 ping code.google.com 也是时断时续,而且不通的时候,返回的IP都是 72.14.203.* ,而通的时候,IP都不是这个段的,可能是 209.85.175.100 这样的一个IP。
所以原因很明显了,要么是在DNS环节被动了手脚,要么是 及.艾服.达不留 封了部分IP(话说2会期间抓得紧,盾牌升级出点小错也是情有可原的)。
但是,咱天朝的网络一向都是自由、顺畅的啊,所以不禁怀疑起自己的RP了。。。
没办法,RP不行就只能靠JP了,

搞定。
=====20090624 update=====
现在上面这个IP也不行了,要用 72.14.203.102 这个IP了.

修改gnome-terminal的title的办法和杂七杂八的ANSI控制码记录

折腾这个的原因是:有时候gnome-terminal的窗口开多了,就容易忘记哪个是哪个了,尤其是用脚本登录到多个不同服务器以后,就经常会混淆,把原本想在这个服务器上执行的命令输到那个服务器的窗口里面去了。这样有可能会造成非常严重的后果。
当然也有手工的解决办法,就是登录一个服务器就在 终端 – 设置标题 那里设置一下,就可以固定住了,但是这样每开一个tab都设置一下的办法确实很麻烦,所以我想修改脚本来实现把参数设置成标题。
想到平时emerge的时候,tab的标题是会变的,所以翻出portage的源码找,也找着了,把py的翻译成了bash的也很容易,简单的说,就是下面这一句:

在执行的3秒钟里,就可以看到title已经变成了test了。不过3秒一过,马上又变回PS1的样子了(具体是什么和 编辑-配置文件首选项-标题和命令 里面的设置有关)。写到sssh脚本里面也一样,在登录的瞬间是可以看到自定义的标题的,但是登录成功以后,又变成了远程机器的PS1的样子。
看了一下gnome-terminal的代码,似乎在不修改gnome-terminal的情况下是搞不定了,呵呵,得搞个接口修改gnome-terminal的内部数据?

另外,记一下不完全的ANSI控制码吧,上面这个改标题的,也是用了其中的一个:

\e[0m 关闭所有属性
\e[1m 设置高亮度
\e[2m 变暗
\e[4m 下划线
\e[5m 闪烁
\e[7m 反显
\e[8m 消隐
\e[9m 删除线
\e[30m ~ [37m 设置前景色(颜色值见下面说明)
\e[40m ~ [47m 设置背景色(颜色值见下面说明)
\e[nA 光标上移n行
\e[nB 光标下移n行
\e[nC 光标右移n行
\e[nD 光标左移n行
\e[y;xH 设置光标位置
\e[2J 清屏
\e[K 清除从光标到行尾的内容
\e[s 保存光标位置
\e[u 恢复光标位置
\e[?25l 隐藏光标
\e[?25h 显示光标

颜色代码:
  0 - 黑色     4 - 蓝色
  1 - 红色     5 - 粉红色
  2 - 绿色     6 - 青色
  3 - 黄色     7 - 白色

部分属性可以叠加进行设置,中间用“;”隔开,例如设置绿色前景、红色背景并高亮显示可以这样写: \e[01;32;41m

目前还没有找到所有代码的含义要查看全部的代码,请参考Emca-048标准。以上引用部分内容自出处一出处二