Як я можу відключити Bluetooth при запуску системи?


328

Як я можу відключити Bluetooth при запуску системи?


Я не думаю, що "повинна бути природна конфігурація за замовчуванням", люди зобов'язані хочуть використовувати Bluetooth на своїх комп'ютерах, не вмикаючи їх (у вас, здається, немає миші або клавіатури Bluetooth, якщо це були ваші основні пристрої введення, на яких ви хочете ввімкнути Bluetooth при завантаженні) Однак я погоджуюся, що спосіб вибору того, як ви хочете, щоб Bluetooth був завантажений, був би корисним.
roadmr

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

Ми погоджуємось, що дозволити людям обирати - найкращий варіант. Ознайомтеся з деякими можливими способами цього. answer.launchpad.net/ubuntu/+source/bluez/+question/51440
roadmr


6
Неймовірно, що на 14-му випуску ми все ще "навчаємо" розробникам Ubuntu такі речі, як "можливість включення чи вимкнення Bluetooth у Bluetooth повинна бути доступною для звичайних користувачів, а не лише для тих, хто любить шукати в незмінні лінії громадських форумів ".
Родріго

Відповіді:


208

Користувачам 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/bluetoothin /etc/rc.local
Marius Gedminas

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

122

Я знайшов , як до чистої «обхідний шлях» тут ( архів посилань для нащадків)

Насправді зміни /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)
Kyle Falconer

3
Не працював для мене на Thinkpad t420
UpTheCreek

4
"Пошук запису" точно не корисний для тих із нас, хто main.confне містить цього параметра або коментаря, що вказує його місце за замовчуванням. Отже, під яку його [Heading]слід поставити?
підкреслити_30

10
У моєму випадку це було AutoEnable = false, але все одно +1 для правильного рішення з потрібного місця.
Арман Петросян

33

16.04+


Починаючи з ubuntu 16.04, systemd керує послугами запуску, такими як Bluetooth ... для перегляду поточного випуску статусу, наступного в терміналі

sudo systemctl status bluetooth.service 

щоб вимкнути Bluetooth при видачі цього питання

sudo systemctl disable bluetooth.service

тоді при наступному перезавантаженні bluetooth не буде активним ... для ввімкнення проблеми Bluetooth (потім перезавантаження)

sudo systemctl enable bluetooth.service

4
Це працює для мене, але як побічний ефект, blueman-аплет перестав працювати теж. Він запускається, але не з’являється в області індикатора, тому немає швидкого способу включення Bluetooth, лише в терміналі.
Юрій Гор

У Xubuntu, принаймні, якщо натиснути на Blueman, він має опцію "Вимкнути Bluetooth". Я думаю, що це те, що ОП хотів би автоматизувати. Ваше рішення повністю видаляє Blueman, що ускладнює повторне включення Bluetooth за бажанням.
Адріан Кейстер

1
Покладіть sudo systemctl відключити bluetooth.service && sudo systemctl стоп bluetooth.service в сценарій відключення і chmod 755 на ньому. Зробіть те ж саме для sudo systemctl, увімкніть 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" <- добре, це менш командний рядок для ya?
maco

1
Добре працює на Samsung Q35 з Ubuntu 13.10, тоді як підхід 'rfkill block bluetooth' не робить. Дякую!
користувач27164

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, я думаю, це те саме, що відключити його послугу і працює добре.
Посмішка. Мисливець

@Robert:: $ man rfkill" Вимкнути пристрій, відповідний даному індексу. " Незважаючи на ім'я, він лише відключає BT; просто спробуйте команду rfkill block bluetoothна терміналі, ви повинні побачити піктограму сірого кольору.
Даніель

8

Введіть у термінал наступне:

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

Внизу файлу додайте рядок:

blacklist bluetooth

Збережіть файл та перезапустіть - Bluetooth тепер має бути відключений.


Це не працюватиме на моєму ПК ...
Floqqi

@Floqqi: Ви можете спробувати ще раз? Я оновив свою відповідь.
Натан Осман

2
Спробував близько 20 речей на моєму панелі ubuntu 12, це єдиний, хто зробив трюк.
OlivierBlanvillain

8

1. блокувати Bluetooth в rc.local

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

rfkill block bluetooth

Це зробить трюк, але лише у старих версіях Ubuntu, які використовують старт .

