8月 182010
 

MacOSX には Spotlight というのがありますが、これは利用している Mac のファイルの情報をデータベースに突っ込んで、それを後から検索できるようにしたものです。

これと似たようなことが、最近の KDE4 では利用することができます。strigi と言うものですね。ports 的には deskutils/strigi です。こいつは KDE4 をインストールすると比較的容易に利用可能で、KDE のスタートメニューの検索や、システム設定での検索などで利用されています。

strigi 自体は FreeBSD 中のファイルの情報を収集してデータベースにほーりこんで検索できるようにしてくれますが、その時に NEPOMUK を利用して、検索しやすい索引情報を付加します。ちなみに NEPOMUK は ports ではなく、KDE4 の一部として、ports では x11/kdebase4-runtime に含まれています。

しかし、KDE4 をインストールして早速 Spotlight みたいにデータベース作って検索可能にするぜぃ。と思ってみても FreeBSD の ports では KDE4 を全部まるまるインストールしても、データを格納するデータベースがインストールされないので default で strigi を利用することはできません。

KDE4 のシステムトレイの 丸 “i” マークの所に「virtuoso がインストールされてないので strigi は利用できないよん。」とメッセージが表示されます。つまり ports 的には databases/virtuoso をインストールして初めて利用することが可能になります。

それはつまり、KDE4 の ports と virtuoso は関連性が切られていると言うことですね。ワザと切っているのかたまたま忘れただけなのかはビミョーですね。関連性を付けてしまうと「デスクトップ検索なんざいらねーぜ。」って人の環境でも動作してしまう。と言うことななるので・・。

自分から進んで databases/virtuoso をインストールしたら一旦ログアウトして再度ログインしましょう。これで strigi を利用する準備が整いました;-)。

既にバックグラウンドで strigidaemon と nepomukserver が動き出したかもしれません。データ収集開始ですね。

どこのディレクトリ、どのファイルを収集するかは「システム設定」の [詳細] タブの「詳細なユーザ設定」の中にある「デスクトップ検索」で設定することが可能です。

strigi_1.png

[基本設定] タブでは両方にチェックを付けます。検索を止めたい時はこのタブのチェックを外します。 [ファイルのインデックス作成] タブではディレクトリとかファイルの設定を行います。左側のメニューでどのディレクトリを検索対象とするか、右側でどのファイルを検索対象とするかを指定します。

後はひたすら待つばかりです。システムトレイに時々情報が表示されるのでまぁ、気がついた時に確認してみましょう。

インデックスの作成はけっこうこまめに起動しています。救いなのが一個の CPU しか使わないのでマルチコアの PC の場合にはそんなに苦痛は感じないのではないかと思われます。あ。けど、ディスクアクセスが気になる場合もあるかなー。 1Core な CPU や回転数の遅い HDD を利用している場合には stringi 自体は利用しないほうが良いですね。databases/virtuoso をサクっと pkg_delete するのが良いかと思われます;-)。

さてと。strigi と nepomukserver で集めたデータは $HOME/.strigi/ に格納されます。 clucene/ と言うディレクトリの中に入ります。雰囲気的には qdbm みたいな感じでしょうかね。ただ、サイズが気になるところではありますが。

データ収集はこんな感じで、続いて実際に検索結果を表示したい所ですが KDE4 を利用していない人は strigiclient と言うコマンドがあるのでそれを利用してみてください。検索結果が表示できるかと思います(後、検索パスも指定できます)。

KDE4 を利用している人は K メニューから「ファイル/フォルダを検索」を指定して起動してください。 kfind と言うコマンドが起動されます。後は [名前/場所] や [内容] のタブでそれぞれ検索すれば結果が表示されるようになります。

strigi_2.png

これでデスクトップ検索ができるようになりました;-)。

もし、検索しても何も表示してくれない場合にはもしかしたら kfind を以前に起動したことがあるからなのかもしれません。$HOME/.kde4/share/config/kfindrc を削除して kfind を再実行してみてください。

パッと思いつくのは Thunderbird や mew などのメーラ(MUA) で、こいつらは独自の検索システムを持っていてそれぞれ個別にデータベースにその情報を突っ込んだりしていますが、それも必要ないかなー。デスクトップ検索でメールの情報もパスに入れてしまえばデータを保持する場所は一個で済むし。みたいな感じでしょぅか・・。

とは言いつつやはり、デスクトップ検索のデータ収集中(インデックス作成中)はそれなりに CPU とメモリを持っていかれるのでちょっと贅沢なマシン環境で実行するのが良いかなぁ。と、僕も思うのであります;-)。

まぁ、あるものは使ってみた。と言う感じでしょうか;-)。

ちょっと前に書いた「KOrganizer と google カレンダーの sync。」の記事もそうなのですが、今まで X と言うのはマルチウィンドウでターミナルと emacs を利用する。みたいな感じだったのですが、最近はコッテリとした “統合デスクトップ環境” の各機能を使いこなしても面白いなぁ。などと思うようになってきました。

KDE4 の アドレスブック(kaddressbook) と AdtiveDirectry を連携させてみたり、MacOSX 上のアドレスブックの情報を vCard で出力して KDE4 の アドレスブックに食わせたりとか。

なんか、ようやっと “統合デスクトップ環境” を使いこなせてきたぞぉ。みたいな感じがしてきました;-)。これからもちょくちょく書いていきたいです;-)。