Как отключить Bluetooth при запуске системы?


329

Как отключить Bluetooth при запуске системы?


Я не думаю, что «это должна быть естественная конфигурация по умолчанию», люди обязательно захотят использовать Bluetooth на своих компьютерах, не включая его (у вас нет мыши или клавиатуры Bluetooth, если бы это были ваши основные устройства ввода, которые вы хотите, чтобы Bluetooth был включен при загрузке). Однако я согласен с тем, что было бы полезно выбрать способ загрузки Bluetooth.
roadmr

61
Обычная и естественная вещь - позволить вам выбрать в настройках Bluetooth, хотите ли вы включить или выключить его при загрузке. Не естественно, чтобы люди выключали или включали его каждый раз, когда включали свой компьютер. Мы говорим о том, чтобы сделать Linux лучшей настольной системой, а не худшей, не так ли?
Роберт

Мы согласны с тем, что позволить людям выбирать - это лучший вариант. Смотрите здесь для некоторых возможных способов сделать это. answers.launchpad.net/ubuntu/+source/bluez/+question/51440
roadmr


6
Это невероятно, что в 14-м издании мы все еще «учим» разработчиков Ubuntu таким вещам, как «опция включения или выключения Bluetooth при загрузке, должна быть доступна для обычных пользователей, а не только для тех, кто любит искать в бесконечных строках» общественных форумов ".
Родриго

Ответы:


209

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

Вы все еще должны иметь возможность включить Bluetooth через апплет верхней панели.

Это должно работать для большинства систем, но похоже, что в ACPI ядра для Thinkpads скрывается несколько ошибок. Если вы используете Thinkpad, добавьте следующее /etc/rc.local:

echo disable > /proc/acpi/ibm/bluetooth

Или ознакомьтесь с ibm-acpi - дополнительным драйвером IBM ThinkPad ACPI - в некоторых отчетах говорится, что ibm-acpi включает в себя управление Bluetooth (помимо других приятных вещей). Но у меня нет аппаратного обеспечения, поэтому я не могу проверить эти заявления. Удачи.


6
Для Thinkpads (и только Thinkpads) это работает: echo disable > /proc/acpi/ibm/bluetoothв /etc/rc.local
Мариус Гедминас

4
rfkill block bluetoothработал на Thinkpad T430u
bmaupin

5
Ни один из них не работал для меня (ThinkPad x201), когда я разместил их по одному в /etc/rc.local. Команда rfkill block bluetoothработает, но не при запуске. Флаг -x установлен /etc/rc.local. Я использую Xubuntu 13.10.
Кайл Фальконер

4
В Ubuntu 15.10 с systemd вам нужно еще немного, чтобы включить использование etc/rc.localфайла: askubuntu.com/a/696226/34298
rubo77

5
если наш rc.local - это просто пустой файл, куда мы должны добавить 'rfkill block bluetooth'?
Sss

124

Я нашел практическое руководство с чистым «обходным путем» здесь ( ссылка на архив для потомков)

На самом деле изменение /etc/bluetooth/main.confбыло достаточно для меня.

Поиск записи:

AutoEnable=true

и измените значение на:

AutoEnable=false

Мне этого было достаточно, хотя в статье описаны некоторые другие шаги, которые могут или не могут быть необходимыми.

В Ubuntu 17.04 и старше эта опция была названа InitiallyPowered.


3
не работает на ноутбуке Samsung 530u3b, Bluetooth всегда включен после перезагрузки и пробуждения
Максим Ким

3
Это сработало бы, только если бы я использовал ответ Саида Заринфама о включении /etc/init.d/bluetooth stoprc.local. Кажется, что когда служба запускается, она также включает питание для Bluetooth. Мне нужно было оба, чтобы заставить это работать. (ThinkPad x201, Xubuntu 13.10)
Кайл Фалконер

3
У меня не работает ThinkPad T420
UpTheCreek

4
«Поиск записи» совершенно бесполезен для тех из нас, у main.confкого нет этого параметра или комментариев, указывающих его местоположение по умолчанию. Итак, под чем [Heading]мы должны это поставить?
underscore_d

10
В моем случае это было AutoEnable = false, но в любом случае +1 для правильного решения из правильного места.
Арман Петросян

