How to See Every Program Linux Starts Automatically and Stop the Ones You Don’t Need
Your Linux system starts dozens of services every time it boots. Here is how to see all of them and turn off the ones wasting your…
How to See Every Program Linux Starts Automatically and Stop the Ones You Don’t Need
Your Linux system starts dozens of services every time it boots. Here is how to see all of them and turn off the ones wasting your resources
Photo by Dima Shishkov on Unsplash
Your computer feels slower than it used to.
Apps take longer to open. The fan spins up before you’ve even done anything. You haven’t installed much recently. Nothing obvious has changed.
What changed is invisible. Services accumulate. Every program you install has a chance to add itself to your startup.
Over months, your system boots with a growing list of things running in the background that you never asked for and probably don’t need.
Linux gives you a direct way to see all of them and stop the ones you don’t want. No third-party app required.
How Linux manages startup programs
Modern Linux systems use a tool called systemd to manage everything that starts at boot. Every background service, from your network manager to your Bluetooth daemon to software update checkers, is controlled by systemd as a unit.
Knowing this matters because systemctl is the command that talks to systemd. It is how you list, start, stop, enable, and disable services directly from the terminal.
See every service currently running
This shows every active service on your system right now.
systemctl list-units --type=service --state=running
The output lists each service name, its load state, active state, and a short description of what it does. Scroll through it and you will likely find several services you don’t recognise and never intentionally started.
To see everything including services that are loaded but not currently running:
systemctl list-units --type=service
See every service set to start at boot
This is the more important list. It shows what will run automatically every time your computer starts, whether it is running right now or not.
systemctl list-unit-files --type=service --state=enabled
Every line marked enabled starts automatically at boot. Go through this list carefully. It is common to find services tied to software you no longer use, printers you no longer own, or cloud sync tools you stopped using months ago.
Check what a specific service actually does
Before stopping anything, find out what it is.
systemctl status servicename
Replace servicename with the actual name from the list. This shows you the service description, whether it is running, how long it has been running, and its recent log output.
For example:
systemctl status bluetooth
If you never use Bluetooth, that is a service you can safely disable.
Stop a service that is currently running
This stops the service immediately but does not prevent it from starting again at the next boot.
sudo systemctl stop servicename
Useful for testing whether stopping something causes any problems before committing to disabling it permanently.
Disable a service from starting at boot
This prevents the service from starting automatically at boot but does not stop it if it is running right now.
sudo systemctl disable servicename
To stop it immediately and disable it from starting at boot in one command:
sudo systemctl stop servicename && sudo systemctl disable servicename
Re-enable a service you changed your mind about
If you disable something and later realise you need it back:
sudo systemctl enable servicename
sudo systemctl start servicename
The first line adds it back to the boot sequence. The second starts it immediately without waiting for a reboot.
Services commonly safe to disable on a desktop
These appear on most Ubuntu systems and are safe to disable if you don’t actively use them.
Bluetooth, if you use no wireless peripherals:
sudo systemctl disable bluetooth
ModemManager, if you have no mobile data modem:
sudo systemctl disable ModemManager
Avahi-daemon, the network discovery service most desktop users don’t need:
sudo systemctl disable avahi-daemon
cups, the printing service, if you have no printer:
sudo systemctl disable cups
Check each one with systemctl status before disabling. What is safe on one setup may matter on another.
How much difference this actually makes
Disabling unused services has two real effects. Boot time drops because the system has fewer things to initialise before handing control to you. Background resource usage drops because fewer processes are sitting idle consuming memory and occasionally waking the CPU.
On an older machine the difference is noticeable within the first week. On a newer machine the gain is smaller but still real, especially battery life on a laptop where background services contribute to drain even when you’re doing nothing.
The bigger value is knowing what is running on your own machine. Most people have no idea what their system starts automatically. Now you do.
Most people learn Linux commands. Few learn how to think. Every Wednesday in Terminal to AI I share one practical terminal skill and one sharp lesson about information, decisions, and building a life that actually pays. Former smart contract auditor. Learning in public. Free to join. **Terminal to AI →**
메타데이터
- post_id
- 9e3c4245a092
- slug
- how-to-see-every-program-linux-starts-automatically-and-stop-the-ones-you-dont-need-9e3c4245a092
- url
- https://medium.com/my-lifes-mirrow/how-to-see-every-program-linux-starts-automatically-and-stop-the-ones-you-dont-need-9e3c4245a092
- canonical_url
- https://medium.com/my-lifes-mirrow/how-to-see-every-program-linux-starts-automatically-and-stop-the-ones-you-dont-need-9e3c4245a092
- author_url
- https://medium.com/@tibas
- status
- ok
- fetched_at
- 2026-07-09 06:53:08