Come posso disattivare il Bluetooth all'avvio del sistema?


329

Come posso disattivare il Bluetooth all'avvio del sistema?


Non credo che "dovrebbe essere la configurazione predefinita naturale", le persone sono tenute a voler utilizzare il Bluetooth sui loro computer senza doverlo accendere (non sembra che tu abbia un mouse o una tastiera Bluetooth, se quelli fossero i tuoi dispositivi di input primari su cui desideri avviare il Bluetooth). Tuttavia, sono d'accordo sul fatto che un modo per scegliere come si desidera che il Bluetooth sia all'avvio sarebbe utile.
Roadmr

61
La cosa normale e naturale è quella di farti scegliere, nelle impostazioni bluetooth, se lo vuoi attivare o disattivare all'avvio. Non è naturale avere persone che lo spengono o si accendono ogni volta che accendono il proprio computer. Stiamo parlando di rendere Linux il miglior sistema desktop, non il peggiore, no?
Robert,

Siamo d'accordo che consentire alle persone di scegliere è l'opzione migliore. Vedi qui per alcuni modi possibili per farlo. answers.launchpad.net/ubuntu/+source/bluez/+question/51440
roadmr

1
Questo è bug # 1073669 .
colan,

6
È un po 'incredibile che, alla 14a edizione, stiamo ancora "insegnando" agli sviluppatori Ubuntu cose come "l'opzione di avere il bluetooth acceso o spento all'avvio dovrebbe essere disponibile per gli utenti normali e non solo per gli appassionati di ricerca in linee interminabili dei forum pubblici ".
Rodrigo,

Risposte:


209

18.04+ utenti che non hanno naturalmente un file /etc/rc.local, dovrai crearne uno e renderlo eseguibile. Per semplificare leggermente le cose, puoi semplicemente incollare il seguente comando in un terminale:

sudo install -b -m 755 /dev/stdin /etc/rc.local << EOF
#!/bin/sh
rfkill block bluetooth
exit 0
EOF

Esegui sudoedit /etc/rc.locale aggiungi questo prima della riga con exit 0:

rfkill block bluetooth

Dovresti comunque essere in grado di abilitare il Bluetooth tramite l'applet della barra superiore.

Questo dovrebbe funzionare per la maggior parte dei sistemi, ma sembra che ci siano alcuni bug in agguato nell'ACPI del kernel per i Thinkpad. Se utilizzi un Thinkpad, aggiungi quanto segue a /etc/rc.local:

echo disable > /proc/acpi/ibm/bluetooth

Oppure dai un'occhiata a ibm-acpi - IBM ThinkPad ACPI Extras Driver - alcuni rapporti suggeriscono che ibm-acpi include il controllo bluetooth (tra le altre cose carine). Ma non ho l'hardware, quindi non sono in grado di verificare queste affermazioni. In bocca al lupo.


6
Per i Thinkpad (e solo i Thinkpad) funziona: echo disable > /proc/acpi/ibm/bluetoothin /etc/rc.local
Marius Gedminas,

4
rfkill block bluetoothha lavorato per Thinkpad T430u
bmaupin,

5
Né ha funzionato per me (ThinkPad x201) quando li ho inseriti uno alla volta /etc/rc.local. Il rfkill block bluetoothcomando funziona, ma non all'avvio. Il flag -x è attivato /etc/rc.local. Sto eseguendo Xubuntu 13.10.
Kyle Falconer,

4
Su Ubuntu 15.10 con systemd hai bisogno di qualcosa in più per riattivare l'uso del etc/rc.localfile: askubuntu.com/a/696226/34298
rubo77,

5
se il nostro rc.local è solo un file vuoto, dove dovremmo aggiungere 'rfkill block bluetooth'?
Sss il

124