33

16.04+


Начиная с Ubuntu 16.04, systemd управляет службами запуска, такими как Bluetooth ... для просмотра текущего статуса, следующего за терминалом

sudo systemctl status bluetooth.service 

деактивировать Bluetooth при запуске проблемы это

sudo systemctl disable bluetooth.service

то при следующей перезагрузке блютус не будет активен ... чтобы включить проблему блютуса (потом перезагрузка)

sudo systemctl enable bluetooth.service

4
Это работает для меня, но как побочный эффект, blueman-applet перестал работать тоже. Он запускается, но не появляется в области индикатора, поэтому быстрого способа включения Bluetooth нет, только в терминале.
Юрий Гор

В Xubuntu, по крайней мере, если вы нажмете на Blueman, у него будет опция «Отключить Bluetooth». Я думаю, что это то, что ОП хотел бы автоматизировать. Ваше решение полностью удаляет Blueman, затрудняя повторное включение Bluetooth, если это необходимо.
Адриан Кейстер

1
Поместите sudo systemctl disable bluetooth.service && sudo systemctl stop bluetooth.service в сценарий Disable и на нем выполните команду chmod 755. Сделайте то же самое для sudo systemctl enable bluetooth.service && sudo systemctl запустите bluetooth.service в сценарии Enable.
Адриан Кейстер

2
НАКОНЕЦ-ТО! Ubuntu 18.10, единственное, что сработало для меня. Больше ничего не получалось.
Тайлер

27

Чтобы отключить загрузку драйвера Bluetooth при запуске:

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

Добавлять:

blacklist btusb

Включение этого позже должно быть просто:

sudo modprobe btusb

1
Спасибо за это, похоже, это работает, но я пытался избежать вещей из командной строки в соответствии с моим первоначальным вопросом. Вы могли бы подумать, что это будет так же просто, как поставить галочку, чтобы вспомнить, что я не хочу, чтобы BT запускался автоматически, но похоже, что его путь сложнее, чем этот. С накопителем Ubuntu для более быстрой загрузки и общим фокусом на энергопотребление в ноутбуках и нетбуках я удивлен, что это никогда не решалось. Я ценю помощь, хотя.

9
«Запустите gedit от имени пользователя root и отредактируйте /etc/modprobe.d/blacklist.conf» <- хорошо, это меньше командной строки для вас?
Мако

1
Прекрасно работает на Samsung Q35 с Ubuntu 13.10, в то время как подход «rfkill block bluetooth» - нет. Спасибо!
user27164

DELL E6410 у меня работает. Хорошо, что можно запускать снова на ходу без перезагрузки.
Руслан Герасимов

Не пытайтесь «избегать вещей из командной строки» при настройке операционной системы. Является ли Ctrl + Alt + T и пара ctrl-shift-V (для вставки) слишком много, чтобы спросить?
doug65536

18

Шаг 1: Зайдите в терминал и введите следующую команду для редактирования /etc/rc.localфайла системы :

gksudo gedit /etc/rc.local

Шаг 2: Добавьте следующую строку перед exit 0строкой:

rfkill block bluetooth

1
Это установлен мягкий блок на Bluetooth, я думаю, что это так же, как отключить его обслуживание и работает хорошо.
Smile.Hunter

@Robert:: $ man rfkill« Отключить устройство, соответствующее данному индексу. » Несмотря на название, это только отключение BT; просто попробуйте команду rfkill block bluetoothна терминале, вы должны увидеть значок становится серым.
Даниэль

8

Введите в терминал следующее:

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

Внизу файла добавьте строку:

blacklist bluetooth

Сохраните файл и перезапустите - теперь Bluetooth должен быть отключен.


Это не будет работать на моем компьютере ...
Floqqi

@Floqqi: Не могли бы вы попробовать еще раз? Я обновил свой ответ.
Натан Осман

2
Пробовал около 20 вещей на моем ThinkPad Ubuntu 12, это единственный, который сделал свое дело.
OlivierBlanvillain

8

1. заблокировать блютуз в rc.local

Добавьте эту строку в конец файла /etc/rc.localпрямо перед строкой exit 0:

rfkill block bluetooth

Это поможет, но только в старых версиях Ubuntu, использующих upstart .

