如何在系统启动时停用蓝牙?

评论

正常自然的事情是让您在蓝牙设置中选择启动时是打开还是关闭。有人每次打开计算机时都将其关闭或打开是很自然的。我们正在谈论使Linux成为最好的桌面系统,而不是最差的桌面系统,不是吗?

我正在阅读roadmr所写的链接。听起来很有趣,但绝不是人们应该打开和关闭蓝牙。蓝牙配置应询问您是要在引导时打开还是关闭,或者至少应以最后一个状态引导。这是一个经验法则。就我而言,现在是内置蓝牙。问题是我可以选择打开或关闭systray图标,但是如果我要编辑配置,它总是关闭。因此,这显然是一个容易引起误解的错误。

这是错误#1073669。

令人难以置信的是,在第14版上,我们仍在“教” Ubuntu开发人员,例如“启动时开启或关闭蓝牙的选项应该对普通用户可用,而不仅仅是那些喜欢在无休止的线路中搜索的人”论坛”。

@Lexible此设置是“一次性”设置,如果切换到另一个用户,则也将不相关。但是有一个简单的选项(通过命令行和gui),如@bmaupin的答案所示-遗憾的是它没有标记为解决方案。

#1 楼

18.04+天生没有/etc/rc.local的用户,则需要创建一个并使其可执行。为了使事情变得简单一些,您只需将以下命令粘贴到终端中即可: />
sudo install -b -m 755 /dev/stdin /etc/rc.local << EOF
#!/bin/sh
rfkill block bluetooth
exit 0
EOF


您仍然应该能够通过顶部的小程序启用蓝牙。

这适用于大多数系统,但是内核ACPI for Thinkpads似乎隐匿着一些错误。如果您使用的是Thinkpad,请在sudoedit /etc/rc.local中添加以下内容:

rfkill block bluetooth


,或查看ibm-acpi-IBM ThinkPad ACPI Extras驱动程序-一些报告建议使用ibm -acpi包括蓝牙控制(以及其他一些不错的功能)。但是我没有硬件,因此我完全无法验证这些声明。祝你好运。

评论


对于Thinkpad(仅Thinkpad),此方法有效:/etc/rc.local中的echo disable> / proc / acpi / ibm / bluetooth

– Marius Gedminas
2011年11月2日,19:51

rfkill块蓝牙适用于Thinkpad T430u

– bmaupin
13年15月15日下午16:47

当我一次将它们放在/etc/rc.local中时,它们都不对我有用(ThinkPad x201)。 rfkill block bluetooth命令可以运行,但不能在启动时运行。 -x标志在/etc/rc.local上设置。我正在运行Xubuntu 13.10。

–凯尔·法尔康纳(Kyle Falconer)
2013年12月20日在7:34

在具有systemd的Ubuntu 15.10上,您需要更多才能重新启用etc / rc.local文件的使用:askubuntu.com/a/696226/34298

–rubo77
2015年11月10日在12:36



如果我们的rc.local只是一个空文件,我们应该在哪里添加“ rfkill阻止蓝牙”?

– SSSS
17年11月25日在10:57

#2 楼

我在这里找到了一个带有“替代解决方法”的操作方法(后代的存档链接)。

实际上更改/etc/bluetooth/main.conf对我来说已经足够。

搜索条目:

AutoEnable=true


并将值更改为:

AutoEnable=false


对我来说就足够了,尽管本文还介绍了其他一些内容

在Ubuntu 17.04及更早版本上,该选项名为InitiallyPowered

评论


不适用于三星笔记本电脑530u3b,重新启动并唤醒后蓝牙始终打开

– Maxim Kim
2012年8月27日在18:51

仅当我还使用Saeed Zarinfam的将/etc/init.d/bluetooth stop放在rc.local中的答案时,这才起作用。看来,当服务启动时,它还会为蓝牙供电。我需要两个都可以使它正常工作。 (ThinkPad x201,Xubuntu 13.10)

–凯尔·法尔康纳(Kyle Falconer)
13年12月20日在7:57

在ThinkPad T420上对我不起作用

–UpTheCreek
2015年5月10日在9:40

“ main.conf”不包含此参数或任何指示其默认位置的注释,对于我们这些人来说“搜索条目”完全没有用。那么,我们应该把它放在哪个[标题]下?

– underscore_d
2015年10月30日23:00



就我而言,它是AutoEnable = false,但是无论如何从正确的位置+1都是正确的解决方案。

–Arman Petrosyan
17年4月20日在5:50

#3 楼

16.04+


从ubuntu 16.04起,systemd管理诸如蓝牙之类的启动服务...以查看终端中的当前状态问题。

