When you boot up an Ubuntu Linux machine, several background services automatically start running to ensure your hardware is fully functional. One of these default services is the Bluetooth daemon. If you use wireless headphones or a Bluetooth mouse, this is highly convenient. However, if you are running Ubuntu on a server, an older laptop with a weak battery, or a desktop PC that only uses wired peripherals, having Bluetooth enabled by default is a waste of system resources.
Furthermore, leaving Bluetooth constantly broadcasting when you are not actively using it poses a minor security risk and slowly drains laptop battery life. While you can manually turn Bluetooth off via the graphical interface every time you log in, configuring Ubuntu to disable Bluetooth automatically on startup is a much more permanent and efficient solution.
Understanding the Bluetooth Daemon
In modern versions of Ubuntu, background services are managed by a system called systemd. The specific service responsible for handling Bluetooth hardware and connections is called bluetooth.service. To stop Bluetooth from starting automatically, we must instruct systemd to disable this specific service during the boot sequence.
How to Disable Bluetooth Using Systemctl
The most robust way to manage startup services in Ubuntu is by using the systemctl command in the terminal. This method ensures the change is implemented at the system level.
Step 1: Stop the Running Service
Before disabling the service from starting in the future, you should stop it from running right now.
- Open your terminal by pressing Ctrl + Alt + T.
- Run the following command to halt the active Bluetooth service:
sudo systemctl stop bluetooth.service - Enter your administrator password when prompted.
The Bluetooth icon should immediately disappear from your system tray, and any connected devices will disconnect.
Step 2: Disable the Service on Startup
Now, tell systemd not to load this service during the next boot sequence.
- In the terminal, run the following command:
sudo systemctl disable bluetooth.service
You will see an output confirming that the symlinks connecting the service to the startup sequence have been removed. From this point forward, Bluetooth will remain completely disabled every time you turn on your computer.
How to Temporarily Re-enable Bluetooth
Disabling the service does not uninstall the software or permanently break your hardware. If you purchase a Bluetooth keyboard six months later and need to use it, you can easily turn the service back on.
To manually start the service for your current session only (it will remain disabled after a reboot):
sudo systemctl start bluetooth.service
If you want to reverse your changes completely and have Bluetooth start automatically on boot again, you simply re-enable the service:
sudo systemctl enable bluetooth.service
Alternative: Disabling the Kernel Module (Advanced)
The systemctl method stops the software daemon, but the Linux kernel may still load the drivers for your Bluetooth hardware. If you want to absolutely ensure that the Bluetooth hardware is powered down at the lowest possible level (often desired for maximum battery savings), you can blacklist the kernel module entirely.
The primary Bluetooth kernel module is called btusb.
- Open the terminal and create a new blacklist configuration file:
sudo nano /etc/modprobe.d/blacklist-bluetooth.conf - Type the following line into the empty file:
blacklist btusb - Save the file by pressing Ctrl + O, then press Enter. Exit with Ctrl + X.
- Update the kernel boot files by running:
sudo update-initramfs -u - Reboot your system.
Blacklisting the module completely hides the hardware from the operating system, ensuring zero power is routed to the Bluetooth radio.