Como posso desativar o Bluetooth na inicialização do sistema?


329

Como posso desativar o Bluetooth na inicialização do sistema?


Eu não acho que "deva ser a configuração padrão natural", as pessoas provavelmente desejam usar o Bluetooth em seus computadores sem precisar ativá-lo (você não parece ter um mouse ou teclado Bluetooth, se esses eram os seus dispositivos de entrada principais nos quais você deseja ativar o Bluetooth na inicialização). No entanto, concordo que seria útil ter uma maneira de escolher como você deseja que o Bluetooth seja inicializado.
roadmr

61
O normal e o natural é permitir que você escolha, nas configurações do bluetooth, se você deseja ativar ou desativar a inicialização. Não é natural ter pessoas desligando ou ligando toda vez que ligam o computador. Estamos falando de tornar o Linux o melhor sistema de desktop, não o pior, não é?
Robert

Concordamos que deixar as pessoas escolherem é a melhor opção. Veja aqui algumas maneiras possíveis de fazer isso. answers.launchpad.net/ubuntu/+source/bluez/+question/51440
roadmr

1
Este é o bug # 1073669 .
Colan

6
É meio inacreditável que, na 14ª edição, ainda estamos "ensinando" aos desenvolvedores do Ubuntu coisas como "a opção de ativar ou desativar o bluetooth na inicialização deve estar disponível para usuários normais, e não apenas para quem gosta de pesquisar em linhas intermináveis de fóruns públicos ".
Rodrigo

Respostas:


209

Mais de 18.04 usuários que naturalmente não possuem um /etc/rc.local, será necessário criar um e torná-lo executável. Para facilitar as coisas, basta colar o seguinte comando em um terminal:

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

Execute sudoedit /etc/rc.locale adicione isso antes da linha com exit 0:

rfkill block bluetooth

Você ainda deve poder ativar o Bluetooth através do miniaplicativo da barra superior.

Isso deve funcionar para a maioria dos sistemas, mas parece que existem alguns bugs ocultos no ACPI para Thinkpads do kernel. Se você estiver em um Thinkpad, adicione o seguinte a /etc/rc.local:

echo disable > /proc/acpi/ibm/bluetooth

Ou consulte ibm-acpi - Driver Extras do IBM ThinkPad ACPI - alguns relatórios sugerem que o ibm-acpi inclui controle bluetooth (entre outras coisas interessantes). Mas como eu não tenho o hardware, não posso verificar essas reivindicações. Boa sorte.


6
Para Thinkpads (e apenas Thinkpads) isso funciona: echo disable > /proc/acpi/ibm/bluetoothem /etc/rc.local
Marius Gedminas

4
rfkill block bluetoothtrabalhou para Thinkpad T430u
bmaupin

5
Nem funcionou para mim (ThinkPad x201) quando os coloquei um de cada vez /etc/rc.local. O rfkill block bluetoothcomando funciona, mas não na inicialização. O sinalizador -x está ativado /etc/rc.local. Estou executando o Xubuntu 13.10.
precisa

4
No Ubuntu 15.10 com systemd você precisa um pouco mais para reativar o uso do etc/rc.localarquivo: askubuntu.com/a/696226/34298
rubo77

5
se o nosso rc.local é apenas um arquivo vazio, onde devemos adicionar 'rfkill block bluetooth'?
Sss

124

Encontrei um tutorial com uma "solução alternativa" limpa aqui ( link de arquivo para posteridade)

Na verdade, mudar /etc/bluetooth/main.conffoi o suficiente para mim.

Procure a entrada:

AutoEnable=true

e altere o valor para:

AutoEnable=false

Foi o suficiente para mim, embora o artigo descreva algumas outras etapas que podem ou não ser necessárias.

No Ubuntu 17.04 e versões mais antigas, a opção foi nomeada InitiallyPowered.


3
não funciona para samsung 530u3b portátil, bluetooth está sempre em após a reinicialização e acordar
Maxim Kim

3
Isso só funcionaria se eu também usasse a resposta de Saeed Zarinfam ao colocar /etc/init.d/bluetooth stoprc.local. Parece que, quando o serviço é iniciado, ele também liga o bluetooth. Eu precisava dos dois para fazer isso funcionar. (ThinkPad x201, Xubuntu 13.10)
Kyle Falconer

3
Não funcionou para mim no T420 ThinkPad
UpTheCreek

