【Ubuntu】バグ報告(crash report)ソフトの有効/無効の設定方法 [ubuntu]
Ubuntuを使っていると(Ubuntuに限りませんが)、たまにアプリが落ちる(クラッシュ)することがあります。
その時に起動するのがapportというソフトでLaunchpadに報告するための情報(落ちた原因を特定するのに役立ちそうな情報)を集めます。
起動すると下図のようなウィンドウが出ます。(下図はUbuntu 12.04ですが、Ubuntu 12.04からインターフェースが変わりました。)
このapportはリリース後に入れた場合は、インストールはされていますがデフォルトでは起動しないようになっていると思います。(この記憶は定かではありませんが・・・) 逆にAlphaやBeta版から入れた人は、デフォルトで起動するようになっているはずです。
Launchpadにバグ報告しない場合は、上図の「エラーレポートを送信してこの問題の解決に協力する」のチェックを外して、「続行」を押せばウィンドウが終了します。
ただ、Launchpadにバグ報告するしないにかかわらず、落ちた原因を集めてくれるので結構便利だったりします。
上図スクリーンショットの「詳細を表示」を押すと下図のようウィンドウが変わります。(表示まで少し待たされる場合があります。)
どのプログラムが落ちたかやそのプログラムはどのパッケージに入ってるかなどがわかります。
しかし、人によっては「必要ない」という方もいると思います。そこで、このapportを起動するかしないかを設定するには下記のようにします。
< 設定方法 >
cd /etc/default
sudo vi apport #エディターはお好きなのを・・
ここで最終行に enabled という記述があるはずです。そこで、下記のように書き直します。
有効にする場合:
enabled=1
無効にする場合:
enabled=0
これでセーブして再起動すればOKです。
< 有効にした場合の確認方法 >
端末から、下記を入力してください。
sh -c 'kill -SEGV $$'
すると落ちて初めのスクリーンショットが出るはずです。(Launchpadには報告しないでください。)
< バグ報告のチェックを入れたまま「続行」を押すと >
実際にアプリケーションが落ちてapportが動作してウィンドウが開いた際に、そのまま「続行」を押すとどうなるかというと、
既に同じ問題がバグ報告されている場合:
Launchpad の報告されたバグのページが開きます。
この時には1つ上のスクリーンショットの記述の中にduplicateとしてバグ報告ページのURLが記述があるはずです。
まだバグが報告されていない場合:
Launchpadのバグ報告のエントリーページに飛びます。
詳しくは、https://wiki.ubuntulinux.jp/BugReport の真ん中あたりの「詳細な説明を入力する」のようになります。
いずれにしても、Launchpadのサイトに飛んだらそれ以降は全部英語です。(基本的に英語以外で記述することは許可されていません。例外はありますが・・・)
< もっと詳しい情報 >
英語ですが、この記事の元ネタでもある下記です。
https://wiki.ubuntu.com/Apport
それか、下記にも書いてあります。
https://wiki.ubuntu.com/Testing/EnableProposed
< 余談 : バグ報告する時にバグが上流だった場合 >
例えばUbuntuを使っていてGTK+3にバグを見つけた場合に、もしそれがGTK+3を開発しているGnomeの問題だった場合には、Gnomeの方にもバグリポート出すことになります。それは下記に記述してあります。
https://wiki.ubuntu.com/Bugs/Upstream
上流開発への報告は、親切な方がやってくれる場合もありますし、バグ報告した方がやる場合もあります。
--- 2012/5/10 追記 ---
< 最後に : バグ報告するにあたって >
tista様からご指摘があったように、バグ報告は文句を言う場所ではありません。主観的な事は記述しないようにして、客観的に見て挙動がおかしいとか仕様と違うということを報告するようにして下さい。
参考になるサイトは下記です。
https://wiki.ubuntulinux.jp/BugReport
https://help.ubuntu.com/community/ReportingBugs
もし、バグを始めて報告するなら上記のURLは一度は目を通して下さい。
私が開発に携わった経験(Linuxではないです・・)から言うと、バグ報告で特に重要だと思う事は「発生したバグと同じ状況を開発者にも再現させてあげる事」です。
ですので、詳細を記述する欄に再現手順を出来る限り記述して下さい。 同時に、必ずバグが発生しないのであれば、再現確率を記述して下さい。
その他に記述する上で良いと思う事は、
タイトルを分りやすくする --- タイトルの中にアプリ名とかパッケージ名をいれるとよいと思います。上記URLにもあるように、タイトルを見ただけでなるべくバグの内容が分るようにして下さい。
バグの発生とバージョンの関係を書く --- もし、あるパッケージでバグが出たとして、そのパッケージの1つ前のバージョンでは発生していなかったなどの場合は、「xxxのバージョンだと発生しなかったけど、yyyのバージョンになったらバグが出始めた」と言った事を記述してあげると開発者は差分に着目できるのでバグの原因特定が楽だと思います。
スクリーンショットをアップする --- 画面で見て分る場合は、スクリーンショットをアップロードすると開発者が分りやすいと思います。
ソースコード上で修正方法が分ったなら報告する --- バグを回避するソースコードが記述できるのなら、修正したソースコードとオリジナルのdiffを取ってアップしてあげると役に立つと思います。その通り修正されるかは別問題ですが、少なくとも回避策が分ったらバグの特定は容易です。
直った時にテストしてあげる --- 場合によってバグが直った時に「テストしてください」とコメントに入っている場合があります。(大抵、Proposedリポジトリにアップされます) その時は、その修正されたパッケージをインストールして、バグが修正されていたらコメントに入れてあげるとよいと思います。
逆にやってはいけない事は、
同じバグを報告する --- 自動的に収集してLaunchpadに報告状態になったからと言って、バグ報告が無いとは限りません。必ず、同じバグ報告が無いかLaunchpadを検索して下さい。(ただ、バグ報告がかなり膨大な量なので、検索しても同じバグがあった事が分らない場合もあります。その場合は、しょうがないと思います)
文句を言う --- 「この機能は気に食わない」とか「xxは使いづらい」といった事は意味がありません。また、これらの発言に反応する事も意味がありません。 もし、「xxは使いづらい」と思ったのなら、建設的な代替案を添えて報告して下さい。
「私も」とか「いいね~」とか感想とか ---「私も!」(Me too!)とか「いいね~」(good!)とかだけをバグ報告やコメントに入れるのは意味がありません。開発者には何の役にも立たないからです。ただ、既に報告されているのと同じバグに遭遇した場合に、報告者や既にコメントに記述している人のバージョンや環境とは違う状態でも発生した場合は、「私も同じ事が発生しました。環境はこれこれです。」と言う事を記述する事は意味がある場合があります。(特にハードウェア構成が関係する場合)その時は、必ずバグに関係するバージョンやハードウェア構成を記述して下さい。
要するにです。自分自身が開発者になったつもりで、少しでもバグを修正するのに役に立つと思う事はなるべく詳しく具体的に記述したり関連データをアップして、逆にバグを修正するのに役に立たないこと(既に報告済みも含む)は記述しない様にすればよいわけです。
※tista様が言われたrcconfに関しては私自身がまだ使った事が無いので、今度試してみたいと思います。
--- 2012/5/10 追記おわり ---
←蚊のいなくなるスプレー
これからだんだん夏が近づいてきて
毎年蚊によく刺されるようになります。
左の商品、アマゾンのレビューを見たら
かなり評価がいい。
ただ、Kinchoなので値段もそれなりに高いけど。。。
念を押しておきたいことは、Bug報告は文句を言う場ではなくて、あくまでBugの状況を報告する場です。なので、自動生成される詳細情報に加えて発生頻度や発生した際の操作手順なども追記してもらえるととても助かります。
あと、エディタで直接編集に臆するようならrcconfを利用するのも手でしょうね。sudo apt-get install rcconfで入るはずです。
Gnomeに慣れ親しんでいるなら、gdbの利用方法もざっくりと掴んでおくと後でとても役立ちます(tistaはgnome/gtk関連ならもっぱらgdbを使っています)。
by tista (2012-05-10 03:15)
☆tistaさん☆
そうですね。Bug報告は文句を言う場ではないですね。
以前私が報告したバグのとても汚い言葉で文句のコメントが入っていた事がありました。
それと追記でも記述したようにrcconfと言う物があるのは知りませんでした。今までは、launchpadの詳細を書く欄を開きっぱなしにして、何度も見返してから記述していました。今度試してみます。
それからgdbですが、私自身は以前、gdbばかりつかっていました。というかデバッカーはgdbしか使った事が無いと言ってもいいぐらいです。
ただ、かなり前なのですっかり忘れてしまったのでもう一度勉強ですね。
by あんきょ (2012-05-10 05:47)