Postagem em destaque

MEU REFÚGIO NERD - ATUALIZAÇÃO DE LINKS DO PROJETO

OlĂĄ! Fizemos um pequeno ajuste no projeto e precisamos atualizar todos os links do projeto. NĂŁo se preocupem. Nenhum conteĂșdo serĂĄ movido ou...

segunda-feira, 25 de dezembro de 2023

BLUEMAN NÃO ABRE O GERENCIADOR DE DISPOSITIVOS(ATUALIZADO)

BLUEMAN NÃO ABRE O GERENCIADOR DE DISPOSITIVOS

Esse ano foi o ano das zikas. Um dia farei um post dedicado a muitas coisas bizarras que aconteceram comigo em 2023. Mas hoje vou falar do Blueman. Mais especificamente o blueman-applet. Depois de algumas atualizaçÔes simplesmente não funciona mais. Também deu zika no Steam para Linux, mas isso é papo para outro post.

Pela quantidade de bug reports e interaçÔes em pĂĄginas de suporte e fĂłruns, parece que o problema nĂŁo Ă© sĂł recente como tambĂ©m nĂŁo tem solução por parte dos desenvolvedores. 

Introdução

Com o tempo, aprendi que devo rodar os programas no emulador de terminal de vez em quando para fazer diagnĂłstico. Abaixo deixo as mensagens comuns do bug atual do blueman-applet(ao chamar o blueman-manager):

"Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/blueman/main/DBusProxies.py", line 52, in call_finish
    proxy.call_finish(resp)
gi.repository.GLib.Error: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying (4)"

"Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/blueman/main/DBusProxies.py", line 52, in call_finish
    proxy.call_finish(resp)
gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: Unknown action ‘Activate’ (16)
"

De maneira geral, os vĂĄrios erros ocorrem no processamento da linha 52  do arquivo /usr/lib/python3/dist-packages/blueman/main/DBusProxies.py.

Vamos Ă s aventuras.

Tentativa e erro

Tem várias receitas de bolo malucas na internet para tentar mitigar o bug. É complicado.
Fiz upgrade dos pacotes. Tentei remover o dbus-broker. Tem que ficar atento porque quando vocĂȘ reinstala, atualiza ou faz downgrade do dbus aparece uma aviso de reboot. EntĂŁo, pode ser que vocĂȘ tenha resolvido, mas a solução nĂŁo foi testada corretamente depois de um reboot. Tentei fazer upgrade e downgrade do blueman...mesmo voltando para a versĂŁo estĂĄvel...nada feito.

Work Aroud 

Como vocĂȘs devem saber eu odeio fazer gambiarras no sistema. EntĂŁo, descobri algumas formas de rodar o blueman nessa situação buguenta. A mais fĂĄcil e pouco conveniente Ă© elevar os privilĂ©gios do usuĂĄrio rodando o blueman-applet com sudo. Sim, dando sudo blueman-applet. Sabe-se lĂĄ quantas implicaçÔes de segurança envolve isso e fui atrĂĄs de outra solução. 

Como falei, lĂĄ em cima...tentativa e erro...muita coisa eu descobri sozinho porque nĂŁo tem tanta coisa na internet. Parece o povo andando em cĂ­rculos e os bug reports sĂŁo bem recentes. Outra maneira de contornar isso Ă© rodar o blueman-applet e o blueman-manager em seguida

DĂĄ para fazer um script simples com um &. O problema Ă© que vocĂȘ nĂŁo vai poder fechar o gerenciador de dispositivos. Se fizer isso e tentar clicar no Ă­cone ou chamar pelo menu clicando com o direito...nada feito. AĂ­ tem que fechar o blueman-applet e repetir o esquema.

Recurso paliativo 1(com privilégios):

$sudo blueman-applet

Recurso paliativo 2(sem precisar elevar privilégios do usuårio):

$blueman-applet & blueman-manager

Últimas tentativas e sinal de vida

 Aqui fui desmobilizando. Voltei todos os pacotes relacionados ao dbus e ao blueman para o testing(usando o gerenciador de pacotes aptitude).
Tentei desinstalar o dbus-broker. Não vi diferença no comportamento e reinstalei. Depois dessas alteraçÔes reiniciei o PC.


Aqui o pulo do gato que funcionou para mim(porém, as mensagens de erro mudam...continuam lå...). Finalmente abre o gerenciador de dispositivos tanto pelo ícone como pelo menu clicando com o direito no ícone do blueman-applet.

Rodei o comando abaixo:

$dbus-update-activation-environment --all

Depois testei:

$blueman-applet

Algumas screenshots(aqui acionando o menu com o botĂŁo direito do mouse):

 

 Aplicando de forma persistente

Abra seu .xinitrc(/home/seu-usuĂĄrio/.xinitrc) com seu editor de textos favorito e acrescente o comando dbus-update-activation-environment --all ao final do arquivo. Alguns programas no Linux quebram se nĂŁo tiver uma linha final no arquivo de configuração. Na dĂșvida, crie uma linha extra em branco(um enter resolve) ao final do arquivo sempre que vocĂȘ precisar colocar algo no final de um arquivo de configuração. Salve e feche. Para testar vocĂȘ deve reiniciar o ambiente grĂĄfico. Pode tentar dar logout pelo menu do seu gerenciador de janelas ou como aqui(depois de salvar e fechar tudo) dando um ctrl+alt+backspace. Se vocĂȘ nĂŁo achar a opção de voltar para o gerenciador de login ou display manager pode tentar reiniciar o PC.

Atualização 

Percebi aqui que o comando dbus-update-activation-environment --all sendo rodado por script, .destkop, .xinitrc ou com alt+f2 nĂŁo funciona sempre. VocĂȘ teria de rodar  atravĂ©s de um emulador de terminal. NĂŁo curti muito a ideia de abrir o gerenciador de janelas  ou ambiente desktop junto com emulador de terminal rodando outra coisa. Bem mala isso. Segue a dica e que pode servir de template para um script para vocĂȘs testarem aĂ­.

Caso vocĂȘ queira colocar num script ou arquivo de configuração, de lançador ou de inicialização:

bash -i -c "dbus-update-activation-environment --all && env NO_AT_BRIDGE=1 blueman-applet & blueman-manager"

Finalizando...

Olha, pessoal...acho que isso aí vai virar novela...parece estar longe de ter uma solução definitiva. Vamos torcer para as atualizaçÔes do dbus e do blueman entrarem em harmonia e os desenvolvedores finalmente resolverem o problema. Não sei se desenvolvedores de projetos diferentes como nesse caso interagem entre si. Seria legal uma troca de informaçÔes entre eles e fazerem um alinhamento para que o usuårio final não tenha que correr atrås de receitas de bolo...aliås...algumas dessas receitas com sério potencial para quebrar o sistema.

EntĂŁo, Ă© isso  aĂ­...espero que o post tenha ajudado. Se a solução no final nĂŁo resolver podem usar as dicas de work around que coloquei nesse post.

Grande abraço e até a próxima!

Gostou?

Inscreva-se no  meu canal:

@MeuRefugioNerd

Paga um cafezinho para mim?
https://livepix.gg/meurefugionerd

INÍCIO

Mais lidas: