What is the best way to deactivate Bluetooth for every startup with systemd? There are a lot of examples, but all of them work with upstart and rc.local.

With Ubuntu 15.10 rc.local is disabled by default. I think it's for a reason, or isn't it?

So how can I deactivate the Bluetooth target/service correctly without the rc.local script?

Maybe reactivate rc.local an add the line "rfkill block bluetooth" is the proper way?


First, stop the service:

sudo systemctl stop bluetooth.service

Then, disable it:

sudo systemctl disable bluetooth.service


systemctl status bluetooth.service
  • that was exactly what i am searching for! thanks – Metro Mar 11 '16 at 11:01
  • no problem, u'r welcome ;) – Ivan Temchenko Mar 11 '16 at 11:02
  • @IvanTemchenko great answer. I think you should write it also on this question. It collects already a lot of old and new procedures, and this is missing. – dadexix86 Aug 3 '16 at 13:22
  • Thank you, I've been looking for this solution for a few weeks, this is the way to do it on ubuntu 16.10 (systemd) – Diego Alvarez Jan 28 '17 at 19:26
  • This is the way to go – Rodrigo Lopez Guerra Feb 11 '18 at 14:56

Most of the methods above totally disable bluetooth, while probably many users just want their OS to remember their preference. The problem is that blueman-applet has an auto-power-on setting that automatically enables bluetooth each time the indicator starts. So if you you want Ubuntu to remember your preference open a terminal and type this:

$ gsettings set org.blueman.plugins.powermanager auto-power-on false

This way you can just disable bluetooth and the OS will remember it and won't automatically re-enable it next time you turn on or reboot your PC.

  • 1
    Thanks! exactly what I needed! A way to make it stop being on everytime, but leave it easy re-enable it. – yinon Sep 7 '17 at 10:11

To disable it so it never tries to restart (as other apps may be trying to start it after you've disabled it and will show up with errors in the journal log) after stopping and disabling, you can sudo systemctl mask dbus-org.bluez.service, this points the symlink to /dev/null. To restore it sudo systemctl unmask dbus-org.bluez.service in systemd. https://www.ibm.com/support/knowledgecenter/SSNW54_1.1.1/com.ibm.kvm.v111.admin/hpssdisabling.htm

  • I gave +1 because my system kept showing errors at startup and I could not get them to stop, until I found this advice. – pauljohn32 Sep 10 '16 at 2:33

Edit the bluetooth configuration file and set AutoEnable to false to disable bluetooth on boot.

sudo gedit /etc/bluetooth/main.conf

At the end of the file


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.