Archive for the ‘智能系统研究’ Category

成功卸载了FreeBSD下的scim了

Monday, January 5th, 2009

真不知scim的开发者为何方神圣,成功的将流氓软件的各项理念发扬到了开源领域。用尽龌龊的方法,确保他的scim可以给你捆绑的一塌糊涂,让你用尽方法都躲不掉。我前段时间配置自己的FreeBSD工作环境时就提到了,最后无论如何都没有办法在gvim不使用scim。查询google多日,发现另外一位仁兄也有此问题。连接 http://freebsd.chinaunix.net/bbs/thread-993367-1-1.html  。

有如他描述的那样,scim用尽方法将自己捆绑到系统中,绕过标准的环境变量配置,并且在所有GTK程序启动时捆绑启动。而且会破坏GTK程序的运行,一个输入法就可以干掉你整个程序。而且,只要你下狠心删除掉scim,系统的问题就自然解决了。

我前段时间配置的FreeBSD工作环境里gvim启动时一直没法去掉的提示信息,现在看来也是scim捆绑所导致的。现在删除scim以后两个问题都解决了。启动gvim时没有提示信息了,而且小企鹅fcitx也使用正常了。

删除方法很小白,简单的讲就是先找出所有scim的隐藏位置:

# pkg_info | grep scim

列出的软件包有4个,依次用强制删除即可:

# pkg_delete -f scim-1.4.7_1

注意必须是强制删除,因为其强制捆绑到了zh-auto-cn-l10n-1.1中。

为在FreeBSD下删除一个流氓软件而庆祝!不过在我的N810中,依然是scim,以后想想办法,丫的宁可用网页输入法也不用scim这个流氓软件。

FreeBSD7.0下gvim的中文化安装

Thursday, November 27th, 2008

最近想搞个FreeBSD工作环境,因为Linux一直没有什么书告诉我它到底是如何工作的。小有收获,记录如下。

首先要提的当然是ion2窗口管理器。转为提高工作效率而设计的东东,虽然丑了一点。

随后便是郁闷了两天的gvim问题。我用packages和ports安装的vim-7.1.145在控制台下还好,中文之类的都OK,可是在GUI下,也就是gvim就总是报错:

Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **: GBK-0

尝试过多次,最终比较靠谱的设置是:

set guifontset=-*-*-medium-r-normal-16-*-*-*-c-*-*-*

可以显示中文,但是启动gvim还是拥有如上的错误。如果不加这句,连显示中文都是妄想。

最后无奈通过源码编译方式安装了vim-7.2,装好了就天下太平了。设置字体使用:

set guifont=Courier\ 9

遇到过如上问题的通过可以考虑绕过去了,不必总是为那个问题郁闷了。不过编译安装的gvim在启动时总是要显示6行提示信息,现在还不知道怎么关掉,不爽的。

如何在较新的S60 3rd手机上安装PyS60

Sunday, September 14th, 2008

以前在我的Nokia 5500上安装pys60一帆风顺,可是后来有个同事拿来个E71,结果安装后找不到Python的启动图标,一头雾水了好久。直到近日给我的N95 8GB安装时也是一样的问题。安装一切顺利,安装后却找不到Python的图标。网上找了好一会才发现是少安装了一个东西- “PythonScriptShell_1_4_4_3rdEd.SIS” ,这个东西专门提供Python图标用的。真是晕死……,为啥官方文档不早说。

此提示来自于博客 “http://hi.baidu.com/xncyy/blog/item/60dbc524b76734318744f9a6.html” ,感谢此博客作者。

好了,问题就这么简单,把两个东西都装上以后,就可以在主菜单的”应用程序”目录里找到了。

刚才无意间发现搜索”pys60″,我的博客居然在google上排名第二位。这是自zenoss以来第二个达到这个水平的关键词,撒花……

配置了一台自己的小服务器

Tuesday, September 2nd, 2008

配置了一台自己的小服务器

如题,自己的电子笔记都是用reStructuredText来写的,数量庞大,所以一年多以前就开始用subversion来管理了。后来自己也有些程序希望用svn管理,但是又不方便用公司的。考虑良久之后自己配置了这个小服务器。

期间考虑过多种方案,如下:

1、belkin-7231-4P+U盘:无线路由上安装openwrt,然后安装subversion。
优点:省电,可以长时间运行
缺点:只有一个USB接口,存储容量较小,且没有备份机制。安装复杂,成本仅仅比EPIA服务器的方案低一点。

