Archive for the 'CU' Category

StarDict @download.maemo.org

I have submited StarDict to Application Catalog.

The url is http://maemo.org/downloads/product/stardict

From there, you can click the ‘install’ icon to install StarDict on your N800 device.

Also I find hellwolf - a member of ChinaUnix has do some work on porting StarDict 3.0 to maemo platform. Here is his work.

发布ChinaUnix Forum Menu 0.7.3

最近CU论坛变化很大,所以修改了解析论坛用的正则表达式和解析策略(改成根据显示论坛的表格来解析了)。

为了美化调试信息,学会使用了javascript中的如何重写对象的toString方法

Klass.prototype.toString = function () {
    
return "something meaningful";
}

还有,修改了build脚本里不更新属性文件中版本信息的bug(bug现象是安装新版本后第一次启动Firefox不显示ChinaUnix Forum Menu的主页)

下一个版本可能会提供一个选项对话框,可以设置解析用的正则表达式。

下载扩展请访问 guoyong.org/cu-forum-menu
Addons更新需要审核,比较慢(而且似乎更新有些问题),建议不要从那里下载或更新了。

我做的用来访问CU的Firefox扩展,可以支持Firefox 2.0了

忙了两天,终于升级到了0.6.0版本。上一个版本还是2月份写的,都快一年了,汗。。。

这次重构了代码,改成从CU论坛的首页动态读取论坛列表,也简化了菜单结构,够用就好,简单就是美。

安装地址:
https://addons.mozilla.org/firefox/1664/

可能有的问题:在某些主题下可能无法显示菜单项,比如Noia 2.0(eXtreme)这个主题。

欢迎广大CUer使用并提出修改建议。

ubuntu下使用T43的指纹识别设备

我参照这个Howto设置了T43上的指纹识别设备,在登录GDM时可以刷指纹了。

1. 安装bioapi framework

从http://www.qrivy.net/~michael/temp/下载bioapi_1.2.3_i386.deb

$ sudo dpkg -i bioapi_1.2.3_i386.deb

不用理会出现的”Ignore the warning about not finding /usr/lib/libqtpwbsp.so“这个错误信息
用ldconfig命令验证

$ ldconfig -p |grep bioapi

我这里的输出:

libbioapi100.so.0 (libc6) => /usr/lib/libbioapi100.so.0
libbioapi100.so (libc6) => /usr/lib/libbioapi100.so
libbioapi_mds300.so.0 (libc6) => /usr/lib/libbioapi_mds300.so.0
libbioapi_mds300.so (libc6) => /usr/lib/libbioapi_mds300.so
libbioapi_dummy100.so.0 (libc6) => /usr/lib/libbioapi_dummy100.so.0
libbioapi_dummy100.so (libc6) => /usr/lib/libbioapi_dummy100.so

2. 安装并配置指纹识别设备的驱动

2.1 安装驱动
从http://www.upek.com/support/dl_linux_bsp.asp下载TFMESS_BSP_LIN_1.0.zip

$ unzip TFMESS_BSP_LIN_1.0.zip -d tfmess
$ cd tfmess
$ sudo sh install.sh /usr/lib

2.2 配置权限使非root用户也可以使用

$ sudo addgroup --system bioapi
$ sudo addgroup --system usbfs
$ sudo adduser yournormaluser bioapi
$ sudo adduser yournormaluser usbfs

把yournormaluser换成你的用户名。
ubuntu Dapper使用了udev,所以按照howto里说的,修改/etc/udev/permissions.rules,添加一行

SUBSYSTEM=="usb_device", MODE="0660", GROUP="usbfs"

2.3 用TFMESS_BSP_LIN_1.0.zip带的工具测试

$ cd tfmess
$ cd NonGUI_Sample
$ vi main.c

注释掉这行 #include “port/bioapi_port.h”
编译

$ gcc -o Sample main.c -L/usr/local/lib -lbioapi100 -DUNIX -DLITTLE_ENDIAN

应该有一个叫Sample的程序生成。用root身份运行这个程序

$ sudo ./Sample

出现一个菜单:
e .. Enroll
v .. Verify
m .. Verify Match
c .. Capture and Create Template
q .. quit
输入e,再按照提示给出你的用户名后就会出现一个输入指纹的小窗口,连续刷3次,你的指纹就录入到文件中了,文件名是你的用户名+.bir,输入v是检验已输入的指纹。

bioapi_enroll.jpeg

bioapi_enroll1.jpeg

3. 安装pam_bioapi
下载http://www.nax.cz/pub/bioapi/pam_bioapi/pam-bioapi_0.3.0.tar.gz

$ sudo apt-get install libpam0g-dev
$ sudo apt-get install sqlite3 libsqlite3-dev
$ tar xvzf pam-bioapi_0.3.0.tar.gz
$ cd pam-bioapi
$ ./configure --libdir=/lib && make
$ sudo make install

下面要取得指纹设备的序列号用来设置pam