4
"Procurar a entrada" é inútil para aqueles main.confque não contêm esse parâmetro ou qualquer comentário indicando sua localização padrão. Então, sob o qual [Heading]devemos colocá-lo?
Underscore_d

10
No meu caso, era AutoEnable = false, mas de qualquer maneira +1 para a solução certa do lugar certo.
Arman Petrosyan

33

16.04+


A partir do ubuntu 16.04, o systemd gerencia serviços de inicialização como o bluetooth ... para visualizar o problema de status atual a seguir em um terminal

sudo systemctl status bluetooth.service 

desativar o bluetooth na edição de inicialização deste

sudo systemctl disable bluetooth.service

na próxima reinicialização, o bluetooth não estará ativo ... para ativar o problema do bluetooth (reinicie)

sudo systemctl enable bluetooth.service

4
Isso funciona para mim, mas como efeito colateral, o blueman-applet parou para funcionar também. Ele inicia, mas não aparece na área do indicador; portanto, não há maneira rápida de ativar o bluetooth, apenas no terminal.
Yuri Gor

No Xubuntu, pelo menos, se você clicar no Blueman, ele tem a opção "Desligar o Bluetooth". Eu acho que é isso que o OP gostaria automatizado. Sua solução remove completamente o Blueman, dificultando a reativação do Bluetooth, se desejado.
Adrian Keister

1
Coloque sudo systemctl disable bluetooth.service && sudo systemctl stop bluetooth.service em um script Disable e o chmod 755 nele. Faça o mesmo para sudo systemctl enable bluetooth.service && sudo systemctl start bluetooth.service em um script Ativar.
Adrian Keister

2
FINALMENTE! Ubuntu 18.10, a única coisa que funcionou para mim. Nada mais funcionou.
Tyler

27

Para desativar o carregamento do driver bluetooth na inicialização:

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

Adicionar, acrescentar:

blacklist btusb

A ativação posterior deve ser apenas:

sudo modprobe btusb

1
Obrigado por isso, isso parece funcionar, mas eu estava tentando evitar coisas da linha de comando conforme minha pergunta original. Você pensaria que isso seria tão simples quanto marcar uma caixa para que lembrasse que eu não quero que a BT inicie automaticamente, mas parece muito mais complicado do que isso. Com a unidade do Ubuntu para tempos de inicialização mais rápidos e o foco geral no consumo de energia em laptops e netbooks, estou surpreso que isso nunca tenha sido resolvido. Agradeço a ajuda, no entanto.

9
"Execute o gedit como root e edite o /etc/modprobe.d/blacklist.conf" <- ok, isso é menos linha de comando para você?
maco

1
Funciona bem no Samsung Q35 com o Ubuntu 13.10, enquanto a abordagem 'rfkill block bluetooth' não. Obrigado!
precisa saber é o seguinte

DELL E6410 funciona para mim. Bom que pode funcionar novamente em movimento sem redefinir.
Ruslan Gerasimov

Não se preocupe em tentar "evitar coisas da linha de comando" ao configurar o sistema operacional. Ctrl + Alt + T e ctrl-shift-V (para colar) são pedir demais?
Doug65536 08/08

18

Etapa 1: Vá para o terminal e digite o seguinte comando para editar o /etc/rc.localarquivo do sistema :

gksudo gedit /etc/rc.local

Etapa 2: adicione a seguinte linha antes da exit 0linha:

rfkill block bluetooth

1
Isso está definido como bloqueio suave para bluetooth, acho que é o mesmo que desligar o serviço e funcionar bem.
usar o seguinte código

@Robert:: $ man rfkill" Desabilita o dispositivo correspondente ao índice especificado. " Apesar do nome, ele está apenas desabilitando o BT; basta tentar o comando rfkill block bluetoothno terminal, você verá o ícone ficar cinza.
Daniel

8

Digite o seguinte em um terminal:

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

Na parte inferior do arquivo, adicione a linha:

blacklist bluetooth

Salve o arquivo e reinicie - o Bluetooth agora deve estar desativado.


Isso não vai funcionar no meu pc ...
Floqqi

@Floqqi: Você pode tentar de novo? Eu atualizei minha resposta.
Nathan Osman

2
Tentei cerca de 20 coisas no meu thinkpad ubuntu 12, este é o único que fez o truque.
OlivierBlanvillain

8

1. bloqueie o bluetooth no rc.local

Adicione esta linha no final do arquivo /etc/rc.locallogo antes da linha exit 0:

rfkill block bluetooth