sudo systemctl status bluetooth.service 


要在启动时禁用蓝牙,请

sudo systemctl disable bluetooth.service


然后在下次重新启动时蓝牙将不处于活动状态...启用蓝牙问题(然后重新启动)

sudo systemctl enable bluetooth.service


评论


这对我有用,但副作用是,blueman-applet也停止工作了。它会启动,但是不会出现在指示器区域中,因此没有快速的方法可以仅在终端中启用蓝牙。

–尤里·戈尔(Yuri Gor)
17年9月2日在21:02



至少在Xubuntu中,如果您单击Blueman,则可以选择“关闭蓝牙”。我认为这是OP希望自动化的。您的解决方案将完全删除Blueman,从而使您更难以根据需要重新启用蓝牙。

– Adrian Keister
18年1月30日在14:08

将sudo systemctl disable bluetooth.service和&sudo systemctl stop bluetooth.service放入Disable脚本,并在其上使用chmod 755。对sudo systemctl enable bluetooth.service和&进行相同的操作。sudo systemctl在Enable脚本中启动bluetooth.service。

– Adrian Keister
18年1月30日在14:33

最后! Ubuntu 18.10,唯一对我有用的东西。没有其他工作。

–泰勒
19年2月18日在13:02

是的,这是正确的解决方案。

– Jazuly
20 Feb 15'在6:08

#4 楼

要在启动时禁用蓝牙驱动程序的加载,请执行以下操作:

sudo $EDITOR /etc/modprobe.d/blacklist.conf


添加:

blacklist btusb


以后再启用它只是:

sudo modprobe btusb


评论


谢谢,那似乎确实可行,但是按照我的原始问题,我试图避免使用命令行内容。您会认为这就像在方框中打勾一样简单,以至于它想起了我不希望BT自动启动,但是看起来它比这更复杂。借助Ubuntu的驱动器可以缩短启动时间,并普遍关注笔记本电脑和上网本的功耗,令我感到惊讶的是,这一问题从未得到解决。我感谢您的帮助。

–克里斯·吉尔特纳(Chris Giltnane)
2010年8月19日在9:52

“以root身份运行gedit并编辑/etc/modprobe.d/blacklist.conf” <-好的,您的命令行少吗?

– maco
2010年8月19日13:35

在带有Ubuntu 13.10的Samsung Q35上可以正常工作,而“ rfkill阻止蓝牙”方法则不能。谢谢!

–user27164
2014年1月6日上午8:29

戴尔E6410为我工作。无需重置即可立即运行的商品。

–罗斯兰·杰拉西莫夫(Ruslan Gerasimov)
14年6月13日在10:24

在配置操作系统时,不要费力尝试“避免命令行内容”。 Ctrl + Alt + T和几个ctrl-shift-V(要粘贴)要求太多了吗?

– Doug65536
16年8月8日,0:15

#5 楼

步骤1:转到终端,然后键入以下命令来编辑系统的/etc/rc.local文件:

gksudo gedit /etc/rc.local


步骤2:在exit 0行之前添加以下行:

rfkill block bluetooth


评论


将此软块设置为蓝牙,我认为它与关闭其服务相同,并且效果很好。

–Smile.Hunter
2012年8月17日下午13:45

@Robert:$ man rfkill:“禁用与给定索引对应的设备。”尽管名称,它只是禁用BT。只需在终端上尝试命令rfkill阻止蓝牙,您应该会看到图标变为灰色。

–丹尼尔(Daniel)
15年6月13日在17:54



#6 楼

注意:这些说明适用于希望默认情况下在启动时禁用蓝牙的用户,以便以后可以轻松启用它。

Gnome(Ubuntu 18.04+)

禁用默认情况下,蓝牙

在Gnome中,蓝牙由gnome-bluetooth管理,它​​应该记住您使用的上一次设置。但是您可以强制在引导时始终禁用它,例如: br />
手动启用蓝牙

无论何时准备打开蓝牙,请单击右上方>设置>蓝牙>单击右上方附近的开关

或使用命令行:

echo "rfkill block bluetooth" >> ~/.profile


Unity / Xfce(Ubuntu <18.04,Xubuntu)

默认情况下禁用蓝牙

如果您在顶部面板(blueman-applet)中使用蓝牙小程序,它具有自己的设置,即使您在其他地方禁用了蓝牙(例如/ etc /蓝牙/main.conf或/ etc / default / tlp)。

要防止在启动时使用命令行打开蓝牙:

rfkill unblock bluetooth


或通过GUI:


单击蓝牙小程序>插件> PowerManager>配置

