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:
Paga um cafezinho para mim?
https://livepix.gg/meurefugionerd