Isso fará o truque, mas apenas nas versões mais antigas do Ubuntu, usando o upstart .

2. reativar o rc.local no systemd

No Ubuntu 15.10 com systemd como gerenciador de inicialização, o /etc/rc.localarquivo não é mais usado por padrão, então chame isso em um terminal:

sudo systemctl edit --full rc-local

O que abre um editor. No final do arquivo eu adicionei:

[Install]
WantedBy=multi-user.target

Essas mudanças são ativadas por

sudo systemctl reenable rc-local

Agora o arquivo /etc/rc.localé usado como você o conhece.

3. desative o blueman-applet no início

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

Agora o blueman-applet está visível e você pode desativá-lo nos programas de inicialização

4. Reinicie para ver o efeito


3
Para mim no Ubuntu 17.04 com blueman: gsettings set org.blueman.plugins.powermanager auto-power-on falsetrabalhou, de wiki.archlinux.org/index.php/Blueman . Embora eu tenha acabado fazendo sudo apt remove bluemanisso, gerencie o bluetooth através das configurações do sistema e verifique "Mostrar status do Bluetooth na barra de menus". Blueman iniciar e ligar o bluetooth foi o problema.
MJ

7

Você pode alterar os serviços iniciados na inicialização com a ajuda do BUM .

Instale-o: sudo apt-get install bum

Corre: sudo bum

insira a descrição da imagem aqui

Desmarque a caixa e clique em Apply.


Obrigado, desgua, eu estava pensando sobre esse tipo de ferramentas. Eu usei alguns no passado, mas eles se tornam obsoletos e o novo ubuntu, com sua obsessão minimalista, não vem com nada disso. É o único que você sabe ou o melhor que você sabe?
5603 Robert

1
Talvez funcione, mas no começo me decepcionou porque começou a mostrar o bluetooth como não ativado no momento da inicialização, por quê? e como não está sendo executado quando o rfkill, o applet e o hciconfig o mostram em execução. Eu desligo e ligo, mas o bum continua mostrando o serviço como desativado. Ativei o serviço na inicialização, mas o status do serviço continua errado.
Robert

sorry não funciona em elementaryOS Freya
Hoang Tran

Recebo muitos avisos de "uso de valor não inicializado" quando ele é executado. Desculpe, não posso confiar nisso.
Doug65536 08/08

Agora, o pacote não está disponível. Dizem que Bum é virtual.
Satya Prakash

6

Eu adiciono

"/etc/init.d/bluetooth stop"

para dentro

"/etc/rc.local" 

antes do comando "exit 0" para inicialização com o bluetooth desligado.


Isso removeu o ícone da bandeja bluetooth, mas deixou a luz indicadora do bluetooth acesa (indicando que a energia ainda estava sendo enviada ao rádio). Edit: isso em conjunto com a resposta de Stepbaer ( InitiallyPowered = false) funcionou para mim. (ThinkPad x201, Xubuntu 13.10)
Kyle Falconer

isso não funcionou no meu Ubuntu 14.04 dell inspiron de 64 bits. Apenas rfkill funcionou para mim.
faizal

5

Eu acho que a melhor maneira é impedir que o serviço seja iniciado em primeiro lugar. Existe um método geral para desativar serviços que funciona perfeitamente:

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

Isso funciona para o Ubuntu 13.10 e provavelmente para versões anteriores.


como ativar o bluetooth enquanto usa as configurações fornecidas posteriormente? digamos que quero usá-lo apenas por 5 min. a cada 10 botas ..
b1r3k 10/10

4

Você pode editar suas update-rc.dconfigurações. Eu usei algo semelhante a:

sudo update-rc.d bluetooth remove

No Debian Wheezy. Confira man update-rc.dmais informações sobre como usá-lo.


4

Encontrei outra resposta usando tlp que funciona muito bem para mim com o Ubuntu 18.04. Provavelmente a primeira TLP deve ser instalada com

sudo apt install tlp

Então o arquivo

/etc/default/tlp

contém algumas configurações sobre dispositivos como wifi e bluetooth. Existe a chave

RESTORE_DEVICE_STATE_ON_STARTUP

que é definido por padrão como 0. Depois que eu mudei para 1, minha última configuração será lembrada na próxima inicialização. Isso significa que, quando eu desabilito o bluetooth no painel superior, ele fica desabilitado e quando eu desabilito o bluetooth ele fica habilitado. Também há a chave

DEVICES_TO_DISABLE_ON_STARTUP

