I am LAZY bones?
AN ancient AND boring SITE

read-edid这个包出错了

要emerge个lm_sensors,依赖了x11-misc/read-edid-1.4.1-r1这个包,而且编译当中出了点错,装不上了.

i686-pc-linux-gnu-gcc -O2 -march=pentium-m -pipe -fomit-frame-pointer -Wl,-O1 -o parse-edid parse-edid.o
lrmi.c: 在函数‘set_regs’中:
lrmi.c:305: 错误:‘IF_MASK’未声明(在此函数内第一次使用)
lrmi.c:305: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
lrmi.c:305: 错误:所在的函数内也只报告一次。)
lrmi.c:305: 错误:‘IOPL_MASK’未声明(在此函数内第一次使用)

这样一大串,我就不解了,后来在gentoo的bugs里面找到了这个bug,希望能早点解决,哈哈.
流水帐记录之.

fcitx有svn了

fcitx的sf主页有更新了,而且代码也第一次有了svn,可以执行如下命令得到最新的fcitx的代码:

svn co https://fcitx.svn.sourceforge.net/svnroot/fcitx

目前还只有3个版本,log:

————————————————————————
r3 | yuking | 2008-10-19 01:00:36 +0800 (日, 2008-10-19) | 1 line

Add wbpy.txt to data directory’
————————————————————————
r2 | yuking | 2008-10-19 00:49:50 +0800 (日, 2008-10-19) | 1 line

Add some files under ‘data’ directory’
————————————————————————
r1 | yuking | 2008-10-18 23:34:12 +0800 (六, 2008-10-18) | 1 line

First SVN
————————————————————————

最新的版本号是081016,这是不是代表阔别1年多的fcitx即将回归呢?

gentoo下的gnome-osd

ubuntu论坛里有个可用性已经不错的歌词脚本,如果用上gnome-osd显示,效果很好的,昨天想在gentoo下试试,结果发现gentoo下根本就没有这个包,汗了,这个应该是gnome组件里面的一部分啊,怎么会没有呢?
于是到overlay里面找,发现了这个,下载了ebuild文件,安装,但是configure的时候就失败了,理由是找不到python2.4和2.3,心想这一定是个比较老的ebuild的,那时候应该还没有python2.5,于是想花点时间修改configure脚本算了,倒也是修改好了,也安装上了,但是gnome-osd-client的时候,却又是一堆错误,而且一看就知道是python的错误.才发现这个代码确实是不兼容python2.5的.
但是回头想想,ubuntu里面的python不也是2.5的嘛,于是肯定只有一个可能,就是这个源码包不是最新的,从那个ebuild的源码包顺藤摸瓜,终于找到了最新的下载地址,于是顺手改了下ebuild的文件,不知道有没有可能放进gentoo-china的overlay呢?

解决了gentoo下的luit乱码/崩溃的问题

问题的起因是这样的: 我之前的那个sssh快速登录脚本,到了gentoo下,发现就不灵了,输完命令回车,就直接出错退出了,在排除了expect的问题和ssh本身的问题以后,很快就把问题定位到了luit,luit是个用于装换终端程序编码的东东,我的sssh脚本就是靠它登录gbk的远程服务器的.但是gentoo下,却出了问题.
于是拿个gb2312编码的fcitx的config文件做了下测试,如下:
$ luit -encoding gbk cat ~/.fcitx/config
段错误
而执行 luit -encoding gb2312 cat ~/.fcitx/config 出来的又是乱码.(ubuntu下不管是gbk还是gb2312都是正常输出的.)

然后我就strace了一下:
strace luit -encoding gbk cat ~/.fcitx/config
发现有这样的输出:

open(“/usr/share/fonts/encodings/encodings.dir”, O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=4526, …}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78ff000
read(3, “128\ngb18030.2000-0 large/gb18030.”…, 4096) = 4096
open(“/usr/share/fonts/encodings/large/gbk-0.enc”, O_RDONLY) = -1 ENOENT (No such file or directory)

马上 ls /usr/share/fonts/encodings/large ,发现有个 gbk-0.enc.gz 但是没有 gbk-0.enc 这个文件,所以上面报打开失败.而且这个文件名是从 /usr/share/fonts/encodings/encodings.dir 里读取的.所以看了下:

$grep gbk /usr/share/fonts/encodings/encodings.dir
gbk-0 large/gbk-0.enc
gbk-0 large/gbk-0.enc.gz

发现有这么两行输出,猜想会不会是顺序问题,意思把那文本里面的这两行对换了下位置,再 luit -encoding gbk cat ~/.fcitx/config 的时候,发现输出正常了,哈哈,当然sssh脚本又可以用了~~

也用上2.6.27的内核了