取消选中自动开机


Nex重新启动时,蓝牙小程序仍然可见,但蓝牙将关闭。

手动启用蓝牙

单击蓝牙小程序>打开蓝牙

评论


在Ubuntu 18.04中,这是我找到的唯一解决方案。即使您在/etc/bluetooth/main.conf中进行了更改,在底部,从AutoEnable = true到AutoEnable = false的选项也无法关闭蓝牙。实际上,此选项用于发现新设备,而不用于打开或关闭蓝牙电源。

–亚历山德罗·丁加(Alessandro D'lncal)
18年8月19日在12:26

禁用blueman / bluetooth applet如果先前在applet启动时(通常在登录时)将其禁用,则自动开机将阻止它启用蓝牙无线电。我的在启动后就已经启用了,因此我在计算机启动和启动时使用tlp来管理蓝牙状态(是否启用)!请参阅/etc/tlp.conf和/或其他答案。

– Tortor
20 Nov 30'17:44



#7 楼

1.在rc.local中阻止蓝牙。
在文件/etc/rc.local的末尾添加此行,就在exit 0的行之前:新贵。
2。在systemd上重新启用rc.local
在以systemd作为启动管理器的Ubuntu 15.10上,默认情况下不再使用/etc/rc.local文件,因此请在终端上调用此文件:
rfkill block bluetooth

打开编辑器。我在文件末尾添加了:
sudo systemctl edit --full rc-local

这些更改已由
[Install]
WantedBy=multi-user.target

激活。现在,文件/etc/rc.local就可以使用了。
3。在启动时禁用blueman-applet
sudo systemctl reenable rc-local

现在blueman-applet可见,您可以在启动程序中将其禁用
4。重新启动以查看效果

评论


对我来说,在使用blueman的Ubuntu 17.04上:gsettings设置了org.blueman.plugins.powermanager自动上电无效,来自wiki.archlinux.org/index.php/Blueman。尽管我最终做了sudo apt remove blueman,然后通过系统设置来管理蓝牙并选中“在菜单栏中显示蓝牙状态”。问题是Blueman启动并开启了蓝牙。

– majgis
17年9月28日在14:29

#8 楼

我使用tlp找到了另一个答案,该答案对Ubuntu 18.04来说非常适合我。可能第一个tlp必须安装

sudo apt install tlp


,然后文件

/etc/default/tlp


包含有关设备的某些设置,例如wifi和蓝牙。有密钥

RESTORE_DEVICE_STATE_ON_STARTUP


,默认情况下设置为0。将其切换为1后,下次启动时会记住我的上一次设置。这意味着当我在顶部面板中禁用蓝牙时,它将保持禁用状态;而当我启用蓝牙时,它将保持启用状态。还有按键

DEVICES_TO_DISABLE_ON_STARTUP


,可以将其设置为

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"


现在蓝牙将被禁用每次开机。更改此配置后,可以通过菜单和面板项启用和禁用蓝牙。我认为这比从内核模块中删除它更好。

评论


在Ubuntu中默认未安装TLP。您应该相应地更新您的帖子。

– linrunner
19年2月11日在17:07

@linrunner好吧,不知道那是什么。我在Tuxedo的新版Ubuntu Budgie上进行了测试。在那里工作。我确定了答案。

–托马斯·萨布利克(Thomas Sablik)
19年2月11日在18:07



使用tlp是一个明智的答案,因为笔记本电脑用户肯定都安装了它。

–蒂姆·理查森(Tim Richardson)
19年5月4日在1:34

无论如何,TLP都是很好的选择,特别是对于ThinkPad用户而言。

– Suzana
20-2-13在16:21

自v1.3起,TLP配置路径现在为/etc/tlp.conf

–阿卜杜勒·劳夫(Abdul Rauf)
20-10-28在15:48

#9 楼

在终端中输入以下内容:

sudo gedit /etc/modprobe.d/blacklist.conf


在文件底部,添加以下行:

blacklist bluetooth


保存文件并重新启动-现在应禁用蓝牙。

评论


这在我的电脑上不起作用...

– Floqqi
2011-10-16 21:47

@Floqqi:您能再试一次吗?我已经更新了答案。

–内森·奥斯曼(Nathan Osman)
2011-10-16 23:42



在我的ubuntu 12 ThinkPad上尝试了大约20件事,这是唯一完成此操作的工具。

–奥利维尔·布兰维安(Olivier Blanvillain)
13年9月12日下午16:57

#10 楼

您可以借助BUM更改启动时启动的服务。

安装它:sudo apt-get install bum

运行:sudo bum



取消选中该框,然后单击“应用”。

评论


谢谢,desgua,我正在考虑使用这种工具。我过去曾使用过一些软件,但它们已过时,新的ubuntu带有极简主义的迷恋,却一无所获。这是唯一的您知道的还是最好的您知道的吗?

–罗伯特
2012年5月5日,0:15

也许可以,但是起初它让我感到失望,因为它开始显示蓝牙在启动时未激活,为什么?如果rfkill未运行,则applet和hciconfig会显示其正在运行。我关闭电源后再打开,但是流浪汉继续将服务显示为关闭。我在启动时激活了该服务,但是该服务的状态仍然是错误的。

–罗伯特
2012年5月5日,下午1:26

对不起不适用于elementaryOS Freya

– Hoang Tran
16年7月9日在13:31

当它运行时,我会收到很多“使用未初始化的值”的警告。对不起,不能相信。

– Doug65536
16年8月8日,0:21

现在,该软件包不可用。它说,屁股是虚拟的。

– Satya Prakash
17年7月26日在19:27

#11 楼

我在将蓝牙关闭的“退出0”命令之前添加了
"/etc/init.d/bluetooth stop"



"/etc/rc.local" 




评论


这删除了蓝牙托盘图标,但使我的蓝牙指示灯保持点亮状态(指示仍在向无线电发送电源)。编辑:这与Stepbaer的答案(InitiallyPowered = false)一起为我工作。 (ThinkPad x201,Xubuntu 13.10)

–凯尔·法尔康纳(Kyle Falconer)
13年12月20日在7:59

这在我的64位Ubuntu 14.04 Dell Inspiron上不起作用。只有rfkill为我工作。

– faizal
14年6月17日在7:19

#12 楼

我认为最好的方法是首先禁用该服务。有一种禁用服务的通用方法可以很好地起作用:

sudo sh -c "echo 'manual' > /etc/init/bluetooth.override"


该方法适用于Ubuntu 13.10,也可能适用于早期版本。

评论


稍后使用提供的设置时如何打开蓝牙?说我只想使用5分钟。每十双靴子..

– b1r3k
2015年10月10日14:51

#13 楼

您可以编辑您的update-rc.d设置。我用了类似的东西:

sudo update-rc.d bluetooth remove


在Debian Wheezy中。请查看man update-rc.d,以获取有关如何使用它的更多信息。

#14 楼

也许可以在“启动应用程序”中将其关闭。
但是默认情况下这些应用程序是隐藏的。
在12.04中取消隐藏隐藏的“启动应用程序”:打开终端并运行以下两个命令: />
cd /etc/xdg/autostart/

sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop


现在您可以取消选中蓝牙。 (不要删除!)

评论


不幸的是,蓝牙未在这些应用程序中列出。

–pfctdayelise
15年7月10日在12:11

#15 楼

不。它并不总是在启动应用程序列表中。我认为最好的解决方案是在rc.local脚本中添加rfkill命令或在InitiallyPowered中设置/etc/bluetooth/main.conf参数。

评论


对于我来说,InitialPowered似乎被忽略了。

–UpTheCreek
15年5月10日在9:42

#16 楼

1)安装软件包smbios-utils并将其添加到Startup Applications中,使用以下命令:

sudo smbios-wireless-ctl --bt 0


2)在终端类型:

sudo visudo


,并将以下行添加到打开的文件/etc/sudoers的末尾:

<your username> ALL = NOPASSWD: /usr/sbin/smbios-wireless-ctl


3)要在会话期间打开蓝牙,请在终端上运行:

sudo smbios-wireless-ctl --bt 1


这对我在装有Ubuntu 13.10的Dell D630上适用于我

评论


您认为sudo smbios-wireless-ctl --boot --bt 0是否有效?另外,我不确定,但这可能是特定于Dell的。

– Hitechcomputergeek
15年5月2日在18:48

实际上,软件包smbios-utils执行bios命令,因此它会打开和关闭与bios相关的物理设备,因此您也可以使用它来打开和关闭wifi等。我不确定它是否可以与任何bios一起使用。至少,它与戴尔兼容。顺便说一句,Ubuntu 14.04的最新安装对蓝牙和wifi小程序执行了相同的操作,因此该软件包不再需要任何其他功能。

–胜利者
2015年5月3日19:22

我知道。但是,如果执行smbios-wireless-ctl --help,则其中一部分具有--boot设置BIOS引导时间设置。但是我不知道他们固定了蓝牙。谢谢你告诉我。

– Hitechcomputergeek
2015年5月4日21:29



#17 楼

在Ubuntu 16.04上,我只是使用systemctl禁止了该服务的启动。