2. включите rc.local на systemd

В Ubuntu 15.10 с systemd в качестве менеджера автозагрузки /etc/rc.localфайл больше не используется по умолчанию, поэтому вызовите его на терминале:

sudo systemctl edit --full rc-local

Который открывает редактор. В конце файла я добавил:

[Install]
WantedBy=multi-user.target

Эти изменения активируются

sudo systemctl reenable rc-local

Теперь файл /etc/rc.localиспользуется так, как вы его знаете.

3. отключить blueman-апплет при запуске

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/blueman.desktop
gnome-session-properties

Теперь blueman-апплет виден и вы можете отключить его из автозагрузки программ

4. Перезагрузитесь, чтобы увидеть эффект


3
Для меня на Ubuntu 17.04 с blueman: gsettings set org.blueman.plugins.powermanager auto-power-on falseработал, с wiki.archlinux.org/index.php/Blueman . Несмотря на то, что я в конечном итоге сделал, sudo apt remove bluemanзатем управляю Bluetooth через системные настройки и проверяю «Показывать статус Bluetooth в строке меню». Blueman запуска и включения Bluetooth был проблемой.
MJ

7

Вы можете изменить службы, запущенные при загрузке, с помощью BUM .

Установите это: sudo apt-get install bum

Бегать: sudo bum

введите описание изображения здесь

Снимите флажок и нажмите Apply.


Спасибо, десгуа, я думал об инструментах такого рода. Я использовал некоторые из них в прошлом, но они устарели, и новая Ubuntu, с их минималистической одержимостью, не имеет ничего подобного. Это единственное, что ты знаешь или лучшее, что ты знаешь?
Роберт

1
Может, работает, но поначалу меня это разочаровало, потому что он начал показывать bluetooth как не активированный во время загрузки, почему? и как не работает, когда rfkill, апплет и hciconfig показывают, что он работает. Я выключаю и включаю, но бомж продолжает показывать сервис как выключенный. Я активировал сервис при загрузке, но статус сервиса продолжает оставаться неправильным.
Роберт

извините, не работает на элементарной OS Фрея
Хоанг Тран

Я получаю много предупреждений об "использовании неинициализированного значения" при его запуске. Извините, не могу доверять этому.
doug65536

Сейчас пакет недоступен. Говорят, Бом виртуален.
Сатья Пракаш

6

я добавить

"/etc/init.d/bluetooth stop"

в

"/etc/rc.local" 

перед «выход 0» команда для загрузки с отключенным Bluetooth.


Это убрало иконку в трее Bluetooth, но оставило мой индикатор Bluetooth включенным (указывая на то, что питание все еще отправлялось на радио). Изменить: это в сочетании с ответом Stepbaer ( InitiallyPowered = false) работал для меня. (ThinkPad x201, Xubuntu 13.10)
Кайл Фалконер

это не сработало на моем 64-битном Ubuntu 14.04 dell inspiron. У меня работал только rfkill.
Файзал

5

Я думаю, что лучший способ - это отключить запуск службы в первую очередь. Существует общий метод отключения служб, который отлично работает:

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

Это работает для Ubuntu 13.10 и, возможно, для более ранних версий.


как включить блютуз, при дальнейшем использовании предоставленных настроек? говорят, что я хочу использовать это только в течение 5 минут. каждые 10 сапог ..
b1r3k

4

Вы можете редактировать свои update-rc.dнастройки. Я использовал что-то похожее на:

sudo update-rc.d bluetooth remove

В Debian Wheezy. Проверьте man update-rc.dдля получения дополнительной информации о том, как его использовать.


4

Я нашел другой ответ, используя tlp, который отлично работает для меня с Ubuntu 18.04. Вероятно, сначала должен быть установлен tlp с

sudo apt install tlp

Тогда файл

/etc/default/tlp

содержит некоторые настройки для устройств, таких как Wi-Fi и Bluetooth. Есть ключ

RESTORE_DEVICE_STATE_ON_STARTUP

который по умолчанию установлен на 0. После того, как я переключил его на 1, моя последняя настройка запоминается при следующей загрузке. Это означает, что когда я отключаю Bluetooth на верхней панели, он остается отключенным, а когда я включаю Bluetooth, он остается включенным. Также есть ключ