Ho trovato un how-to con una "soluzione alternativa" pulita qui ( link all'archivio per i posteri)

In realtà il cambiamento è /etc/bluetooth/main.confstato abbastanza per me.

Cerca la voce:

AutoEnable=true

e cambia il valore in:

AutoEnable=false

Mi è bastato, sebbene l'articolo descriva alcuni altri passaggi che potrebbero essere o non essere necessari.

Su Ubuntu 17.04 e precedenti l'opzione è stata nominata InitiallyPowered.


3
non funziona per il laptop Samsung 530u3b, il bluetooth è sempre attivo dopo il riavvio e la sveglia
Maxim Kim

3
Funzionerebbe solo se avessi usato anche la risposta di Saeed Zarinfam di inserire /etc/init.d/bluetooth stoprc.local. Sembra che quando si avvia il servizio, si accende anche il bluetooth. Avevo bisogno di entrambi per farlo funzionare. (ThinkPad x201, Xubuntu 13.10)
Kyle Falconer il

3
Non ha funzionato per me su thinkpad t420
UpTheCreek

4
"Cerca la voce" non è di alcuna utilità per quelli di noi che main.confnon contengono questo parametro o alcun commento che indichi la sua posizione predefinita. Quindi, sotto quale [Heading]dovremmo metterlo?
underscore_d

10
Nel mio caso era AutoEnable = false, ma comunque +1 per la giusta soluzione dal posto giusto.
Arman Petrosyan,

33

16.04+


Da Ubuntu 16.04 in poi systemd gestisce i servizi di avvio come bluetooth ... per visualizzare l'attuale problema di stato che segue in un terminale

sudo systemctl status bluetooth.service 

per disattivare il bluetooth all'avvio emettere questo

sudo systemctl disable bluetooth.service

quindi al successivo riavvio il bluetooth non sarà attivo ... per abilitare il problema bluetooth (quindi riavviare)

sudo systemctl enable bluetooth.service

4
Questo funziona per me, ma come effetto collaterale, anche l'applet blueman ha smesso di funzionare. Si avvia, ma non appare nell'area dell'indicatore, quindi non esiste un modo rapido per abilitare il bluetooth, solo nel terminale.
Yuri Gor,

In Xubuntu, almeno, se fai clic su Blueman, ha l'opzione "Disattiva Bluetooth". Penso che questo sia ciò che l'OP vorrebbe automatizzato. La tua soluzione rimuove del tutto Blueman, rendendo più difficile riattivare il Bluetooth, se lo si desidera.
Adrian Keister,

1
Metti sudo systemctl disabilita bluetooth.service && sudo systemctl ferma bluetooth.service in uno script Disable e chmod 755 su di esso. Fai lo stesso con sudo systemctl abilita bluetooth.service && sudo systemctl avvia bluetooth.service in uno script Enable.
Adrian Keister,

2
FINALMENTE! Ubuntu 18.10, l'unica cosa che ha funzionato per me. Nient'altro ha funzionato.
Tyler,

27

Per disabilitare il caricamento del driver bluetooth all'avvio:

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

Inserisci:

blacklist btusb

Abilitarlo in seguito dovrebbe essere solo:

sudo modprobe btusb

1
Grazie per quello, sembra funzionare, ma stavo cercando di evitare roba da riga di comando secondo la mia domanda originale. Penseresti che sarebbe semplice come spuntare una casella in modo da ricordare che non voglio che BT si avvii automaticamente ma sembra che sia più complicato di così. Con l'unità di Ubuntu per tempi di avvio più rapidi e l'attenzione generale sul consumo energetico di laptop e netbook, sono sorpreso che questo non sia mai stato affrontato. Apprezzo l'aiuto però.

9
"Esegui gedit come root e modifica /etc/modprobe.d/blacklist.conf" <- ok, è meno riga di comando per te?
maco,

1
Funziona bene su Samsung Q35 con Ubuntu 13.10, mentre l'approccio 'rfkill block bluetooth' no. Grazie!
user27164

DELL E6410 funziona per me. Buono che può essere eseguito di nuovo in movimento senza ripristino.
Ruslan Gerasimov,

Non preoccuparti di provare a "evitare roba da riga di comando" durante la configurazione del sistema operativo. Ctrl + Alt + T e un paio di ctrl-shift-V (per incollare) sono troppo da chiedere?
doug65536

18

Passaggio 1: vai al terminale e digita il seguente comando per modificare il /etc/rc.localfile di sistema :

gksudo gedit /etc/rc.local

Passaggio 2: aggiungere la seguente riga prima della exit 0riga:

rfkill block bluetooth

1
Questo è impostato su soft block su bluetooth, penso che sia come disattivare il suo servizio e funziona bene.
Sorriso

@Robert:: $ man rfkill" Disabilita il dispositivo corrispondente all'indice indicato. " Nonostante il nome, disabilita solo BT; basta provare il comando rfkill block bluetoothsul terminale, dovresti vedere l'icona diventare grigia.
Daniel,

8

Digitare quanto segue in un terminale:

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

Nella parte inferiore del file, aggiungi la riga:

blacklist bluetooth

Salvare il file e riavviare: il Bluetooth ora dovrebbe essere disabilitato.


Questo non funzionerà sul mio pc ...
Floqqi,

@Floqqi: puoi per favore riprovare? Ho aggiornato la mia risposta.
Nathan Osman,

2
Ho provato circa 20 cose sul mio thinkpad Ubuntu 12, questo è l'unico che ha fatto il trucco.
OlivierBlanvillain,

8

1. bloccare il bluetooth in rc.local

Aggiungi questa riga alla fine del file /etc/rc.localprima della riga exit 0:

rfkill block bluetooth

Questo funzionerà, ma solo nelle versioni precedenti di Ubuntu che usano upstart .

2. riattivare rc.local su systemd

Su Ubuntu 15.10 con systemd come startup manager il /etc/rc.localfile non viene più utilizzato di default, quindi chiamalo su un terminale:

sudo systemctl edit --full rc-local

Che apre un editor. Alla fine del file ho aggiunto:

[Install]
WantedBy=multi-user.target

Tali modifiche sono attivate da

sudo systemctl reenable rc-local

Ora il file /etc/rc.localviene utilizzato come lo conosci.

3. disabilitare blueman-applet all'avvio

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

Ora blueman-applet è visibile e puoi disabilitarlo dai programmi di avvio

4. Riavvia per vedere l'effetto


3
Per me su Ubuntu 17.04 con blueman: gsettings set org.blueman.plugins.powermanager auto-power-on falsefunzionato, da wiki.archlinux.org/index.php/Blueman . Anche se alla fine l'ho fatto, sudo apt remove bluemangestisco il bluetooth attraverso le impostazioni di sistema e seleziona "Mostra stato Bluetooth nella barra dei menu". Il problema era l'avvio e l'attivazione del bluetooth da parte di Blueman.
MJ,

7

È possibile modificare i servizi avviati all'avvio con l'aiuto di BUM .

Installalo: sudo apt-get install bum

Correre: sudo bum

inserisci qui la descrizione dell'immagine

Deseleziona la casella e fai clic Apply.


Grazie, desgua, stavo pensando a questo tipo di strumenti. Ne ho usati alcuni in passato ma diventano obsoleti e il nuovo ubuntu, con la loro ossessione minimalista, non ha nulla del genere. Questo è l'unico che conosci o il migliore che conosci?
Robert,

1
Forse funziona ma all'inizio mi ha deluso perché ha iniziato a mostrare il bluetooth come non attivato all'avvio, perché? e poiché non in esecuzione quando rfkill, l'applet e hciconfig lo mostrano in esecuzione. Spengo e accendo ma il culo continua a mostrare il servizio come spento. Ho attivato il servizio all'avvio ma lo stato del servizio continua a essere errato.
Robert,

scusa non funziona su elementaryOS Freya
Hoang Tran

Ricevo molti avvisi "uso di valore non inizializzato" quando viene eseguito. Mi dispiace, non posso fidarmi di questo.
doug65536,

Ora il pacchetto non è disponibile. Dice che Bum è virtuale.
Satya Prakash,

6

aggiungo

"/etc/init.d/bluetooth stop"

dentro, come moto a luogo, andare da dentro a fuori: I put my hand inTO my pocket = metto la mano in tasca

"/etc/rc.local" 

prima del comando "exit 0" per l'avvio con bluetooth disattivato.


Questo ha rimosso l'icona della barra bluetooth ma ha lasciato la mia spia bluetooth accesa (indicando che l'alimentazione era ancora inviata alla radio). Modifica: questo in collaborazione con la risposta di Stepbaer ( InitiallyPowered = false) ha funzionato per me. (ThinkPad x201, Xubuntu 13.10)
Kyle Falconer il