为此,打开一个终端窗口并键入以下内容:

sudo systemctl disable bluetooth

您可以重新启动,因为现在蓝牙将无法启动,或者如果您不想重新启动并想立即停止蓝牙,则可以输入:

sudo service bluetooth stop

#18 楼

在Ubuntu Studio 16.04上,可以在以下位置的“启动”中禁用蓝牙小程序:

会话和启动>应用程序自动启动>蓝牙小程序


在这里,您可以单击在字段中将其禁用。

评论


这是在我的Xubuntu 17.10机器上的一个非常好的解决方案,除了一件事:如果用户想即时重新开始使用蓝牙,则需要执行sudo systemctl enable bluetooth.service和&sudo systemctl start bluetooth.service。但是您的解决方案肯定可以解决启动问题。

– Adrian Keister
18年1月30日在14:52

#19 楼

我们可以通过以下方式禁用蓝牙自动启动:

sudo gedit /etc/bluetooth/main.conf

gedit是我的收藏夹编辑器,您可以将其替换为xed或系统上安装的任何组件。)

在此文件的最底部,有以下行:

#AutoEnable=false

取消注释,例如: >
AutoEnable=false


评论


在ubuntu budgie 18.04中不起作用

– Amr Sabre
18年9月3日在13:27

#20 楼

从Ubuntu 18.04(带有GNOME)开始,您需要



编辑/etc/bluetooth/main.conf并找到

AutoEnable = true


,并将值更改为:

AutoEnable = false


,因此该设备无法在启动时开机。


编辑/ etc / default / tlp并找到:

#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"


编辑此行以读取:

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"


设备在启动时被禁用。

然后打开Dash并搜索“启动应用程序”。取消选中列表中与蓝牙相关的所有项目。单击[关闭]保存。


评论


要点4:转到“设置”->“蓝牙”->“禁用”(在右上角窗口)。

–奥马尔·塔里克(Omar Tariq)
19年1月27日在6:43

对于第2点,您可能必须安装tlp(sudo apt install tlp)

– Suzana
20-2-13在16:24

#21 楼

我已经尝试了以上几个答案,但是它们在带有内核5.8.5的Linux Mint上不起作用。因此,现在我正在使用cron作业在系统启动时关闭蓝牙。然后可以使用applet将其重新打开。
在终端上打开root crontab。
sudo crontab -e

并添加以下行并保存(使用sleep以确保进程已启动)
@reboot sleep 10; /usr/bin/bluetooth off


#22 楼

我使用Sputnik内核,此问题已在我的Dell Inspiron 14R N4110上修复。

#23 楼

我认为您应该编辑

/etc/default/bluetooth


并设置

BLUETOOTH_ENABLED=0


在启动时禁用蓝牙服务

评论


在Ubuntu 14.04上不起作用

– b1r3k
2015年9月27日在17:28

#24 楼

对于在rfkill block bluetooth中插入行/etc/rc.local(或其他任何行)不起作用的用户,请尝试在~/.bashrc的末尾添加同一行
),没有选项可以将其插入/etc/rc.local,但前者确实可以在bashrc中使用。请注意,这仅适用于当前用户,不适用于所有用户。

#25 楼

不幸的是,以上对我没有任何帮助。相反,我将其添加到〜/ .profile的底行中

( sleep 10; rfkill block bluetooth ) & 


对于我来说,我必须等待让blueman applet启动并启用蓝牙(不可避免地),然后我才能将其关闭。

#26 楼

这是在MX Linux 19.2上对我有用的。此解决方案的两个部分均已在其他答案中提及,但未同时提及。


编辑/etc/bluetooth/main.confAutoEnable设置为false


如本期注释所述,执行
AutoEnable=false

以防止Blueman的电源管理器插件自动为适配器供电。



#27 楼

我在将蓝牙关闭的“退出0”命令之前添加了
"/etc/init.d/bluetooth stop"



"/etc/rc.local" 




#28 楼

我的笔记本的解决方案

“ BIOS-USB配置-EHCI2:已禁用”

EHCI1用于USB端口(实际上我的笔记本有2个USB 2.0端口)

#29 楼

编辑/etc/default/grub

sudo nano /etc/default/grub


并更改以下行:

GRUB_CMDLINE_LINUX=""


改为这样:

GRUB_CMDLINE_LINUX="bluetooth.blacklist=yes"


,然后更新grub并重新启动:

sudo update-grub


#30 楼

这应该禁止在基于Debian的系统上启动蓝牙:

sudo chkconfig bluetooth off


或在基于RedHat的系统上

systemctl disable bluetooth.service