2008-02-22 (Fri)

Google Desktop でブラウザが立ち上がらなくなった

検索とか「ホームページを表示」とかをやってもブラウザが開いてくれないので、役立たず状態だった Google Desktop さん。

Linux 版の gdlinux って(Windows は知らないけど)、エラーメッセージっぽいものが見当たらないんだよね。だからずっと放置してたんだけど、いい加減不便なんで調べてみる事にした。

で、エラーメッセージの件はやっぱり良くわかんなかくてウゼーとか思っていた所、起動中のプロセスのトレース方法について誰かが解説していたのを思い出したので挑戦してみた。

$ ps ax G google
11468 ?        Ss     0:03 /opt/google/desktop/bin/gdl_box
11469 ?        S      0:02 /opt/google/desktop/bin/gdl_service --Verbose=FATAL
11470 ?        S      0:00 /opt/google/desktop/bin/gdl_config
11471 ?        Sl     0:06 /opt/google/desktop/bin/gdl_indexer
11472 ?        Sl     0:15 /opt/google/desktop/bin/gdl_fs_crawler
16733 pts/11   S+     0:00 grep --color --color google

プロセス番号を調べてトレース! 何やら動きが激しい感じですが、気にせず検索を実行してみると関係ありそうなメッセージが出てきた。

$ ltrace -p 11468
~ 略 ~
free(0x8658eb0)                                                = <void>
free(0x86563e0)                                                = <void>
free(0x8633478)                                                = <void>
free(0x8649db8)                                                = <void>
readlink(0x82f51f0, 0xbfba83de, 4096, 0x404a88bd, 0x8389440)   = 31
strlen("/opt/google/desktop/bin/gdl_box")                      = 31
malloc(44)                                                     = 0x8657fc0
memcpy(0x8657fcc, "/opt/google/desktop/bin/gdl_box", 31)       = 0x8657fcc
strlen("/opt/google/desktop/bin")                              = 23
malloc(36)                                                     = 0x8634f30
memcpy(0x8634f3c, "/opt/google/desktop/bin", 23)               = 0x8634f3c
malloc(59)                                                     = 0x8632fc0
memcpy(0x8632fcc, "/opt/google/desktop/bin", 23)               = 0x8632fcc
free(0x8634f30)                                                = <void>
malloc(37)                                                     = 0x8649308
memcpy(0x8649314, "/opt/google/desktop/bin/", 24)              = 0x8649314
strlen("xdg-open")                                             = 8
malloc(61)                                                     = 0x8633530
memcpy(0x863353c, "/opt/google/desktop/bin/", 24)              = 0x863353c
free(0x8649308)                                                = <void>
memcpy(0x8633554, "xdg-open", 8)                               = 0x8633554
free(0x8632fc0)                                                = <void>
access("/opt/google/desktop/bin/xdg-open", 1)                  = 0
malloc(88)                                                     = 0x864a500
__errno_location()                                             = 0x40a24ca4
time(NULL)                                                     = 1203653226

小躍りしながら /opt/google/desktop/bin/xdg-open の中身をチェックしてみると、どうやらこいつがブラウザを起動してるらしい。試しに実行してみると…。

$ /opt/google/desktop/bin/xdg-open http://www.google.co.jp/
/opt/google/desktop/bin/xdg-open: line 352: exo-open: command not found

!!!! これか!!!

というわけで、apt で探してきた exo-utils をインストールしたら xdg-openapt コマンドがちゃんと動くようになって、Google Desktop もちゃんと動くようになりました。exo なんちゃらって言うのは、Xfce のライブラリらしい。

自分でも何したのか良くわかんないけど、バイナリはすごかった。

Posted by Kyosuke Takayama at 2008-02-22 (Fri) 17:07 printable version

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/697


 
Copyright (C) Kyosuke Takayama, All rights reserved.