Resolvendo o problema de abrir URLs do Whatsapp no Linux (XDG-Open)

Boa tarde, amigos.
Estava com uma dificuldade ao abrir o link: wa.me/[celular] no Google Chrome.
O atalho redireciona para o WhatsApp Web e, no meu caso, exibia a janela do xdg-open como essa:

Encontrei uma solução para essa dificuldade aqui no fórum através do bloqueio do javascript, mas essa dica provocava um travamento do whatsapp web ao ser carregado no meu navegador. A página permanecia em loop infinito.

A partir dessa dificuldade, busquei outra solução viável com ajuda do ChatGPT:

Inicialmente, procurei qual aplicativo estava associado ao x-scheme-handler/whatsapp no xdg por meio de um comando no Konsole/Terminal:

xdg-mime query default x-scheme-handler/whatsapp

No meu caso, não havia nenhum aplicativo previamente associado.

Então procurei o comando que me permitiria construir a associação do Google Chrome ao x-scheme-handler/whatsapp.

Procurei qual seria o comando para disparar o Google Chrome no desktop através de:

ls /usr/share/applications/ | grep chrome

No meu sistema, o comando retornado pelo Linux foi o: google-chrome.desktop

Associei o default x-scheme-handler/whatsapp ao Google Chrome através do xdg-mime:

xdg-mime default google-chrome.desktop x-scheme-handler/whatsapp

Para checar se deu tudo certo, repeti o comando:

xdg-mime query default x-scheme-handler/whatsapp

Ele retornou o google-chrome.desktop no meu sistema. Ótimo! Deu tudo certo.

No meu Linux, o problema foi resolvido. :smile:

2 curtidas

Qual a sua distro?

Você tinha o mesmo problema usando essa forma?

$ xdg-open https://web.whatsapp.com/

Tem como recriar o problema para testar?

Ei, boa tarde. Tudo bem?

Podemos tentar te ajudar a entender como o problema surge e se a solução se aplica ao uso do comando xdg-open no seu caso.

Como o xdg-open funciona

O comando xdg-open é responsável por abrir uma URL ou arquivo no aplicativo padrão associado ao tipo de conteúdo. Quando você executa o comando:

xdg-open https://web.whatsapp.com/

Ele tenta abrir a URL no navegador da web padrão definido no seu sistema. Se houver algum problema na associação do protocolo https, ou o Google Chrome (ou outro navegador) não estiver corretamente configurado como padrão, o xdg-open pode falhar ou exibir uma mensagem de erro.

Analisando o problema

Se ao executar xdg-open https://web.whatsapp.com/ você estiver recebendo o mesmo erro que com o protocolo whatsapp://, isso pode indicar que o protocolo https (ou o manipulador do navegador) não está configurado corretamente no sistema.

Aqui está como você pode analisar o problema e aplicar a solução:

  1. Verifique a associação do protocolo https

Para ver qual aplicativo está associado ao protocolo https, execute:

xdg-mime query default x-scheme-handler/https

Se o retorno não for o Google Chrome (por exemplo, google-chrome.desktop), isso significa que o sistema pode estar tentando abrir a URL com outro aplicativo (ou não há um aplicativo padrão associado).

  1. Associar o Google Chrome ao protocolo https

Se o Google Chrome não estiver associado, você pode configurá-lo como o aplicativo padrão para o protocolo https:

xdg-mime default google-chrome.desktop x-scheme-handler/https

  1. Teste o comando novamente

Agora, tente novamente o comando:

xdg-open https://web.whatsapp.com/

Se o Google Chrome estiver corretamente associado ao protocolo https, ele deverá abrir a URL sem problemas.

Comparação com o problema anterior

O problema que você mencionou anteriormente com o protocolo whatsapp:// é semelhante, mas a diferença está no protocolo em uso (whatsapp:// vs https://). A solução, no entanto, é praticamente a mesma: você precisa garantir que o navegador correto (Google Chrome, neste caso) esteja associado ao protocolo relevante.

Se ambos os protocolos (whatsapp:// e https://) estiverem corretamente associados ao Google Chrome, o xdg-open deverá funcionar sem problemas tanto para links de WhatsApp Web (https://web.whatsapp.com/) quanto para links diretos do WhatsApp (whatsapp://send/…).

Se o erro persistir mesmo após a associação correta, pode ser necessário verificar as configurações do navegador ou do sistema, mas a solução aplicada para o protocolo whatsapp:// geralmente funciona para o https:// também.