Ubuntu Tracker command line tool

Spotlight の検索は mdfind コマンドで行える。Ubuntu のトップのバーにある虫眼鏡をおすと
同じような検索ができるが、これは Tracker というツール。

mdfind の様なコマンドライン検索ツールが無いか探してみると tracker-search というものが
あるようだ。インストールされていなかったため apt-get でインストールするが、動いてくれない。

$ tracker-search pattern
Could not establish a DBus connection to Tracker


2926 execve("/usr/bin/dbus-launch", ["dbus-launch", "--autolaunch", "b147e06ae8f65086a011b6004806ad80", "--binary-syntax", "--close-stderr"], [/* 25 vars */]) = 0

2926 write(2, "Autolaunch error: X11 initializa"..., 45) = 45


X を起動できないようなメッセージ。コマンドツールなのに X がいるのか? (remote login して起動している。) 目の前のマシンのディスプレイを指定すると、別なエラーが出てやはり使えない。

Defaulting to 'files' service
Could not get find results by text, The name org.freedesktop.Tracker was not provided by any .service files


この D-Bus という物は Desktop のプロセス間の通信をするための物らしい。同じデスクトップ上での
アプリケーションの通信がやりやすいようだ。ただ、リモートログインしてつかうコマンドライン
ツールが、そんな物に依存してては、そのディスプレイ上でしか使えないじゃないか…

確かに、そのマシンのディスプレイ上でターミナルを開いて tracker-search を実行すると何の問題も
なく動作する。

はた、と思いつき、ssh で remote login したターミナルで次のコマンドラインを打つと検索できた。


DISPLAY=:0 tracker-search pattern


動いたから良かったが、こういうのはもう勘弁。
それに、これって localhost の DISPLAY の状態に依存するよな〜...