質問の仕方

メーリングリストやネットニュースなどで質問を気持ち良く答えてもらうために, 知っておいて欲しいことを紹介します.

はじめに

注意: このサイトの管理者である webmaster@linux.or.jp には, このサイトのコンテンツに関係ない質問は送らないで下さい. 質問を送られても返答はしません(できません).

Linux の文化はボランティアによる相互援助によって支えられています. 様々なメーリングリストやネットニュースで 幅広い議論が活発に行なわれており, その多くでは初学者の質問も受け付けています. 現在ハッカー(= コンピュータを自在に扱う人のこと. 犯罪者ではありません)と呼ばれているような人たちも, やはり先輩に教えてもらいながら育ってきたのです.

「昨日の タコ は,今日のハッカー」

このような相互援助は Linux 文化の特徴の一つですので, 質問には気持ちよく答えて下さる方が多いはずです. 分からないことがあったら恥ずかしがらずにどんどん聞いてみましょう.

質問の仕方

「でも, どのように質問したらいいんだろう?」
そうですね. 質問する側からも回答を寄せやすいような 質問の仕方を心がけたいものですよね. では次の例を対象にして考えてみましょう. 先に断っておきますがこれは悪い例です.

悪い例


Subject: 助けて!!!

はじめまして,Linux初心者です.タコなので何も分かりません.

X−Windowsがうごきません.この前,某雑誌の付録CD−ROMで,Linuxをインストールして,
X−Windowsをうごかそうと,いろいろやってから,startxをしたんですけど,フォントが
ないって怒られてだめでした.

タコなので,分かりやすく教えて下さい.
    

守って欲しい事柄

絶対に必要なのは, 質問に答えてくれる人に あなたの問題に関する十分な情報を提供するということです.

Subject は質問の内容を反映したものにしましょう

Subject だけで質問の中身が分かるようにしましょう. 「助けて」,「はじめまして」,「質問」といったものではいけません. この例なら, たとえば「X doesn't work」, 「X が動きません」,「X のフォントについて」などとする方がよいでしょう.

情報を出すのを惜しまない, めんどくさがらない

「某雑誌」っていうのはどこの雑誌なんでしょうか? はっきりしているのでしたらきちんとした書名を書きましょう. もしかするとその雑誌の付録に特有の原因かも知れません. 加えて, カーネルやソフトウェアのバージョン, ディストリビューション名, ハードウェア構成なども書いておくとよいでしょう.

情報は具体的に書きましょう

「いろいろやって」と言われても その人以外には何をどうやったかというのは分かりません. その状態を他の人でも再現できるように, 何をしてきたかの過程を具体的に書きましょう. また, 関係のありそうな設定ファイルを添付するのも 解決の糸口になることがよくあります.

「うまく動きません」ではわかりません

前項とも関連しますが「うまく動きません」や 「○○できません」といったフレーズは, 実は, 情報量が限りなく 0 に近いものなのです. 問題の本質は「どのようにうまく動かないのか」というところにありますし, もう少し言うなら「どのように動かそうとして, どのような結果になったのか. そしてその結果は(あなたにとって)どうまずいのか」を 明確にしたいところです. その重要なカギとなり得るもののうちの一つが 次項の「エラーメッセージ」です.

エラーメッセージは情報のカタマリです

恐らくエラーメッセージを自分なりに解釈して, 「フォントがないって怒られた」と書いているのでしょうが, これではメッセージに本来含まれている重要な情報が伝わりません. 下手に意訳した日本語や,部分的に抜粋したものよりも, 分からなかった場合はエラーメッセージ全文をコピーしてしまいましょう. 多少長くなっても問題ありません. (ただし長大なログファイルをいきなり送りつけてはいけません). それに,自分の思わぬところが原因であるかもしれません.

質問するコミュニティを考えましょう

Linux のコミュニティに対して別の OS に関する質問や, まったく関係ないアプリケーションの質問, 茶碗蒸しの作り方を質問するのはマナー違反です. また高度な質問をする場合には, 専用のメーリングリストやネットニュースに投稿した方が 答えてもらえる可能性は一般に高くなります.

質問に対しての心構え

質問をする上で知っておいて欲しいことや, 強制ではありませんが考慮してもらいたいことです.

まず自分で解決する努力をしましょう

インターネット上にもあなたの Linux の中にも, 解決の糸口や解決法そのものがひそんでいるかも知れません. まずは --help オプション, man コマンド, JF ドキュメント, FAQ 集, メーリングリストの過去メール, Web ページの検索 などで調べてみましょう.

自己紹介をしましょう

大勢の方に質問をするのですから, 名前ぐらいの簡単な自己紹介はした方がいいでしょう. また自分の技量を示せば, レベルに合った適切な回答をよせてもらいやすいかもしれません.

英数字には全角よりも ASCII 文字を使いましょう

「Linux」ではなく「Linux」のように 英数字には ASCII 文字(いわゆる半角英数字)を使用する方が 好まれているようです. これはあくまで多くの方がこうしているというだけで, 強制されているわけではありません. しかし「startx」のようなコマンドは存在せず, 実際には startx なのですから 表記上もそのようにするのがよいといえます.