que pode ser definido como

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"

Agora o bluetooth será desativado em cada inicialização. Após alterar essa configuração, o bluetooth poderá ser ativado e desativado através do menu e do item do painel. Eu acho que é melhor do que removê-lo dos módulos do kernel.


O TLP não está instalado por padrão no Ubuntu. Você deve atualizar sua postagem de acordo.
linrunner 11/02

@linrunner Ok, não sabia o que aquilo. Eu testei em um novo Ubuntu Budgie do Tuxedo. Lá funcionou. Eu consertei minha resposta.
Thomas Sablik

usar o tlp é uma resposta sensata, já que todos os usuários de laptop o instalam.
Tim Richardson

2

Talvez você possa desativá-lo nos Aplicativos de Inicialização. Mas esses aplicativos estão ocultos por padrão. Exibir os aplicativos de inicialização ocultos no 12.04: Abra o terminal e execute estes dois comandos:

cd /etc/xdg/autostart/

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

Agora você pode desmarcar o bluetooth. (Não remova!)


Infelizmente, o Bluetooth não está listado entre esses aplicativos.
Pfctdayelise 10/07/2015

2

Não. Nem sempre está na lista de aplicativos de inicialização. Eu acho que a melhor solução é adicionar o comando rfkill no roteiro rc.local ou para definir o InitiallyPoweredparâmetro /etc/bluetooth/main.conf.


1
InitiallyPowered parece ser ignorado para mim.
UpTheCreek

2

1) Instale o pacote smbios-utils e adicione-o aos Aplicativos de Inicialização com:

sudo smbios-wireless-ctl --bt 0

2) No tipo de terminal:

sudo visudo

e adicione ao final do arquivo aberto /etc/sudoersa linha:

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

3) Para ligar o bluetooth durante a sessão, execute o terminal:

sudo smbios-wireless-ctl --bt 1

Isso funciona para mim no meu Dell D630 com Ubuntu 13.10


Você acha que sudo smbios-wireless-ctl --boot --bt 0isso funcionaria? Além disso, não tenho certeza, mas isso pode ser específico da Dell.
Hitechcomputergeek

Na verdade, o pacote smbios-utils executa comandos do BIOS, por isso liga e desliga dispositivos físicos relacionados ao BIOS, então você também pode usá-lo para ligar e desligar o wifi etc. Não tenho certeza se funciona com o BIOS ou não. . Pelo menos, funciona bem com a Dell. A propósito, as últimas instalações do Ubuntu 14.04 fazem as mesmas coisas com os miniaplicativos bluetooth e wifi, por isso não preciso mais desse pacote.
victor

Eu sabia. Mas se você faz smbios-wireless-ctl --help, parte disso --boot Set BIOS boot-time setting.não sabia que eles consertavam o Bluetooth; obrigado por me dizer.
Hitechcomputergeek

2

No Ubuntu 16.04, simplesmente desabilitei o serviço para iniciar usando systemctl.

Para fazer isso, abra uma janela do terminal e digite o seguinte:

sudo systemctl disable bluetooth

Você pode reiniciar, já que o bluetooth será desativado na inicialização ou, se você não deseja reiniciar e deseja interromper o bluetooth imediatamente, digite:

sudo service bluetooth stop


2

No Ubuntu Studio 16.04, você pode desativar o Bluetooth Applet na Inicialização em:

Sessão e Inicialização> Inicialização automática do aplicativo> Applet Bluetooth

Aqui você pode clicar no campo para desativá-lo.


Esta é uma solução perfeitamente boa na minha máquina Xubuntu 17.10, exceto por uma coisa: se o usuário quiser começar a usar o bluetooth novamente em tempo real, ele precisará executar o sudo systemctl enable bluetooth.service && sudo systemctl start bluetooth.service. Mas sua solução definitivamente resolve o problema de inicialização.
Adrian Keister

2

Podemos desativar o bluetooth auto start desta maneira:

sudo gedit /etc/bluetooth/main.conf

( gedité o meu editor de favoritos, você pode substituí-lo por xedou pelo que estiver instalado no seu sistema.)

No final deste arquivo, há esta linha:

#AutoEnable=false

Remova o comentário, assim:

AutoEnable=false

não funciona no ubuntu budgie 18.04
Argento

2

Se você estiver usando o applet Bluetooth no painel superior (blueman-applet), ele possui uma configuração própria que ativará automaticamente o Bluetooth, mesmo que você o tenha desativado em outros lugares (como /etc/bluetooth/main.conf ou / etc / default / tlp).