话说这gentoo的更新还真够快的,前几天才发布的2.6.27正式版内核,今天就进了portage.于是就编译,用上了.
没有什么大问题,因为之前的ipw3945和alsa-drivers都是另外安装的,而这次我决定把他们都弄到内核里面,这样就不用在每次换内核以后,都重新安装那几个包了.也因此,内核也增长到了2.5M以上,呵呵.
重启以后,发现alsa的声音没有任何问题,至于无线,iwconfig里面能看到,设备由原来的 eth1 变成了 wlan0.但是 ifconfig里面缺没有了,而且 ifconfig wlan0 up 居然提示:”SIOCSIFFLAGS: 没有那个文件或目录”.irc问了一下,说是由于缺少firmware,而且 dmesg 里面会有一堆这样的信息:

firmware: requesting iwlwifi-3945-1.ucode
iwl3945: iwlwifi-3945-1.ucode firmware file req failed: Reason -2
iwl3945: Could not read microcode: -2

解决方法就是安装这个包: iwl3945-ucode 装完之后 ifconfig wlan0 up就正常了,哈哈.
这下可以把这些包都卸载了: net-wireless/ipw3945 net-wireless/ipw3945d media-sound/alsa-driver

gentoo下的bash-completion

基本上就是 emerge bash-completion ,然后安装提示,在 ~/.bashrc 里面加上一行 [[ -f /etc/profile.d/bash-completion ]] && source /etc/profile.d/bash-completion
然后就搞定了,因为我的 /home 是和ubuntu共用的,所以稍微修改了一下,两个系统不同部分这样处理了,如下:

if echo “uname -a” | grep gentoo >/dev/null ; then
[[ -f /etc/profile.d/bash-completion ]] && source /etc/profile.d/bash-completion
alias au=’sudo emerge –sync && sudo emerge -avuDN world’
alias ai=’sudo emerge -av’
alias ar=’sudo emerge -av –unmerge’
alias as=’eix’
else
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
alias au=’sudo apt-get update && sudo apt-get upgrade’
alias ai=’sudo apt-get install’
alias ar=’sudo apt-get remove –purge’
alias as=’apt-cache search –names-only’
alias aw=’aptitude show’
fi

还有一点点小问题,就是我的系统(wd的也是)里面 source /etc/bash_completion 以后, echo $? 看到的是1,但是oceanboo的就是0,而且文件的md5sum都是一样的.这问题貌似不怎么影响使用,就是有点不解而已.
另外,bash-completion的更详细用法可以参见这里

cpu的降频和温度监控

以前一直以为自己的cpu不支持降频,也就没怎么去研究,直到 lerosua 告诉我,那是因为我没配置好,呵呵,汗自己一个。
其实也很简单,ubuntu和gentoo下都只要安装 cpufrequtils 这个包即可。然后确保加载了 acpi_cpufreq 这模块。
然后就可以用 cpufreq-set 命令调解cpu的频率了,默认是调整第一个内核,要调另外一个,只要加 -c1 参数即可。 -g ondemand 可以把cpu置为自动调解状态,会按需条件频率。
另外 cpufreq-info 命令可以查看当前cpu的频率、以及支持的频率等等,也可以在面板上放两个“cpu频率范围监视器”,没个监视一个内核,比较直观。
cpu的温度检测是要安装 lm-sensors 这个包,可以先用 sensors-detect 查看你的硬解有哪些传感器,按照提示做,就会把几个内核模块加进 /etc/modules 里面,也可以手工 modprobe ,完了以后执行 sensors 就应该有输出了,不过我的输出比较奇怪:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +13.0°C (crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1: +10.0°C (crit = +100.0°C)

室温都不止这点温度,难道是传感器坏了?

记一下新的vbox源地址

以前的源

deb http://www.virtualbox.org/debian hardy non-free

早就已经不能用了,因为觉得没有升级的必要,也就一直用着老版本的vbox,是1.6.2。但是因为在我的gentoo下装的2.0.2的新版本,于是在gentoo下的新vbox里面打开了虚拟的xp系统以后,再用老的vbox就不能打开了,于是ubuntu下的也被迫升到了新版本,真的是被迫的,还装了一堆qt4的库呢。。。
被sun收购以后的源地址在这个页面里面有,记一下:

deb http://download.virtualbox.org/virtualbox/debian hardy non-free

,感觉2.0系列的除了要求qt4库以外,也没啥大变化啊,要说有,那就是包名变成了:“virtualbox-2.0”。

语音播报天气的脚本

我以前写的一个天气预报脚本,由xiooli同学完成了语音部分,嘿嘿,效果还不错的哦~
下载地址: http://ftp.ubuntu.org.cn/home/xiooli/say_weather.tar.gzhttp://linuxfire.com.cn/~lily/say_weather.tar.gz

xiooli的原帖在这里,还有他的一个报时脚本,也很好玩。

gentoo下gedit不能自动识别编码的问题

gentoo下的gedit,无法自动识别编码,打开fcitx的配置文件之类的那种GB2312的文件,中文就是一片乱码了。
想想ubuntu下的gedit是会自动转编码的,肯定是配置问题,上irc问了,oahong告诉我个地址:http://www.linuxsir.org/bbs/showthread.php?t=310960&highlight=
解决办法就是:

也可以在 gconf-editor 里面改。