What is troubleshooting?
Troubleshooting is a non-coding, technical process where a computer user finds a solution to their computer issue. It's an important skill used in many Information Technology (IT) roles including help desk, system administration, and networking.
Who does this article apply to?
This article applies to all Ubuntu users, whether they are experienced or new users. Ubuntu is a flavor of Linux. With some variations, all Linux flavors (including Arch Linux, Debian, Gentoo, etc) use the same concepts in this article. The article gives new users the tools they need to fix their computer problems with as little frustration as possible. It will also help sharpen experienced users so they can better troubleshoot their problems quickly and effectively.
It can be very difficult to find an answer to a Ubuntu problem that's buried in resources such as the Ubuntu Wiki or in the Google search results. This article provides a great way to get started in troubleshooting and figuring out where to go with your own computer problems.
Not all users will go through the same troubleshooting process, but the article will hopefully provide a more systematic approach to troubleshooting with the guidelines presented.
When would troubleshooting be useful?
Troubleshooting is useful when you have time to figure out a computer problem that you need to resolve. However, there may be bad times to troubleshoot. For example, a bad time to troubleshoot is when you are about to start a presentation. In situations such as this, it may be better to postpone the problem to another day.
Why learn to troubleshoot?
Unfortunately, the Internet and its users won't have the answer to every computer problem you encounter. There are many different factors that can cause your computer issues, including a bad software version, incompatible hardware, and software configuration.
If you know how to troubleshoot, you'll know how to fix your computer problem(s) right away. Knowing how will help save you time, prevent spending hours upon hours finding an answer to an issue, and waste time waiting for someone to solve your problem on the forums. If your issue involves hardware, troubleshooting can even help you save money, so you don't have to buy a whole new computer to fix your issue.
Lastly, troubleshooting allows you to learn more about computers and how they work as a whole. You can also use this learned knowledge to help others with their computer issues as well.
How do you troubleshoot?
It's important to have a general understanding of a computer as a whole. It would take many articles to explain everything about how Ubuntu works. Fortunately, you won't have to read every online article in order to troubleshoot your problems. You only need to know enough to fix the issue you currently face. You could also look up any additional information that you don't know as needed.
The more problems you troubleshoot, the better you'll get at fixing your own issues. You'll also get a better understanding of how Ubuntu works.
Preliminary steps: Here are some general questions to ask yourself before starting the troubleshooting process. They help resolve many common problems before getting more involved in a computer problem. Note that all of these steps are in order from least involved to most involved:
1. Are my cables plugged in properly?
- This is a silly question, but you'd be surprised how many hours a problem took simply because a device wasn't plugged in all the way.
2. Does my program require root (aka "Admin" in Windows) privileges?
- If the program does require root privileges, you can run the program in a terminal (by holding Ctrl + Alt + T at once) and entering:
3. Does my computer meet the system requirements to run it?
- Many resource-hungry programs such as 3-D games and video-editing software require certain hardware constraints that must be met in order to run properly. These issues can reveal themselves as slow performances and unexpected crashes while running a program. This issue requires comparing the hardware specifications of your computer with the system requirements of the software you're running.
- You can find your system requirements through a simple Google search of the program you're running. There are many websites that provide this information to you.
- To figure out your system specifications, you can open a terminal (by holding Ctrl + Alt + T at once) and enter:
- Keep in mind that if you are running Wine for Windows programs, the software requirements may require a little more CPU and memory resources than specified. For most systems, this increase isn't a big deal but for systems that barely meet the requirements of a program, it may be an issue.
4. Can I consult a manual provided with my software or hardware?
- All new software and hardware purchased come with a manual describing how to use the product or software. It comes with step-by-step instructions to help you use your product properly.
- Many of these manuals also have a troubleshooting section on how to fix common issues related to the product.
- If you don't have a physical copy of the manual, you can also find a PDF file of it on most products' website. It is located under the support page.
- For many Ubuntu commands, they have their own separate manual pages called the manpages. To read the manpages, simply type:
5. Does my Ubuntu software require any missing dependencies?
- Dependencies are software components that are shared among Ubuntu programs. Every program you use on Ubuntu depends on these components to make your program run properly. Sometimes a bad installation or an accidental removal of these components will make the program not work. To resolve any dependencies, enter:
sudo apt -f install <application-name>
6. Do I need to update and upgrade my software?
- This requires checking for the latest versions and downloading as needed. This can sometimes provide software revisions to fix common bugs or other issues. It can be accomplished using:
sudo apt update && sudo apt -y upgrade
7. Should I reinstall my software?
- This helps provide a fresh new install of a program. It can also re-write any configuration files that were created in the previous installation. It can be accomplished using autoremove, which remove the program and its unused dependencies:
sudo apt autoremove --purge <application>
8. Do I need to install or update any drivers?
- Drivers is software used to help your computer run devices properly. Devices that tend to require drivers include printers, graphics cards, and mice and keyboards. Installing or updating these drivers may resolve any device-specific issues related to the running of a program. This can help in many performance-related and non-functioning computer devices.
Describe the symptoms.
Once you've gone through the preliminary steps and confirmed the issue still exists, it's time to dig a little more in depth on your problem.
The first sub-step in this section is to know what the problem is. As simple as it sounds, it's very important to declare to yourself the computer problem you're troubleshooting. This will guide everything you do in the following steps. It also helps to identify what your goal is so you won't get sidetracked with other problems. Lastly, there may be situations where you'll have multiple Ubuntu problems to troubleshoot and identifying one problem at a time helps you stay productive and focused.
The next sub-step is to describe the symptoms around the problem. Take notes (on paper or mentally) of anything that COULD be related to your problem. It's important in this sub-step to not dismiss any symptoms as "too trivial" or "too insignificant." You'll dismiss symptoms in the next step.
Some potential symptoms may include error messages, unresponsive behavior, and strange terminal output. If the problem is software-related, you can open a terminal and run the software in it. Most software in Linux displays debugging output messages in the terminal that can be read for errors. This may give important insight to the issue at hand.
Make an Educated Guess on What the Problem is
Now that you have notes on the different symptoms, it's now time to figure out the "why" behind your problem. Review your list of symptoms and try to find some kind of pattern involved with your problem. This is where your knowledge of Ubuntu, Linux, and computers becomes useful. You won't need to know everything about all three in order to solve your problem. In some cases, it helps to not know too much because of information overload. Too much knowledge can be a hindrance to solving your problem.
If you don't know where to start with a problem, you can try reading articles on the Internet related to your problem. For example, to troubleshoot a problem where Ubuntu can't boot, it may help to review online articles on Linux's or Ubuntu's boot process. It may provide potential insight related to your computer issue at hand.
Find a Strategy to Resolve the Issue at Hand
The third step is now to find a solution to the problem. If you haven't already, refer to the preliminary steps above before you try any new solutions. Those steps give simple solutions to common problems with Ubuntu.
At this point you can sometimes solve your problem right away. With the information you gathered from the previous steps along with your knowledge of computers, you may know enough to solve the issue at hand. For those who are new to computers or Ubuntu, it's okay to not have this knowledge and experience with Ubuntu to solve problems. You can try the following sub-steps instead to assist you.
If you aren't able to solve the problem on your own, you can also try researching more information on how to solve the problem. Research includes many forms of resources such as online, books, and so on. Your research will help you uncover problems that people have already experienced before. You may not find a solution to every computer problem online, but it's always good to see if people have experienced a similar issue to your problem. This helps save you time and effort from finding a new solution to a problem that's already been solved online.
There are countless articles and Wiki's to refer to in fixing your problem. The bottom of this page includes more resources to help with troubleshooting.
If all else fails, ask somebody in the community:
- Forums, whether on Ubuntu's site, Arch Linux's, or other forums related to your issue.
You could also try the Ubuntu IRC chat here.
These steps will help you find a strategy to help solve your problems. The next step carries out that strategy.
Test the Strategy. See if the Problem has been Resolved
This step is pretty simple: test your solution and see if it resolved your issue. If it didn't, refer back to step 1 above. This time, you have more information about your problem now that you tested out the solution. It will help you revise what information you've included in your previous steps so you can get closer to solving your problem.
List of guides
Arch Wiki - Although not Ubuntu, they include a lot of valuable information!