適当に改行した方がいいでしょう

これも強要されるものではありませんが, 一行は ASCII 文字で 70 字程度(いわゆる全角文字で 35 字程度)で改行を入れて折り返した方がいいでしょう. これは比較的多くの人々が一行 80 文字という環境で (あるいはそうした環境を作って)生活しているからです.

タコって威張れるものじゃありません

「タコなので何も分からない」のではありません, 「今は何も分からないがこれから何かを学ぼうとしている人」が 「タコ」なのです. タコであるというのは恥ずべきことではありませんが, そうかといって自ら威張って公言するものでもありません. ましてやマナーなどを守れないことへの 免罪符にはなり得ません. これは「初心者です」という宣言についても同様です. 早くタコから卒業しましょう.

感謝の気持ちを忘れずに

質問に対する回答はあくまでもボランティアでの相互援助です. 質問者に答えなければいけない義務は誰にもないのです. 教えてもらえて当たり前という態度は, 当然, 歓迎されません. また「回答がわかりにくい」と文句を付ける人がときどきいますが, これも勘違いをしている典型的な例といえるでしょう.

回答に対する返事の書き方

質問に対して回答して下さった方に対しては, 返事を書くのが礼儀として当然のことです. それはたとえ解決できなかったとしてもです. 返事を書く際に心に止めてもらいたいことをまとめました.

どのように解決したかを示す

寄せられた回答に基づいた結果, どのように解決できたのか, あるいはできなかったのかをまとめましょう. このまとめられたものを「サマリー」といいます. このサマリーがあれば, 同じ問題を抱えている人への手助けになるのです.

無意味な全文引用はしない

ある投稿に対する返事をする時に, その投稿の全文を引用するのはやめましょう. どの文に対しての返事なのかがはっきりしないため, 全く引用をしていない返答とあまり大差がありません. これは回答に対してに限らず, すべての返答ついて同じことがいえます.

同じ質問には回答を寄せる

あなたが質問をしたことによって解決した問題を, 他の誰かが質問してきたら, 是非, 回答をしてあげて下さい. その問題の解決法はもう知っていますし, つまずきやすい点や分かりにくいところなども経験済みです. つまり, あなたが一番分かりやすく教えられるのです.

ざっと注意して欲しい点をいくつかあげてみましたが, 難しかったでしょうか?最初から全部を完璧にできなくても構いません. でも, 完璧にしようとする努力は惜しまないで下さい. きっといつの日か, あなたも立派な質問の達人になれるはずです. (そのころには, 逆に質問に答えることもできるようになっていると思います. )

質問する時に役立つTips

画面内に収まらないメッセージを読むには

"Ctrl-s" で画面表示を一時停止できます. 再開するには "Ctrl-q" です. 端末によっては "Shift-PageUp/PageDown" で ある程度画面をさかのぼることもできます.

起動メッセージを読むには

dmesg というコマンドで起動メッセージをもう一度表示することができます. "dmesg | less" のようにすればゆっくり参照できます.

コマンドの実行結果をファイルに保存したい

リダイレクトと呼ばれるシェルの機能を利用します. "コマンド >& 保存ファイル名"
具体的にはこうです. "ls >& logfile" こうするとコマンド ls の実行結果は, 画面に表示されずにファイル logfile に保存されます.

標準出力や標準エラー出力のどちらかだけを選択して ファイルに保存することも可能ですが, これは使用しているシェルによって書き方が違います.

sh 系

標準出力のみを保存したい場合 ">&" の変わりに ">" または "1>" を使います. 具体的には "ls > logfile" のようになります. 標準エラー出力には "2>" を使います. また ">&" は, 標準出力と標準エラー出力両方のリダイレクトとなります. bash の場合は "&>" も同じ意味になります.

csh 系

標準出力のみを保存したい場合には ">&" の代わりに ">" を使います. 標準エラー出力のみを保存するのはちょっと難しいので割愛します.

リダイレクトには他にも多くの使い方があります.

複数のコマンドの出力結果や シェルのプロンプトを含む実行結果を保存したい場合には script コマンドが有効です. まず一連のコマンドを実行しようとする前に script ~/hogehogeと入力します. その後で質問しようとしているコマンドを実行します. 全部実行し終えたら exit と入力しましょう. ホームディレクトリに hogehoge という記録ファイルができているはずです.

関連ページ

質問の仕方

質問の前に(柴田さん)
質問メール作成にそった対話形式で問題解決をします.
技術系メーリングリストで質問するときのパターン・ランゲージ
質問する際に心掛けておくべき事柄が優しい言葉で紹介されています.

自己解決の為に

JFのページ(JF)
Linux 関連の膨大な日本語文章があります.
Linux/Unix Tips
Linux/UNIX で知っておくと便利なことがまとめてあります.
初心者必見
Linux を使う上で,まず最初に必要になるものをまとめてあります.
ハードウェア実績集
Linuxでの動作の実績がある各ハードウェアのリストです.

[ ホーム | マップ | ニュース | 検索 | ドキュメント | リンク | プロジェクト ]
このサイトに関するご意見・ご要望は Webmasters までお願い致します.