Ubuntu Weekly Recipe

第24回 デスクトップサーチ:ファイルの検索・Hyper Estraier・Google Desktop

この記事を読むのに必要な時間:およそ 3 分

Hyper Estraierを使う

UbuntuにはデフォルトでTrackerというデスクトップ検索エンジンが導入されていますが,日本語を認識して検索することができないため,日本語ドキュメントを主に扱う場合にはあまり使い勝手が良いものではありません。

コマンドラインから利用でき,日本語周りの問題が少ない(かつ,検索精度が高い)選択として,Hyper Estraierを利用する方法があります。

パッケージ名は「hyperestraier」ですので,aptやSynapticなどを用いてインストールしてください。aptを用いたインストールは次のように行います。

$ sudo apt-get install hyperestraier

インデックスの作成

Hyper Estraierの利用には,最初にインデックスを作成する必要があります。次のように,/home以下に専用のディレクトリを作ってしまうのが便利でしょう。最初にインデックス格納領域を作成して,必要なドキュメントの情報をインデックスに格納します注2⁠。インデックス作成コマンドを覚えるのは面倒ですので,シェルスクリプトを作成し,それを呼び出すようにすると便利でしょう。

まず,シェルスクリプトを格納するディレクトリを作成します。 

$ mkdir ~/bin
$ gedit ~/bin/estgather.sh

次のコードをegdit上にコピー&ペーストし,保存します。

#!/bin/bash

for i in `/bin/ls -d ~/* /usr/share/doc*/ /usr/local/doc*/ /opt/*/doc/`
    do
        /usr/bin/nice -n 19 estcmd gather -cl -il ja -sd -cm ~/.est/casket "${i}" 
    done;

exit 0

インデックス(casket)の保存ディレクトリを作成し,先ほど準備したシェルスクリプトに実行権限を与え,インデックス作成を行います。ディレクトリ以外が対象の直下に存在した場合などにエラーが返りますが,無視してください(あるいは検索指定をより細かく行ってください⁠⁠。

$ mkdir .est/
$ chmod +x ~/bin/estgather.sh
$ ~/bin/estgather.sh

インデックスを作成したら,以下のコマンドで検索が可能になります。以下は「pygtk」を検索した例です。

$ estcmd search -nl -vh -max 2 ~/.est/casket pygtk
--------[0ED68D6F50F57080]--------
VERSION	1.0
NODE	local
HIT	1
HINT#1	pygtk	1
TIME	0.000383
DOCNUM	2419
WORDNUM	75566
VIEW	HUMAN

--------[0ED68D6F50F57080]--------

URI: file:///usr/share/doc/python/faq/gui.html
Title: Graphic User Interface FAQ

Graphic User Interface FAQ Date: 2003-09-04 Version: 6607 Web site: http://www.python.org/ Conte ... uting and a Qt license from Trolltech . 1.1.4 GTk+ PyGTk bindings for the GTk+ toolkit have been implemente ... 


--------[0ED68D6F50F57080]--------:END

このままでは検索コマンドを覚えるのが大変ですので,次のようなエイリアスを.bashrcなどに記述するのが良いでしょう注3⁠。

alias est_search="estcmd search -nl -vh -max 2 ~/.est/casket"

エイリアスを登録したら,次のように利用することができます。

$ est_search 日本語 Ubuntu

また,登録したインデックスは古くなりますので,定期的にインデックスを更新する必要があります。⁠VISUAL=gedit crontab -e 」で,次のような更新指定を登録しておくのが便利です。もちろんviやnanoに慣れている方はcrontab -eで問題ありません。

# m h  dom mon dow   command
00	*/12	*	*	*	~/bin/estgather.sh > /dev/null 2>&1
注2)
Wineの設定ディレクトリ(~/.wine)をインデックス対象に含めると,インデックス作成が無限ループしてしまいます。筆者は~/直下に日常的なファイルを置くことを嫌うため,ここでは~/以下のディレクトリのみを検索対象として登録しているので問題ありませんが,もしも検索対象を自分で指定する場合には注意してください。
注3)
ここでは検索時のオプションとして,ロックを利用しない「-nl」を用いています。このことにより,インデックスの更新中には正しくない結果が返る可能性があります。

Google Desktopの利用

代表的なデスクトップサーチアプリケーションの一つであるGoogle DesktopをUbuntuで利用することもできます。http://desktop.google.com/ja/linux/にアクセスし,Debian/Ubuntu用のパッケージをダウンロードしてください図5⁠。

図5 Google Desktopのダウンロード

図5 Google Desktopのダウンロード

ダウンロードしたファイルをダブルクリックすればダイアログが開きますので,⁠パッケージのインストール]ボタンを押下することでインストールできます図6⁠。インストール後は[アプリケーション⁠⁠→⁠Google デスクトップ⁠⁠→⁠Google デスクトップの設定]で初期設定を行ってください。

図6 GDebiによるインストール

図6 GDebiによるインストール

[アプリケーション⁠⁠→⁠Google デスクトップ]とたどり,通知領域にあるアイコンから操作を行います。Googleの通常の検索と同じ形で検索を行うことが可能です。一般的なデスクトップ用途であれば便利に利用できるでしょう。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。