questo non ha funzionato sul mio Ubuntu 14.04 dell inspiron a 64 bit. Solo rfkill ha funzionato per me.
faizal

5

Penso che il modo migliore sia disabilitare innanzitutto l'avvio del servizio. Esiste un metodo generale per disabilitare i servizi che funziona perfettamente:

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

Funziona con Ubuntu 13.10 e probabilmente anche con le versioni precedenti.


come attivare il bluetooth, mentre in seguito si utilizzano le impostazioni fornite? dire che voglio usarlo solo per 5 minuti. ogni 10 stivali ..
b1r3k

4

Puoi modificare le tue update-rc.dimpostazioni. Ho usato qualcosa di simile a:

sudo update-rc.d bluetooth remove

In Debian Wheezy. Scopri man update-rc.dper maggiori informazioni su come usarlo.


4

Ho trovato un'altra risposta usando tlp che funziona alla grande con Ubuntu 18.04. Probabilmente il primo tlp deve essere installato con

sudo apt install tlp

Quindi il file

/etc/default/tlp

contiene alcune impostazioni su dispositivi come wifi e bluetooth. C'è la chiave

RESTORE_DEVICE_STATE_ON_STARTUP

che per impostazione predefinita è impostato su 0. Dopo averlo impostato su 1, la mia ultima impostazione viene ricordata all'avvio successivo. Ciò significa che quando disabilito il bluetooth nel pannello superiore rimane disabilitato e quando abilito il bluetooth rimane abilitato. Inoltre c'è la chiave

