2009年1月31日星期六

让kde 4.2的Nepomuk正常工作

Nepomuk的启动流程

首先系统配置为Nepomuk 启动,然后启动 Nepomuk ontology loader,因为这个服务依赖 nepomukstorage,所以先启动 nepomukstorage
之后启动 nepomukqueryservicenepomukstrigiservice,nepomukfilewatch,,装载 Soprano 的所有插件,搜索/usr/local/share/soprano/plugins目录下的插件,先搜索.desktop文件,然后根据desktop文件内容加载对应的库(nquadparser.desktop、nquadserializer.desktop、raptorparser.desktop、raptorserializer.desktop、redlandbackend.desktop),搜索了两遍,确定插件加载。

加载 libsoprano_redlandbackend.so 这个后端库,激活这个后端,并发现以下错误:could not find backend "sesame2" . Falling back to default.
建立搜索数据库:repository ' "main" ' at ' "/root/.kde4/share/apps/nepomuk/repository/main/",这里面包含数据库的路径。
creating model of type "hashes" with options
"hash-type='bdb',contexts='yes',dir='/root/.kde4/share/apps/nepomuk/repository/main/data/redland'"

Nepomuk::Repository::open: Successfully created new model for repository "main" 成功建立数据库,bdb格式的

CLuceneIndex::open in thread 701501696
CLuceneIndex::close in thread 701501696
CLuceneIndex::close done in thread 701501696
CLuceneIndex::open done in thread 701501696

这应该是一个测试,测试是否可以建立index

Successfully created new index for repository "main"
Successfully initialized nepomuk core
成功初始化nepomuk核心,成功初始化nepomukstorage,接下来按照下面的顺序初始化
Nepomukstrigi、 nepomukfilewatch、 nepomukqueryservice、 nepomukqueryservice、 nepomukontologyloader


建立nepomuk服务器链接,加载Soprano后端,启动strigi服务,提示失败原因是:低优先级别调度,当使用redland soprano后端时不能启动,,启动nepomukontologyloader 进程,监护 /root/.kde4/share/apps/nepomuk/ontologies目录,发现日期修改。

启动nepomukfilewatch进程,启动nepomukqueryservice进程,完成nepomuk相关服务的加载!

原来sesame2的编译需要java环境,在soprano的ports中若没有java环境,就不编译sesame2的后端组件。

FreeBSD环境下配置Nepomuk

从上面的分析可知,Nepomuk的文件检索功能需要soprano的sesame后端的支持才行,所以正常运行Nepomuk需要安装好sesame2,经过一些测试,主要的步骤如下:

从soprano的ports的测试可知,soprano是内含sesame后端代码的,但在编译时,需要检测JNI,为了满足这个条件,需要安装JAVA SDK环境

安装javavmwrapper-2.3.2 ports
下载安装 diablo-jdk-freebsd7.i386.1.6.0.07.02.tbz,可从FreeBSD基金会网站下载,也可自行编译。

安装完成后设置 JAVA_HOME=/usr/local/Diablo-jdk1.6.0

然后重新安装soprano软件,查看 /usr/local/lib/soprano/目录下,已经有sesame后端了!

重新启动kde,Nepomuk已经可以正常启动,系统启动即建立指定目录的索引!

没有评论:

发表评论