系统受难
前两天晕死!X突然启动不了!提示的信息是 could not open default font ‘fixed’.这个晕死人的错误我以前也遇到过。这次找了很多资料,X上的faq也照着做过了。可是就是不能解决自己机上的问题!我知道,一定是某处的配置出了问题,关键是不知道哪里出了问题。火了一下,把X删除了!结果建立在X以上的软件全部罹难。
接着下来是苦闷的重装应用软件。X终于也起来了。最烦的又要搞字体!还好问灯要了字体的配置文件。才省了不少麻烦!
这期间没啥所得的,就学会了在终端下用w3m上网!
因系统装得郁闷,到博客来唠叨一下!
QT3 编程的 hello world
未来可能需要使用QT编程,因此这里记下QT下的hello world程序吧!
下面文件保存为hello.cpp
#include <qt3/qapplication.h>
#include <qt3/qlabel.h>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label=new QLabel("hello QT!",0);
app.setMainWidget(label);
label->show();
return app.exec();
}
编译的方法:
qmake -project
qmake
make
现在可以执行程序 ./hello
和我以前写过的gtk的第一个程序一样,什么也不能干的就显示一个字符串的窗口。虽然简陋,但也是踏出了第一步!每句的代码具体是什么意义慢慢理解
要注意的问题是要装齐开发包,不然编译会不提示找不着文件之类的错误的。如果不知道要装哪些开发就把 apt-cache search qt3|grep dev 找到的包都给装上吧,这一定能成了吧!呵呵。
我看的书的示例中包含的头文件中是不用qt3/qapplication.h 而直接使用qapplication.h ,我试过,在我系统不通过编译。原因是这样直接包含头文件的话它会在/usr/share/qt3/include 里找文件,但我默认装上的qt3在/usr/share/qt3下没有include目录,全是在/usr/include/qt3下面的。因此我改了包含的头文件才通过编译。
有机会,慢慢学习(最近搞的东西太泛了~──)
Gtalk的聊天室
Gtalk使用的是jabber的协议。因此可以登录jabber服务器上的一些房间列表。这东西用起来感觉和irc差不多。使用gaim的话,可以在 工具–>房间列表 里获取服务器的房间列表。默认的服务器是 conference.jabber.org
昨天在这个服务器上开了个房间,专用于linux的中文聊天:
linuxcn@conference.jabber.org
使用Gtalk的朋友多上来聚聚啊!
父亲节快乐
今天竟然是父亲节!
要不是定阅了新浪的新闻rss,还不知道今天是这个日子。
父亲是个较沉默的人,他的儿子也是!所以在儿子高中以后两人的交谈就越来越少了!:-( 每次回家,都发现老爸的白头发增加了许多,每次劝他少抽些烟,都总是不听!对父亲的感情总是复杂的。说不清。有太多的时候也说不出!
“爸,愿你天天快乐!别再抽这么烟了,对身体不好的”
祝愿天下父亲节日快乐!
前些日子,妈妈的脚摔伤了,您也快些康复!健康是我们最好的财富!
生活之变迁
最近生活将会起大变化。将正式投入工作中~。
新的居住环境也将确定。搬迁中~
变化说来就来,让人有点措手不及的感觉。
无论怎样,对于学校,还是有一点留恋。
祝愿一切顺利.
达芬奇密码及其它
《达芬奇密码》
今天终于看了《达芬奇密码》了。都是老套的情节了,男女主角永远是被警察追捕的对象。主人公在被追捕的过程中寻找真相。而那个凶手一定是让男女主角意想不到的那个人,基本上是男女主角最信任的那个人了!这类刑侦片的形式差不多已经定下来了!不过这部片还是很有创意了,把达芬奇拿来说事了,而且基本上还能自圆其说。最有趣的是对达芬奇的《最后的晚餐》的解释上,挺玩味的。呵呵!
影片讲到圣杯是一个女人,并且是耶稣的后人时,我就猜想女主角索菲基本上就是那个圣杯了。而猜想到那个爵士李是幕后黑手还是在它的助手被毒死之前的几秒。就是在它中毒后,我马上想到是这个爵士李了,几秒后果然是他的画面出现。其它的关于密码的东西我没有猜。好像也没有什么好猜的。
看完影片之后的感觉是,得把达芬奇的《最后的晚餐》好好地看一篇。
《局内人》
一部银行劫匪案。目地性很强地,并且很有头脑的一次犯案。控制住了银行后马上把人质全换成一样的衣服并带上面罩。一开始就打算混入人质中出逃。我想这样的方案实际上是不行的吧。出来后把人质的名单都登记起来,以后对你进行跟踪调查。或调查一下他们的社会关系,很快知道他们是否之前认识的啊!总会露馅的。看吧,第二天,那几个劫匪就聚在一部车上等老大了!这还不可疑啊!说到这个劫匪老大,躲在事先在银行里挖好的某个角落里,然后等第二天银行正常营业的时候堂而皇之地走出去。其实在人质冲出来的时候,那个警长就应该知道劫匪老大并没有混在人质里。这样的话,对银行进行地毡式搜查,就可以找出来劫匪老大啊!这部片中劫匪的手段有些过于混过去了。或者这里的警察IQ都~~了~。不过还是好过以前看过的杜琪锋的《暗战II》,郑伊键最后竟然可以无缘无故地在空气中消失,完全不理观众的情景好!
《防火墙》
没看之前就听说这部片里有Linux操作系统。所以在看的时候一直盯着电影里的电脑。一开头的确是看到男主角在一个shell运行了一个命令。不过只能确定是一个shell啊,也不能确定是什么系统啊,Unix类的系统都可以提供这样的shell界面。
故事还是那样,一帮劫匪绑架了主人公的一家,威胁他为他们盗取银行的资金。这回劫匪不直接打劫银行了,改用高科技了!主人公是为银行做保安系统的公司的老总,还是个黑客哩。为了挽救家人,男主角不得已想出了用传真机里的一块电路板(那个是传真机吗?)做成扫描输入的设备,ipod做硬盘。做成了一个小型的扫描仪了。做嵌入式的人可能会知道怎么回事和这东西成功率有多大。但我想多数是天方夜谈,在电影里才出现。最后扫描了一万个最有钱的用户的帐户信息进去。
影片到最后我还是没想到和防火墙拉上什么关系了!大概是我太迟顿了吧!
《雏菊》
全智贤的电影,以前満喜欢她的那部《我的野蛮女友》的。这部电影也还可以,但是看的是国语配音的。相信大多数人和我一样都不能忍受。导演是拍《无间道》的刘伟强。取景好啊,那样的城市,那一个广场。诗情,画意。爱情,悲剧。错过。
一个典型的商业电影啊,完全知道怎样去抓取人的心。
这都是上几周看过的电影。突发其想而已!
libglade for python 入门
Libglade 是一个使用 Glade 生成代码的替代手段. 使用 Glade 设计 用户界面时, 使用一个叫 XXX.glade 的 XML 文件来描述界面中的各控件及其 属性, 并且可以直接生成相应的 c/c++ 的 GTK 代码. 和从 XML 界面描述 中生成代码不一样的是, libgalde 在运行时装载和分析 XML 界面描述文件. 它也提供了许多函数, 用于设置界面中各控件的信号处理函数.
通过这种方式, 使得你的程序代码从界面代码中分离出来.
上面文字引自gnome-cn的libglade编程介绍。关于libglade的介 绍请阅读上面站点的内容。下面是一个用python语言调用libglade的演示代码。
#!/usr/bin/env python
#testing libglade for python
#filename: libpygtk.py
#author lerosua
import pygtk
pygtk.require("2.0")
import gtk
import gtk.glade
class testglade:
def delete_event(self,widget,event,data=None):
return gtk.FALSE
def destroy(self,widget,data=None):
gtk.main_quit()
def __init__(self):
self.xml=gtk.glade.XML('libpygtk.glade')
self.mainwindow=self.xml.get_widget('mainWindow')
self.mainwindow.connect("delete_event",self.delete_event)
self.mainwindow.connect('destroy',self.destroy)
def main(self):
gtk.main()
if __name__ == "__main__":
window=testglade()
window.main()
代码很简单。新建一个testglade类。一开始是定义了两个回调函数。在构造方法中,testglade类从libpygtk.glade文件中得到xml数据。然后从xml中得到主窗体构件(mainWindow)。其它窗体构件也可以用这种方法得到。信号连接,调用的是构件的connect方法。main()方法则是进入gtk事件循环。
if语句处是程序入口。定义一个类的实例,进入gtk事件循环。窗体显示。
现在,用glade画一个窗体吧,主窗体的名字用mainWindow,保存的文件名叫libpygtk.glade.并放到与上面代码相同目录下。 OK,运行上面的python代码吧!
python libpygtk.py
程序界面出来了吧!比C语言版本简单吧。呵呵!如果想深入学习可以参考一下相关源代码。Blogtk是用libglade和python写,不错的参考对象。本文就是参考它写的。
自由软件世界八荣八耻
以自由开源为荣 以顽固闭源为耻 以服务社区为荣 以背离社区为耻
以无偿奉献为荣 以无度索取为耻 以团队合作为荣 以独断专行为耻
以创新开发为荣 以坐享其成为耻 以贡献代码为荣 以剽窃代码为耻
以守法正版为荣 以违法盗版为耻 以巨努精神为荣 以微软手段为耻
PS: “巨努”为”GNU”音译
来源于Linuxsir上的Lolita的签名。窃以为值得推广,因此在博客上转贴之。他人我不认识,不过法国一个MM: Alizee唱的一首叫Moi Lolita的歌倒是很好听的!
被软件摆了一道
一直以来都是用fetchmail来帮我自动收邮件的。这也一直工作得很好。直到上个月的25号开始,我一直都没有收到邮件了。当时没太在意。以为是自己没有邮件了。
但我的博客上有新留言的话系统会发邮件通知我的。而这几天一封都没有收到。今天终于怀疑起来。用手动收邮件的方式检查我的gmail,发现竟然有13封邮件未收取。我不禁大惊,fetchmail到底在干嘛哩。这时才查看了一下进程:
ps ax | grep -v grep | grep fetchmail
发现原来fetchmail并没有在运行。晕!手动敲入这个命令后进程列表里仍没有它的身影。用fetchmail -c测试一下系统提示说有另一个fetchmail在运行。再晕!
查出来的结果是:在自己目录下有一个.fetchmail.pid文件,这个是fetchmail用来锁定单一进程的文件。也许是我某次系统重启,而fetchmail没来得及清理这个文件,导致它认为已经有另一个fetchmail在运行中而退出。清理掉这个文件,fetchmail重新得到运行。
是我太依赖于这个软件吗?以为fetchmail没有收到邮件就是我没有邮件了。没想到是fetchmail出了些差错。但软件和人一样也是会出错的啊~ 然而因为这样就不对他们产生信赖了吗?
软件有时的确很健壮。但处于复杂的环境中,往往犯起毛病来和大小姐发脾气一般,让人摸不着头脑。像我之前的内核突然崩溃,一直都没时间去找它的毛病在哪。而是换了个内核用。
毕业照
发布张毕业照,清晰版的要去flicker上看了!

~