DEVICES_TO_DISABLE_ON_STARTUP

che può essere impostato su

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"

Ora il bluetooth verrà disabilitato ad ogni avvio. Dopo aver modificato questa configurazione, il bluetooth può essere abilitato e disabilitato tramite il menu e la voce del pannello. Penso che sia meglio che rimuoverlo dai moduli del kernel.


TLP non è installato di default in Ubuntu. Dovresti aggiornare il tuo post di conseguenza.
Linrunner,

@linrunner Ok, non sapevo cosa. Ho provato su un nuovo Budgie Ubuntu di Tuxedo. Lì ha funzionato. Ho fissato la mia risposta.
Thomas Sablik,

usare tlp è una risposta sensata poiché gli utenti di laptop sicuramente lo installano.
Tim Richardson,

2

Forse puoi disattivarlo nelle applicazioni di avvio. Ma queste applicazioni sono nascoste per impostazione predefinita. Scopri le applicazioni di avvio nascoste in 12.04: Apri il terminale ed esegui questi due comandi:

cd /etc/xdg/autostart/

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

Ora puoi deselezionare il bluetooth. (Non rimuovere!)


Il Bluetooth non è elencato tra queste applicazioni, purtroppo.
pfctdayelise,

2

No. Non è sempre nell'elenco delle applicazioni di avvio. Penso che la soluzione migliore sia quella di aggiungere il comando rfkill nello script rc.local o di impostare il InitiallyPoweredparametro in /etc/bluetooth/main.conf.


1
Inizialmente Powered sembra essere ignorato per me.
UpTheCreek