$ SERIAL=`sudo BioAPITest | sed -ne "/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}"`
$ echo $SERIAL

结果是像这样的一串字符 {5550454b-2054-464d-2f45-535320425350}
修改/etc/pam.d/gdm
把 @include common-auth 这行替换成下面两行,其中第一行中的第四列就是前面那个$SERIAL的值。

auth    sufficient      pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/biopasswd.db :0
auth    required        pam_unix.so nullok_secure

然后用root身份执行test_enroll-pam_bioapi命令(在/usr/local/bin下)来保存用户对应的指纹信息。

$ sudo test_enroll-pam_bioapi

完成后,/etc/bioapi/pam下应该生成一个biopasswd.db的SQLite数据库文件,可以用sqlite3命令查看。

$ sudo sqlite3 /etc/bioapi/pam/biopasswd.db
sqlite> .schema
CREATE TABLE biodata (id INTEGER PRIMARY KEY,uid INTEGER,uuid TEXT,header BLOB,data BLOB,signature BLOB,type INTEGER,other BLOB);
sqlite> select count(*) from biodata;
3
sqlite> .quit

如果没有生成,就用sqlite3命令手工建立这个数据库。

$ sudo sqlite3 /etc/bioapi/pam/biopasswd.db
sqlite> CREATE TABLE biodata (id INTEGER PRIMARY KEY,
uid INTEGER,
uuid TEXT,
header BLOB,
data BLOB,
signature BLOB,
type INTEGER,
other BLOB);
sqlite> .quit

可以多次执行test_enroll-pam_bioapi命令为一个用户关联多个指纹。用test_verify-pam_bioapi命令验证指纹。
也可以安装pamtester针对某个pam service进行测试。

$ sudo pamtester gdm guoyong authenticate

没有问题的话,就可以退出Gnome测试一下了。
对于屏保解锁,目前只有针对xscreensaver的patch,需要重新编译xscreensaver。我试着编译了5.0的,发现解锁时还是要先输入字符到密码对话框,然后才验证指纹。目前还没有针对Gnome-screensaver的patch,所以就暂时放弃了。 bugzilla.gnome.org/show_bug.cgi?id=338635 这里有一些有关的讨论。

ubuntu下在VMWare Player里安装Windows 2000

我使用的是ubuntu 6.06 TLS,参考了ubuntu官方论坛里的帖子(链接见本文最后)。

步骤如下(我整理过的):

1. 准备编译的工具

$ sudo apt-get install build-essential
$ uname -r
$ sudo  apt-get install linux-headers-"kernel version"
$ sudo apt-get install gcc-3.4 g++-3.4

2. 安装VMWare Player(也可以用apt-get安装)
从vmware下载最新的版本安装,都按默认回答就行。

$ tar xvzf VMware-player-1.0.2-29634.tar.gz
$ cd vmware-player-distrib
$ export CC=/usr/bin/gcc-3.4
$ sudo ./vmware-install.pl

3. 准备虚拟机的磁盘文件。假定把虚拟机文件放在~/vm/win2000这个目录下。
先安装qemu。下载qemu的二进制版本(不用ubuntu自带的)qemu-0.8.2-i386.tar.gz

$ sudo tar -zxf /path/to/downloaded/qemu-0.8.2-i386.tar.gz
$ cd ~/vm/win2000
$ qemu-img create -f vmdk Windows2000Pro.vmdk 2G \
Formating "Windows2000Pro.vmdk", fmt=vmdk, size=2097152 kB

4. 建立虚拟机的配置文件Windows2000Pro.vmx,也放在 ~/vm/win2000目录下。下载Windows2000Pro.vmx

5. 制作用来安装Windows2000的iso文件。可以用dd命令,也可以用gnomebaker这个软件。

$ sudo apt-get install gnomebaker

iso文件的名字要和Windows2000Pro.vmx文件里的一致,也放在~/vm/win2000下。
帖子里提到这样做的iso文件不带启动功能,我试了发现有启动功能。

6. 启动vmplayer,设置虚拟机的bios从光盘启动,就可以开始安装Windows 2000了。

$ vmplayer ~/vm/win2000/Windows2000Pro.vmx

遇到的问题:

在shell里运行vmplayer,出现下面的错误然后退出,从“应用程序”菜单里也不能启动。

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

解决办法:

$ cd /usr/lib/vmware/lib/
$ sudo mv libpng12.so.0/libpng12.so.0 libpng12.so.0/libpng12.so.0.disabled
$ sudo ln -sf /usr/lib/libpng12.so.0 libpng12.so.0/libpng12.so.0

修改/usr/bin/vmplayer这个脚本,在第一行后面加上unset GTK_IM_MODULE

Ref:

  1. HOWTO: Install Windows XP/2000 in VMWare Player
  2. Vware Server Console und dapper - Problemlösungen
  3. VMware Workstation 5.5.1 won’t run at all

vmware.jpeg