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

329

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

Floqqi
источник
Я не думаю, что «это должна быть естественная конфигурация по умолчанию», люди обязательно захотят использовать Bluetooth на своих компьютерах, не включая его (у вас нет мыши или клавиатуры Bluetooth, если бы это были ваши основные устройства ввода, которые вы хотите, чтобы Bluetooth был включен при загрузке). Однако я согласен с тем, что было бы полезно выбрать способ загрузки Bluetooth.
roadmr
61
Обычная и естественная вещь - позволить вам выбрать в настройках Bluetooth, хотите ли вы включить или выключить его при загрузке. Не естественно, чтобы люди выключали или включали его каждый раз, когда включали свой компьютер. Мы говорим о том, чтобы сделать Linux лучшей настольной системой, а не худшей, не так ли?
Роберт
Мы согласны с тем, что позволить людям выбирать - это лучший вариант. Смотрите здесь для некоторых возможных способов сделать это. answers.launchpad.net/ubuntu/+source/bluez/+question/51440
roadmr
1
Это ошибка № 1073669 .
Колан
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.

Stepbaer
источник
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
MACO
источник
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. Перезагрузитесь, чтобы увидеть эффект

rubo77
источник
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.

desgua
источник
Спасибо, десгуа, я думал об инструментах такого рода. Я использовал некоторые из них в прошлом, но они устарели, и новая 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. (Не удаляйте!)

schiemanski
источник
К сожалению, 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

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

amirt
источник
Это очень хорошее решение на моей машине 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

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

Я использовал Sputnik Kernel , который исправил это на моем Dell Inspiron 14R N4110.

Алекс Видерманн
источник
1

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

/etc/default/bluetooth

и установить

BLUETOOTH_ENABLED=0

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

Fabio
источник
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 в списке. Нажмите [Закрыть], чтобы сохранить.

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

я добавить

"/etc/init.d/bluetooth stop"

в

"/etc/rc.local" 

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

Саид Заринфам
источник
0

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

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

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

MSP
источник
0

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

sudo nano /etc/default/grub

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

GRUB_CMDLINE_LINUX=""

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

GRUB_CMDLINE_LINUX="bluetooth.blacklist=yes"

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

sudo update-grub
mchid
источник
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 при загрузке. Я переименовал исполняемый файл, чтобы его нельзя было найти.

bluesdiva2001
источник
Это быстрее, начиная вещи параллельно. По крайней мере, это идея.
Дуглас Лидер