2

1) Installa il pacchetto smbios-utils e aggiungilo alle applicazioni di avvio con:

sudo smbios-wireless-ctl --bt 0

2) Nel tipo di terminale:

sudo visudo

e aggiungi alla fine del file aperto /etc/sudoersla riga:

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

3) Per attivare il Bluetooth durante la sessione, eseguire nel terminale:

sudo smbios-wireless-ctl --bt 1

Questo funziona per me sul mio Dell D630 con Ubuntu 13.10


Pensi che sudo smbios-wireless-ctl --boot --bt 0funzionerebbe? Inoltre, non sono sicuro, ma questo potrebbe essere specifico di Dell.
Hitechcomputergeek

In realtà, il pacchetto smbios-utils esegue comandi di bios, quindi accende e spegne i dispositivi fisici relativi al bios, quindi puoi anche usarlo per accendere e spegnere il wifi ecc. Non sono sicuro che funzioni con qualsiasi bios o no . Almeno, funziona bene con Dell. A proposito, le ultime installazioni di Ubuntu 14.04 fanno le stesse cose con le applet bluetooth e wifi, quindi non ho più bisogno di quel pacchetto.
vincitore

Sapevo che. Ma se lo fai smbios-wireless-ctl --help, parte di esso --boot Set BIOS boot-time setting.non sapevo che avessero corretto il Bluetooth; grazie per avermelo detto.
Hitechcomputergeek

2

Su Ubuntu 16.04, ho semplicemente disabilitato l'avvio del servizio tramite systemctl.

Per fare ciò, aprire una finestra di terminale e digitare quanto segue:

sudo systemctl disable bluetooth

Puoi riavviare il sistema poiché ora il Bluetooth non verrà riavviato oppure, se non desideri riavviare e interrompere immediatamente il Bluetooth, puoi digitare:

sudo service bluetooth stop


2

Su Ubuntu Studio 16.04 è possibile disabilitare l'applet Bluetooth all'avvio in:

Sessione e avvio> Avvio automatico applicazione> Applet Bluetooth

Qui puoi fare clic nel campo per disabilitarlo.


Questa è una soluzione perfettamente valida sulla mia macchina Xubuntu 17.10, fatta eccezione per una cosa: se l'utente vuole ricominciare a utilizzare il bluetooth al volo, deve eseguire sudo systemctl abilitare bluetooth.service && sudo systemctl start bluetooth.service. Ma la tua soluzione risolve definitivamente il problema di avvio.
Adrian Keister,

2

Possiamo disabilitare l'avvio automatico del bluetooth in questo modo:

sudo gedit /etc/bluetooth/main.conf

( geditè il mio editor preferito, puoi sostituirlo con xedo qualunque cosa sia installata sul tuo sistema.)

Alla fine di questo file, c'è questa riga:

#AutoEnable=false

Annulla commento, in questo modo:

AutoEnable=false

non funziona in Ubuntu Budgie 18.04
Argento,

2

Se stai usando l'applet Bluetooth nel pannello superiore (blueman-applet), ha una sua impostazione che attiverà automaticamente il Bluetooth anche se l'hai disabilitato in altri luoghi (come /etc/bluetooth/main.conf o / etc / default / TLP).

Per impedire l'attivazione del Bluetooth all'avvio tramite la riga di comando:

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

O tramite la GUI:

  1. Fare clic sull'applet Bluetooth> Plugin > PowerManager > Configurazione
  2. Deseleziona Accensione automatica

Al successivo riavvio, l'applet Bluetooth sarà comunque visibile ma il Bluetooth sarà disattivato. Accenderlo:

Fai clic sull'applet Bluetooth> Attiva Bluetooth


In Ubuntu 18.04 questa è l'unica soluzione che ho trovato. Anche se cambi in /etc/bluetooth/main.conf, in fondo, l'opzione da AutoEnable = true a AutoEnable = false non puoi disattivare il Bluetooth. In effetti questa opzione è per scoprire nuovi dispositivi e non per attivare o disattivare il Bluetooth.
Alessandro D'lncal,


