如何在系统启动时停用蓝牙?
如何在系统启动时停用蓝牙?
Answers:
18.04+用户自然不具有/etc/rc.local,则需要创建一个并使其可执行。为了使事情变得简单一些,您可以将以下命令粘贴到终端中:
sudo install -b -m 755 /dev/stdin /etc/rc.local << EOF
#!/bin/sh
rfkill block bluetooth
exit 0
EOF
运行sudoedit /etc/rc.local
并添加以下内容exit 0
:
rfkill block bluetooth
您仍然应该能够通过顶部的小程序启用蓝牙。
这应该适用于大多数系统,但它看起来像有一些bug在内核的ACPI的ThinkPad笔记本电脑。如果您使用的是Thinkpad,请将以下内容添加到/etc/rc.local
:
echo disable > /proc/acpi/ibm/bluetooth
或查看ibm-acpi-IBM ThinkPad ACPI Extras驱动程序 -一些报告表明ibm-acpi包括蓝牙控制(以及其他一些不错的功能)。但是我没有硬件,因此我完全无法验证这些声明。祝好运。
echo disable > /proc/acpi/ibm/bluetooth
在/etc/rc.local中
rfkill block bluetooth
为Thinkpad
/etc/rc.local
。该rfkill block bluetooth
命令确实起作用,但在启动时不起作用。-x标志设置为on /etc/rc.local
。我正在运行Xubuntu 13.10。
etc/rc.local
文件的使用:askubuntu.com/a/696226/34298
我找到了如何做一个干净的“解决办法” 在这里(存档链接为后人)
实际上改变/etc/bluetooth/main.conf
对我来说已经足够了。
搜索条目:
AutoEnable=true
并将值更改为:
AutoEnable=false
对我来说,这已经足够了,尽管本文介绍了一些其他步骤,这些步骤可能是必需的,也可能是不必要的。
在Ubuntu 17.04及更早版本上,该选项名为InitiallyPowered
。
/etc/init.d/bluetooth stop
rc.local 答案时,这才起作用。看来,当服务启动时,它还会为蓝牙供电。我需要两个都可以使它正常工作。(ThinkPad x201,Xubuntu 13.10)
main.conf
不包含此参数或任何指示其默认位置的注释的人,“搜索条目”完全没有用。那么,[Heading]
我们应该把它放在哪?
从ubuntu 16.04开始,systemd管理启动服务,例如蓝牙...以查看终端中的当前状态问题
sudo systemctl status bluetooth.service
在启动问题上停用蓝牙
sudo systemctl disable bluetooth.service
然后在下次重新启动时蓝牙将不处于活动状态...以启用蓝牙问题(然后重新启动)
sudo systemctl enable bluetooth.service
要在启动时禁用蓝牙驱动程序的加载,请执行以下操作:
sudo $EDITOR /etc/modprobe.d/blacklist.conf
加:
blacklist btusb
稍后启用它应该是:
sudo modprobe btusb
步骤1:转到终端并输入以下命令以编辑系统/etc/rc.local
文件:
gksudo gedit /etc/rc.local
步骤2:在该行之前添加以下exit 0
行:
rfkill block bluetooth
$ man rfkill
“ 禁用与给定索引相对应的设备。 ”尽管有名称,它只是禁用BT;只需rfkill block bluetooth
在终端上尝试命令,您应该会看到图标变为灰色。
在终端中输入以下内容:
sudo gedit /etc/modprobe.d/blacklist.conf
在文件底部,添加以下行:
blacklist bluetooth
保存文件并重新启动-现在应该禁用蓝牙。
在文件末尾的行末添加此/etc/rc.local
行exit 0
:
rfkill block bluetooth
这将达到目的,但仅适用于使用upstart的旧版Ubuntu 。
在将systemd作为启动管理器的Ubuntu 15.10上/etc/rc.local
,默认情况下不再使用该文件,因此请在终端上调用此文件:
sudo systemctl edit --full rc-local
这将打开一个编辑器。在文件末尾,我添加了:
[Install]
WantedBy=multi-user.target
这些更改通过以下方式激活
sudo systemctl reenable rc-local
现在/etc/rc.local
,您就可以使用该文件了。
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/blueman.desktop
gnome-session-properties
现在可以看到blueman-applet了,您可以在启动程序中将其禁用
gsettings set org.blueman.plugins.powermanager auto-power-on false
来自wiki.archlinux.org/index.php/Blueman。尽管我最终还是这样做了,sudo apt remove blueman
然后通过系统设置来管理蓝牙并选中“在菜单栏中显示蓝牙状态”。问题是Blueman启动并开启了蓝牙。
我认为最好的方法是首先禁用该服务。有一种禁用服务的通用方法非常有效:
sudo sh -c "echo 'manual' > /etc/init/bluetooth.override"
这适用于Ubuntu 13.10,也可能适用于早期版本。
您可以编辑update-rc.d
设置。我用类似的东西:
sudo update-rc.d bluetooth remove
在Debian Wheezy中。查看man update-rc.d
有关如何使用它的更多信息。
我使用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"
现在,蓝牙将在每次启动时禁用。更改此配置后,可以通过菜单和面板项启用和禁用蓝牙。我认为这比从内核模块中删除它更好。
也许您可以在启动应用程序中将其关闭。但是这些应用程序默认情况下是隐藏的。在12.04中取消隐藏隐藏的启动应用程序:打开终端并运行以下两个命令:
cd /etc/xdg/autostart/
sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop
现在您可以取消选中蓝牙。(不要删除!)
1)安装软件包smbios-utils并使用以下命令将其添加到“ 启动应用程序”:
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特有的。
smbios-wireless-ctl --help
,部分原因是--boot Set BIOS boot-time setting.
我不知道他们已经修复了蓝牙。谢谢你告诉我。
如果您在顶部面板(blueman-applet)中使用蓝牙小程序,它具有自己的设置,即使您在其他地方禁用了蓝牙(例如/etc/bluetooth/main.conf或/ etc / default / tlp)。
要防止蓝牙在启动时使用命令行打开:
gsettings set org.blueman.plugins.powermanager auto-power-on false
或通过GUI:
下次重新启动时,蓝牙小程序仍将可见,但蓝牙将关闭。打开它:
单击蓝牙小程序> 开启蓝牙
我使用的是Sputnik Kernel,已将其修复在Dell Inspiron 14R N4110上。
从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并搜索“启动应用程序”。取消选中列表中与蓝牙相关的所有项目。单击[关闭]保存。
这是一个干净且可移植的systemd服务,而不是使用传统的rc-local解决方案,该服务在引导时以及从睡眠中唤醒后会挂起蓝牙。
/etc/systemd/system/bluetooth-suspend.service
以下内容:[Unit]
Description=Disable bluetooth after waking up.
After=suspend.target network.target
[Service]
User=root
Environment=DISPLAY=:0
ExecStart=/usr/sbin/rfkill block bluetooth
[Install]
WantedBy=suspend.target network.target
启用服务: sudo systemctl enable bluetooth-suspend.service
重新加载systemd: sudo systemctl daemon-reload
要重新启用蓝牙,请rfkill unblock bluetooth
在终端中运行。