DEVICES_TO_DISABLE_ON_STARTUP

который может быть установлен на

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"

Теперь Bluetooth будет отключен при каждой загрузке. После изменения этой конфигурации Bluetooth может быть включен и отключен через меню и пункт панели. Я думаю, что это лучше, чем удалить его из модулей ядра.


TLP не устанавливается по умолчанию в Ubuntu. Вы должны обновить свой пост соответственно.
linrunner

@linrunner Хорошо, не знал что это. Я тестировал на свежем Ubuntu Budgie от Tuxedo. Там это сработало. Я исправил свой ответ.
Томас Саблик

использование tlp - разумный ответ, поскольку пользователи ноутбуков наверняка установят его.
Тим Ричардсон

2

Может быть, вы можете отключить его в Startup Applications. Но эти приложения по умолчанию скрыты. Показать скрытые приложения запуска в 12.04: откройте терминал и выполните следующие две команды:

cd /etc/xdg/autostart/

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

Теперь вы можете снять Bluetooth. (Не удаляйте!)


К сожалению, Bluetooth не указан среди этих приложений.
pfctdayelise

2

Нет. Это не всегда в списке приложений для запуска. Я думаю, что лучшее решение - добавить команду rfkill в скрипт rc.local или установить InitiallyPoweredпараметр в /etc/bluetooth/main.conf.


1
Изначально для меня, похоже, игнорируется.
UpTheCreek

2

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) Чтобы включить Bluetooth во время сеанса, запустите в терминале:

sudo smbios-wireless-ctl --bt 1

Это работает для меня на моем Dell D630 с Ubuntu 13.10


Как вы думаете, это sudo smbios-wireless-ctl --boot --bt 0будет работать? Кроме того, я не уверен, но это может быть связано с Dell.
Hitechcomputergeek

На самом деле, пакет smbios-utils выполняет команды bios, поэтому он включает и выключает физические устройства, связанные с bios, так что вы также можете использовать его для включения и выключения wifi и т. Д. Я не уверен, работает ли он с любым BIOS или нет , По крайней мере, это хорошо работает с Dell. Кстати, последние установки Ubuntu 14.04 делают то же самое с апплетами Bluetooth и Wi-Fi, так что мне больше не нужно в этом пакете.
Виктор

Я знал это. Но если вы это сделаете smbios-wireless-ctl --help, то отчасти --boot Set BIOS boot-time setting.я не знал, что они исправили Bluetooth; Спасибо, что сказал мне.
Hitechcomputergeek

2

В Ubuntu 16.04 я просто отключил запуск сервиса с помощью systemctl.

Для этого откройте окно терминала и введите следующее:

sudo systemctl disable bluetooth

Вы можете либо перезагрузиться, так как теперь Bluetooth будет отключен при запуске, либо, если вы не хотите перезагружаться и хотите немедленно остановить Bluetooth, вы можете набрать:

sudo service bluetooth stop


2

В Ubuntu Studio 16.04 вы можете отключить апплет Bluetooth при запуске в:

Сессия и запуск> Автозапуск приложения> Апплет Bluetooth

Здесь вы можете нажать на поле, чтобы отключить его.


Это очень хорошее решение на моей машине Xubuntu 17.10, за исключением одного: если пользователь хочет снова использовать bluetooth на лету, ему нужно выполнить sudo systemctl enable bluetooth.service && sudo systemctl start bluetooth.service. Но ваше решение определенно решает проблему загрузки.
Адриан Кейстер

2

Мы можем отключить автоматический запуск Bluetooth следующим образом:

sudo gedit /etc/bluetooth/main.conf

( geditэто мой любимый редактор, вы можете заменить его на xedто, что установлено в вашей системе.)

В самом низу этого файла есть строка:

#AutoEnable=false

Откомментируйте это так:

AutoEnable=false

не работает в Ubuntu budgie 18.04
Argento

2

Если вы используете апплет Bluetooth на верхней панели (blueman-applet), у него есть собственный параметр, который автоматически включает Bluetooth, даже если вы отключили его в других местах (например, /etc/bluetooth/main.conf или / и т.д. / по умолчанию / TLP).