1

Penso che dovresti modificare

/etc/default/bluetooth

e impostare

BLUETOOTH_ENABLED=0

per disabilitare il servizio bluetooth all'avvio


1
non ha funzionato su Ubuntu 14.04
b1r3k il

1

Per quelli di voi in cui l'inserimento della riga rfkill block bluetooth(o di qualsiasi altro) /etc/rc.localnon funziona, provare a includere la stessa riga alla fine di~/.bashrc

Nel mio setup (Ubuntu 14.04, Thinkpad W540), nessuna opzione ha funzionato inserendolo /etc/rc.localma il primo ha funzionato in bashrc. Nota che funzionerà solo per l'utente corrente, non a livello globale per tutti gli utenti.


1

Da Ubuntu 18.04 (con GNOME) è necessario

  1. Modifica /etc/bluetooth/main.conf e trova

    AutoEnable = true
    

    e cambia il valore in:

    AutoEnable = false
    

    Quindi questo dispositivo non è acceso all'avvio.

  2. Modifica / etc / default / tlp e trova:

    #DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
    

    Modifica questa riga per leggere:

    DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
    

    Quindi questo dispositivo è disabilitato all'avvio.

  3. Quindi apri Dash e cerca "Applicazioni di avvio". Deseleziona tutti gli elementi relativi al Bluetooth nell'elenco. Fare clic su [Chiudi] per salvare.


Punto 4: vai su Impostazioni -> Bluetooth -> Disabilita (nella finestra in alto a destra).
Omar Tariq,

0

aggiungo

"/etc/init.d/bluetooth stop"

dentro, come moto a luogo, andare da dentro a fuori: I put my hand inTO my pocket = metto la mano in tasca

"/etc/rc.local" 

prima del comando "exit 0" per l'avvio con bluetooth disattivato.


0

Soluzione per il mio taccuino

"BIOS - Configurazione USB - EHCI2: disabilitato"

EHCI1 è per porte USB (in realtà il mio notebook ha 2 porte USB 2.0)


0

Modifica /etc/default/grub:

sudo nano /etc/default/grub

e cambia la seguente riga:

GRUB_CMDLINE_LINUX=""

per dire questo invece:

GRUB_CMDLINE_LINUX="bluetooth.blacklist=yes"

Quindi, aggiorna grub e riavvia:

sudo update-grub

0

Questo dovrebbe disabilitare l'avvio del bluetooth nei sistemi basati su Debian:

sudo chkconfig bluetooth off

o su sistemi basati su RedHat

systemctl disable bluetooth.service

0

Sfortunatamente, niente sopra funziona per me. Invece, aggiungo questo alla riga inferiore di ~ / .profile

( sleep 10; rfkill block bluetooth ) & 

Nel mio caso, devo attendere che l'applet blueman si avvii e abiliti il ​​bluetooth (inevitabilmente) prima di poterlo spegnere.


0

Soluzione Systemd pura (16.04+)

Invece di utilizzare la soluzione legacy rc-local, ecco un servizio di systemd pulito e portatile che sospende il bluetooth all'avvio e anche dopo essersi svegliato dal sonno.

  1. Utilizzando sudo, crea /etc/systemd/system/bluetooth-suspend.servicecon i seguenti contenuti:
[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. Abilita il servizio: sudo systemctl enable bluetooth-suspend.service

  2. Ricarica systemd: sudo systemctl daemon-reload

Per riattivare il bluetooth, eseguire rfkill unblock bluetoothnel terminale.


-1

Ho dovuto usare un metodo a forza bruta per fermare l'avvio bluetoothd automaticamente. Ho rinominato l'eseguibile in modo che non potesse essere trovato.


È più veloce iniziare le cose in parallelo. Almeno questa è l'idea.
Douglas Leeder,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.