Para impedir que o Bluetooth seja ligado na inicialização usando a linha de comando:

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

Ou através da GUI:

  1. Clique no miniaplicativo Bluetooth> Plug-ins > PowerManager > Configuração
  2. Desmarque a opção Ligar automaticamente

Da próxima vez que você reiniciar, o applet Bluetooth ainda estará visível, mas o Bluetooth estará desativado. Para ligar:

Clique no applet Bluetooth> Ativar Bluetooth


No Ubuntu 18.04, esta é a única solução que encontrei. Mesmo se você alterar o arquivo /etc/bluetooth/main.conf, na parte inferior, a opção de AutoEnable = true para AutoEnable = false não poderá desativar o Bluetooth. De fato, esta opção é para descobrir novos dispositivos e não para ativar ou desativar o Bluetooth.
Alessandro D'lncal


1

Eu acho que você deveria editar

/etc/default/bluetooth

E definir

BLUETOOTH_ENABLED=0

desativar o serviço bluetooth na inicialização


1
não funcionou no Ubuntu 14.04
b1r3k 27/09/2015

1

Para aqueles em que a inserção da linha rfkill block bluetooth(ou qualquer outra) /etc/rc.localnão funciona, tente incluir a mesma linha no final de~/.bashrc

Na minha configuração (Ubuntu 14.04, Thinkpad W540), nenhuma opção funcionou para inseri-lo, /etc/rc.localmas o primeiro funcionou no bashrc. Observe que isso funcionará apenas para o usuário atual, não globalmente para todos os usuários.


1

Desde o Ubuntu 18.04 (com GNOME), você precisa

  1. Edite /etc/bluetooth/main.conf e encontre

    AutoEnable = true
    

    e altere o valor para:

    AutoEnable = false
    

    Portanto, este dispositivo não está ligado na inicialização.

  2. Edite / etc / default / tlp e encontre:

    #DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
    

    Edite esta linha para ler:

    DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
    

    Portanto, este dispositivo está desativado na inicialização.

  3. Em seguida, abra o Dash e procure por "Aplicativos de inicialização". Desmarque todos os itens relacionados ao Bluetooth na lista. Clique em [Fechar] para salvar.


Ponto 4: Vá para Configurações -> Bluetooth -> Desativar (na janela superior direita).
Omar Tariq

0

Eu adiciono

"/etc/init.d/bluetooth stop"

para dentro

"/etc/rc.local" 

antes do comando "exit 0" para inicialização com o bluetooth desligado.


0

Solução para o meu notebook

"BIOS - Configuração USB - EHCI2: Desativado"

O EHCI1 é para portas USB (na verdade, meu notebook possui 2 portas USB 2.0)


0

Editar /etc/default/grub:

sudo nano /etc/default/grub

e altere a seguinte linha:

GRUB_CMDLINE_LINUX=""

para dizer isso:

GRUB_CMDLINE_LINUX="bluetooth.blacklist=yes"

Em seguida, atualize o grub e reinicie:

sudo update-grub

0

Isso deve desativar o bluetooth a partir de sistemas baseados no Debian:

sudo chkconfig bluetooth off

ou em sistemas baseados em RedHat

systemctl disable bluetooth.service

0

Infelizmente, nada acima funciona para mim. Em vez disso, adiciono isso à linha inferior de ~ / .profile

( sleep 10; rfkill block bluetooth ) & 

No meu caso, devo esperar que o applet blueman inicie e ative o bluetooth (inevitavelmente) antes de poder desligá-lo.


0

Solução systemd pura (16.04+)

Em vez de usar a solução rc-local herdada, aqui está um serviço systemd limpo e portátil que suspende o bluetooth na inicialização e também após acordar do modo de suspensão.

  1. Usando o sudo, crie /etc/systemd/system/bluetooth-suspend.servicecom o seguinte conteúdo:
[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. Habilite o serviço: sudo systemctl enable bluetooth-suspend.service

  2. Recarregar systemd: sudo systemctl daemon-reload

Para reativar o bluetooth, execute rfkill unblock bluetootho terminal.


-1

Eu tive que usar um método de força bruta para impedir que o bluetoothd fosse iniciado automaticamente na inicialização. Renomeei o executável para que não fosse encontrado.


É mais rápido iniciar as coisas em paralelo. Pelo menos essa é a ideia.
Douglas Leeder
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.