Чтобы предотвратить включение Bluetooth при запуске с помощью командной строки:

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

Или через графический интерфейс:

  1. Нажмите на апплет Bluetooth> Плагины > PowerManager > Конфигурация
  2. Снимите флажок Авто при включении

При следующей перезагрузке апплет Bluetooth все еще будет виден, но Bluetooth будет отключен. Включить это:

Нажмите апплет Bluetooth> Включить Bluetooth


В Ubuntu 18.04 это единственное решение, которое я нашел. Даже если вы измените в /etc/bluetooth/main.conf, внизу, вариант с AutoEnable = true на AutoEnable = false, вы не сможете отключить Bluetooth. Фактически эта опция предназначена для обнаружения новых устройств, а не для включения или выключения Bluetooth.
Алессандро Д'Илнкал


1

Я думаю, что вы должны отредактировать

/etc/default/bluetooth

и установить

BLUETOOTH_ENABLED=0

отключить службу bluetooth при загрузке


1
не работал на Ubuntu 14.04
b1r3k

1

Для тех из вас, где вставка строки rfkill block bluetooth(или любой другой) в /etc/rc.localне работает, попробуйте включить ту же строку в конце~/.bashrc

В моем случае (Ubuntu 14.04, Thinkpad W540) ни одна опция не работала, вставляя ее, /etc/rc.localно первая работала в bashrc. Обратите внимание, что это будет работать только для текущего пользователя, а не для всех пользователей.


1

Начиная с Ubuntu 18.04 (с GNOME) вам необходимо

  1. Отредактируйте /etc/bluetooth/main.conf и найдите

    AutoEnable = true
    

    и измените значение на:

    AutoEnable = false
    

    Таким образом, это устройство не включается при запуске.

  2. Отредактируйте / etc / default / tlp и найдите:

    #DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
    

    Отредактируйте эту строку следующим образом:

    DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
    

    Так что это устройство отключено при запуске.

  3. Затем откройте Dash и выполните поиск «Startup Applications». Снимите все пункты, связанные с Bluetooth в списке. Нажмите [Закрыть], чтобы сохранить.


Пункт 4: Зайдите в Настройки -> Bluetooth -> Отключить (в правом верхнем окне).
Омар Тарик

0

я добавить

"/etc/init.d/bluetooth stop"

в

"/etc/rc.local" 

перед «выход 0» команда для загрузки с отключенным Bluetooth.


0

Решение для моего ноутбука

«BIOS - конфигурация USB - EHCI2: отключено»

EHCI1 предназначен для USB-портов (фактически у моего ноутбука 2 порта USB 2.0)


0

Редактировать /etc/default/grub:

sudo nano /etc/default/grub

и измените следующую строку:

GRUB_CMDLINE_LINUX=""

сказать это вместо этого:

GRUB_CMDLINE_LINUX="bluetooth.blacklist=yes"

Затем обновите grub и перезагрузите компьютер:

sudo update-grub

0

Это должно отключить запуск Bluetooth в системах на основе Debian:

sudo chkconfig bluetooth off

или в системах на базе RedHat

systemctl disable bluetooth.service

0

К сожалению, ничто выше не работает для меня. Вместо этого я добавляю это в нижнюю строку ~ / .profile

( sleep 10; rfkill block bluetooth ) & 

В моем случае я должен дождаться запуска апплета blueman и включения Bluetooth (неизбежно), прежде чем я смог отключить его.


0

Чистое системное решение (16.04+)

Вместо использования устаревшего решения rc-local, здесь есть чистый и портативный сервис systemd, который приостанавливает работу Bluetooth при загрузке, а также после выхода из спящего режима.

  1. Используя sudo, создайте /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
  1. Включить сервис: sudo systemctl enable bluetooth-suspend.service

  2. Перезагрузить systemd: sudo systemctl daemon-reload

Чтобы снова включить Bluetooth, запустите rfkill unblock bluetoothв терминале.


-1

Мне пришлось использовать метод грубой силы, чтобы остановить автоматический запуск bluetoothd при загрузке. Я переименовал исполняемый файл, чтобы его нельзя было найти.


Это быстрее, начиная вещи параллельно. По крайней мере, это идея.
Дуглас Лидер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.