Don't feel insulted if you have been asked to read this. Many of us have been asked to "do their homework" at some time in their posting career, found this kind of advice useful, and are now sharing it.
I have been using Linux forums for years and it's not so long ago I started trying to help others. Sometimes my posts might not lead to a solution - but I believe that problems are solved by combinig efforts. If a topic is active, it gets many forum member's attention, and believe me, the dedicated ones are just waiting for you to provide some information that enables them to help.
Others have been writing about this before:
- How To Ask Questions The Smart Way
- Linux Is Not Windows - Don't let the title mislead you, this is much more than a comparison.
- The Help Vampire: A Spotters Guide
In the following text, I try to put together what I find most important. A lot of it can be found in one of the three articles mentioned above.
Things to consider - Before you post:
- Define your problem - define your search terms
What are you searching for? Whether you are dealing with search engines or human beings, clearly defining your problem (or your search terms) is the first thing. Better then I ever could, others have written about this here and here (and onwards) and here.
- Try various different searches - nearest first
I don't think we have to tell you to RTFM or STFW but it is important that you search various places with meaningful and changing search terms. I suggest this order:
- Search your own machine.
You'll be surprised how many resources there are already. There are man pages. The man command has a search function which I only found out about while writing this article, see here. There's the /usr/doc/ section in your file system that has additional documentation on many programs (often even in html!). Most commands have a -h or --help option. The Packet manager of your system can also provide you with lots of useful information.
Desktop environments and graphical applications often have inbuilt help systems.
- Search the appropriate forum or wiki.
Usually you don't even have to open an account to do that. If you have defined your problem well, chances are it will be easier to find the appropriate online community. It could be closely related to your Linux distribution, or one particular piece of software, or hardware. Your distro's forum is usually your first choice. Many forums have their own wiki. Some applications don't have a forum but have their own wiki.
Don't stop after one search, try to broaden your terms. Even if you don't find anything directly related, you might learn something from skimming other threads.
- Search the world wide web
Do this before posting a help thread. If you have proceded as suggested you probably have a better understanding of the problem and can create better search terms. Suggestions: I often prepend my searches with "linux". I usually don't add anything like "does not work" or "broken" - 99% of all cases, people post because they have a problem.
- Search your own machine.
- You are going to have to read a lot.
For me this is a major aspect. I don't like it. My eyes hurt, and my attention span is short.
So make yourself comfortable reading, especially from your terminal. Make it Your Home. Use a nicer font. Use a larger font. Try different color schemes.
In most web browsers, the key combinations Ctrl-plus/minus/zero adjust font sizes.
Use syntax highlighting for your text editor.
When it's time to post:
- Read your forum's Forum Guidelines.
All forums have them, most have them under that name, or "Please read before posting". They can be wiki pages or sticky threads. Finding at least one of those will be your first task when you join a new forum. They are usually kept short, because you're meant to read it all.
- It's Your Job to make it all happen, not ours.
Even if I'm the Linux veteran with 10.000 forum posts, and you're the newbie writing your first, I still can't look into your machine. It's OK to tell us how helpless you feel (we've all been there and we're sympathetic), but it won't help solve your problem if that's all you do. We all have started from zero and are getting there through our own efforts, with a little help.
Provide us with meaningful output from your own computer.
It is not enough to state what your exact problem and your hardware is - we need to see that you are able to look into it, because nobody is going to do it all for you. If the output is more than 50 lines I expect you to do something to filter out the meaningful part. Either manually, or with something like
$ grep -i yourfilterhere /some/log/file
$ dmesg | grep -i yourfilterhere
Nobody enjoys reading hundreds of lines of log files to filter out one or two relevant entries. This is your tedious task. It will also help you define your problem better.
- Don't just copy-paste. Don't answer in oneliners.
I have seen so many help threads where the original poster describes his problem in his first post in some detail, receives answers from one or two people, usually asking for additional information, and after that just provides the output asked for, adding a non-descript "still doesn't work. what next?".
That just shows that you are not doing anything to solve your problem but want someone else to do it for you.
- If you don't get an answer, ask yourself why.
It could be that you haven't provided enough information for someone to start investigating your problem. It could be that the answer is too obvious. So if you don't get an answer, it could be because the answer is: "What have you done so far?" or "Read the wiki.", or "Read the man page" or "Read the output you just posted. The answer is there, right before your eyes."
All this can also be put together and shortened to "Do your homework."
It could also be because nobody is competent enough, at least nobody who's reading the thread.
Or because you are the most competent.
- You asked for advice, so please do what you're told.
Somebody answers your call for help, asking for 3 things, of which you answer/do one, then complain that it still doesn't work. Please answer each and every question to your best knowledge and ability, but also reflect on it, try it from different angles, and try one more thing you haven't been asked for.
- Keep track of what you're changing.
Make a backup. Change one thing, and if it doesn't work, change it back before trying something else. If a change brings partial success, keep in mind that it could be breaking something else.
It is also important to share your solution, so that others can find it.
- Clarity. One problem at a time. Use the Enter button to increase readability.
It is not uncommon that a thread starter tells a lot about their situation, mixing topics and different problems, making the post so cluttered that some vital information is overlooked. Re-read before you press "Send". Group your text into paragraphs by pressing Enter twice.
- Stick to the facts. Don't get emotional.
Seems to happen a lot - somebody answers your call for help, but somehow it feels arrogant and condescending (like parts of this page probably do). It most probably isn't meant that way, but even if it was, they are still trying to help you, aren't they? Emotions don't travel well through the internet, and people tend to fill the void with what they find inside themselves. For similar reasons, be very careful about jokes. It may be funny if you actually tell it to someone, but if you write it in a forum, it might seem disrespectful and not funny at all. Emoticons help a little, at least for me.
Please don't take these suggestions as holy law. Nobody follows these 100% when posting.
Don't feel/think that you screwed up when you haven't followed all of these instructions.
It's rather the other way round - if you remembered to do at least one, there's hope. And the
fact that you read all the way to the bottom of this page counts for something in itself.
Similar, but funnier: The Rootless Root