2、mss+硬盘:迈拓的网络硬盘盒,有些爱好者在上面研究的,可以自己把原来的firmware改成openwrt。
优点:省电,不过不如7231的省电,使用台式机硬盘存储容量大
缺点:成本已经高于EPIA的方案了,改装openwrt需要自己焊接串口线,openwrt对mss的支持是Untested状态,稳定性值得怀疑。FlashRom只有2MB,太小了

3、EPIA方案:VIA EPIA系列全集成主板+内存+硬盘+机箱。
优点:x86平台,支持的软件多,安装方便,接口丰富
缺点:耗电量很大,50-70w的样子,已经不太适合全天开机了

当然,最后我选了EPIA的方案。其中各个配件如下:

主板:EPIA M9000,处理器C3 933MHz、DDR266内存插槽、集成显卡、2个IDE插槽、软驱插槽、集成声卡、集成网卡、PS2键盘鼠标接口、并行口、1个串行口、USB2.0x4前后各2个。RCA接口,S-Video接口,3个音频口。板载2个1394接口,FIR接口、CIR连接器、网络唤醒……。尺寸是17x17cm的Mini-ITX规格。零售价280。

内存:现代512MB DDR400,128元。

机箱:大水牛NC机箱,黑色,内置50w电源(峰值150w)。实测同时挂接IDE光驱和硬盘时运行稳定。售价210。

如上的3件东西由taobao的商家负责组装测试OK以后再发货给我,含邮费共600元。机器到了以后我装上了大学时剩下的120GB台式机硬盘。不过很可惜,大水牛的NC机箱装上那个主板以后就没有空间安装台式机硬盘了,只能装笔记本硬盘,所以我把IDE线引出机箱安装的硬盘。如果比较注重美观的可以另外去买笔记本硬盘。

操作系统是FreeBSD 7.0,最近刚刚开始学,因为有linux的基础,学起来轻车熟路。用了两天的时间就搞定了所需的所有软件。

另外就是省电的问题。这个主机虽然使用了嵌入式主板、CPU,不过耗电量还是不可忽视。所以这里就有个需要时才开机的问题了。多年前有一项技术叫Wake On Lan,使用网络可以唤醒一台计算机的开机。我拿到机器的第二天晚上第一次测试就通过了,甚至我都没有在BIOS中设置就是默认支持了。

随后给家里的路由做了ssh和svn的端口映射,路由上的tomato-1.17是直接支持WOL的,测试也通过。

现在每天早晨起来懒懒的上班,工作时远程连接到家里的7231-4p无线路由,用WOL给小服务器开机,等待一分钟以后可以用ssh登录了。随后subversion之类的都是默认启动。如果要去开会或者长时间不用,则可以通过ssh发送一条”halt -p”过去(确保apm功能打开),然后机器就关闭了。

嗯,和谐多了。

下面给出使用Python来发送WOL开机数据包的脚本,网上抄来的。缩进所需的空格全部替换成”^”了,因为我的wordpress还不会修改css。

# Wake-On-LAN
#
# Copyright (C) 2002 by Micro Systems Marc Balmer
# Written by Marc Balmer, marc@msys.ch, http://www.msys.ch/
# This code is free software under the GPL

import struct, socket

def WakeOnLan(ethernet_address):
^^^^# Construct a six-byte hardware address
^^^^addr_byte = ethernet_address.split(‘:’)
^^^^hw_addr = struct.pack(‘BBBBBB’, int(addr_byte[0], 16),
^^^^^^^^int(addr_byte[1], 16),
^^^^^^^^int(addr_byte[2], 16),
^^^^^^^^int(addr_byte[3], 16),
^^^^^^^^int(addr_byte[4], 16),
^^^^^^^^int(addr_byte[5], 16))
^^^^# Build the Wake-On-LAN “Magic Packet”…
^^^^msg=’\xff’*6 + hw_addr*16
^^^^# …and send it to the broadcast address using UDP
^^^^s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
^^^^s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
^^^^s.sendto(msg, (‘<broadcast>’, 9))
^^^^s.close()

# Example use
mac=’00:00:00:00:00:00′  #改成你需要WOL开机的MAC地址
WakeOnLan(mac)

PyS60编写的Nokia手机短信备份程序

Wednesday, July 23rd, 2008

用于将手机的收件箱、发件箱、已发信箱、草稿箱中的全部短信备份到存储卡上。分成4个文件来备份以示区分。适用于怕老婆检查手机者,哈哈哈哈。

需要在手机上安装好PyS60的最新版。至于源程序,请跟帖留下电子邮件地址,我会选择时间发邮件给你。

越来越看好S60这个平台了,甚至略有希望于google andriod出现之前symbian可以迅速的完成开源流程并占领山寨机操作系统市场。由于PyS60的文档尚没有翻译完的任何一章,所以还要过些时候才会贴出来。