2. reenable 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 показують, що він працює. Я вимикаю і вмикаю, але бам продовжує показувати послугу як вимкнено. Я активував послугу під час завантаження, але стан служби продовжує бути неправильним.
Роберт

вибачте, не працює на basicOS Freya
Hoang Tran

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

Тепер пакет недоступний. Кажуть, Бум - віртуальний.
Сатя Пракаш

6

Додаю

"/etc/init.d/bluetooth stop"

в

"/etc/rc.local" 

перед командою "exit 0" для завантаження з Bluetooth вимкнено.


Це видалило значок лотка Bluetooth, але моє світлодіодне індикатор Bluetooth увімкнувся (вказуючи, що живлення все ще надсилається на радіо). Редагувати: це у поєднанні з відповіддю Степбера ( InitiallyPowered = false) працювало на мене. (ThinkPad x201, Xubuntu 13.10)
Kyle Falconer

це не спрацювало на моєму 64-розрядному Ubuntu 14.04 dell inspiron. На мене працював лише rfkill.
фазал

5

Я думаю, що найкращий спосіб - відключити послугу від запуску в першу чергу. Існує загальний метод відключення служб, який ідеально працює:

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

Це працює для Ubuntu 13.10 і, мабуть, і для більш ранніх версій.


як увімкнути Bluetooth, використовуючи надані налаштування згодом? скажіть, я хочу його використовувати лише протягом 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

Можливо, ви можете вимкнути це в програмах запуску. Але ці програми за замовчуванням приховані. Відкрийте приховані програми запуску в 12.04: Відкрийте термінал і запустіть ці дві команди:

cd /etc/xdg/autostart/

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

Тепер ви можете зняти галочку з Bluetooth. (Не видаляйте!)


Bluetooth, на жаль, не вказаний серед цих програм.
pfctdayelise

2

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


1
СпочаткуPowered, здається, для мене ігнорується.
UpTheCreek

2

1) Встановіть пакунок smbios-utils і додайте його до запуску програм за допомогою:

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 тощо. Я не впевнений, працює він з будь-яким біосом чи ні . Принаймні, це добре працює з Dell. До речі, останні інсталяції Ubuntu 14.04 роблять ті ж речі з Bluetooth та wifi аплетами, тому мені більше не потрібно в цьому пакеті.
переможець

Я знаю це. Але якщо ви це зробили 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 Applet при запуску в:

Сесія та запуск> Автозапуск програми> Bluetooth-аплет

Тут ви можете натиснути поле, щоб відключити його.


Це ідеально хороше рішення на моїй машині Xubuntu 17.10, за винятком одного: якщо користувач хоче знову почати використовувати Bluetooth на ходу, йому потрібно виконати sudo systemctl включити bluetooth.service && sudo systemctl запустити bluetooth.service. Але ваше рішення безумовно вирішує проблему завантаження.
Адріан Кейстер

2

Ми можемо відключити автоматичний запуск Bluetooth таким чином:

sudo gedit /etc/bluetooth/main.conf

( geditце мій редактор фаворитів, ви можете замінити це на xedабо все, що встановлено у вашій системі.)

Внизу цього файлу є такий рядок:

#AutoEnable=false

Скасуйте коментар, як це:

AutoEnable=false

не працює в ubuntu budgie 18.04
Аргенто

2

Якщо ви використовуєте аплет Bluetooth у верхній панелі (blueman-applet), у нього є власне налаштування, яке автоматично включатиме Bluetooth, навіть якщо ви його відключили в інших місцях (наприклад, /etc/bluetooth/main.conf або / etc / default / tlp).

Щоб запобігти включенню Bluetooth при запуску, використовуйте командний рядок:

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

Або через GUI:

  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. Потім відкрийте тире та шукайте "Запуск програм". Зніміть прапорці в списку будь-які елементи, пов’язані з Bluetooth. Клацніть [Закрити], щоб зберегти.


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

0

Додаю

"/etc/init.d/bluetooth stop"

в

"/etc/rc.local" 

перед командою "exit 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, тут є чистий і портативний системний сервіс, який призупиняє 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

Мені довелося використовувати метод грубої сили, щоб запобігти автоматичному запуску Bluetoothdd при завантаженні. Я перейменував виконуваний файл, щоб його не було знайдено.


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