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 

https://blogger.googleusercontent.com/img/a/AVvXsEhpAosU9eigUPy5y3CA1nnuM5iJ_jKpqbWfmlX64STM719j4H3z1MxSzcQZESICaq9UpuVGf-bg-vuyt5GYPO2e5DIw6giBO6V_jrnPU7baPhn--Zef4kt6geqS66g1ODUNNIfaYeSnKojwbT_SkcD9ZZXWe6cb90rBzP6BfRaahpsdtUlEmbPpwhGp674W

INÍCIO

Mais lidas: