O Discord executado como pacote Snap no Linux pode travar na tela de carregamento, mostrando o logotipo girando indefinidamente. Isso impede que você entre em servidores, envie mensagens ou use chat de voz. O problema geralmente é causado pela sandbox do Snap bloqueando o carregamento das dependências de tempo de execução necessárias, como Electron e a camada de aceleração GPU. Este artigo explica por que a versão Snap do Discord congela na inicialização e fornece etapas específicas para corrigir o problema de carregamento travado.
Principais conclusões: Corrigindo o congelamento do Discord Snap no carregamento
- Comando de atualização Snap: Execute
sudo snap refresh discordpara garantir que a versão mais recente do Snap esteja instalada. - Desabilitar aceleração GPU: Inicie o Discord com a flag
--disable-gpupara contornar conflitos de driver gráfico. - Mudar para a versão .deb: Instale o Discord pelo pacote .deb oficial para evitar completamente as limitações da sandbox do Snap.
Por que o pacote Snap do Discord trava na tela de carregamento
O pacote Snap do Discord é executado em um ambiente de sandbox confinado. Essa sandbox restringe como o aplicativo acessa recursos do sistema, incluindo GPU, dispositivos de áudio e sistema de arquivos. Quando o Discord inicia, ele tenta inicializar seu framework Electron e a camada de aceleração de hardware. Se a sandbox do Snap bloquear ou atrasar essas operações, o aplicativo trava na tela de carregamento antes que a janela de login apareça.
Gatilhos comuns incluem:
- Pacote Snap desatualizado: Uma versão antiga do Discord Snap pode ter bugs conhecidos que causam falhas na inicialização.
- Conflitos de driver GPU: A sandbox do Snap pode não se integrar corretamente com drivers gráficos proprietários ou de código aberto, especialmente no Wayland.
- Permissões de sistema ausentes: As permissões do Snap para acesso ao diretório home, rede ou áudio podem não estar configuradas corretamente.
- Dados de usuário corrompidos: O Discord armazena cache e configurações em
~/.config/discord/; arquivos corrompidos podem impedir o carregamento.
Como a sandbox do Snap afeta a inicialização do Discord
O modelo de confinamento do Snap usa perfis AppArmor e filtros Seccomp para limitar chamadas de sistema. Quando o Discord tenta acessar a memória GPU ou bibliotecas compartilhadas fora dos caminhos permitidos, o kernel nega a solicitação. O Electron então falha ao renderizar a interface, deixando o aplicativo travado na tela de carregamento. É por isso que o problema aparece apenas na versão Snap e não nas versões nativas .deb ou Flatpak.
Etapas para corrigir o Discord travado no carregamento no Linux Snap
Método 1: Atualizar o pacote Snap do Discord
- Abra um terminal
Pressione Ctrl+Alt+T no teclado para abrir o emulador de terminal. - Verifique atualizações do Snap
Executesudo snap refresh discord. Este comando atualiza o Discord Snap para a versão mais recente disponível na Snap Store. - Reinicie o Discord
Feche o Discord completamente executandopkill discordno terminal. Em seguida, inicie o Discord pelo menu de aplicativos. - Verifique a versão
Após o Discord carregar, vá em Configurações do Usuário > Sobre para confirmar que o número da versão corresponde ao lançamento estável mais recente.
Método 2: Desabilitar a aceleração GPU
- Inicie o Discord com a flag disable-gpu
No terminal, executediscord --disable-gpu. Isso instrui o Discord a usar renderização por software em vez de aceleração de hardware. - Teste se a tela de carregamento passa
Se o Discord carregar com sucesso, o problema está relacionado aos drivers GPU ou ao acesso GPU da sandbox do Snap. - Torne a flag permanente
Edite o arquivo .desktop do Snap: executesudo nano /var/lib/snapd/desktop/applications/discord_discord.desktop. Encontre a linha começando comExec=e altere paraExec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/discord_discord.desktop /snap/bin/discord --disable-gpu %U. Salve o arquivo com Ctrl+O e saia com Ctrl+X. - Reinicie o Discord
Feche e reabra o Discord pelo menu de aplicativos. A flag será aplicada automaticamente.
Método 3: Limpar cache e dados do usuário do Discord
- Feche o Discord
Executepkill discordpara garantir que o aplicativo não esteja em execução. - Remova o diretório de configuração do Discord
Executerm -rf ~/.config/discord. Isso exclui todos os dados em cache, configurações e tokens de login. Você precisará fazer login novamente após reiniciar o Discord. - Remova o cache específico do Snap
Executerm -rf ~/snap/discord/common/.cache/discord. Isso limpa a pasta de cache separada da versão Snap. - Reinicie o Discord
Inicie o Discord pelo menu de aplicativos. O aplicativo gerará novos arquivos de configuração.
Método 4: Reinstalar o pacote Snap do Discord
- Remova o Discord Snap
Executesudo snap remove discord. Isso desinstala o Discord e remove seus dados Snap. - Instale o Discord Snap novamente
Executesudo snap install discord. A Snap Store baixará a versão mais recente e a instalará. - Inicie o Discord
Abra o Discord pelo menu de aplicativos. Faça login com suas credenciais.
Método 5: Mudar para o pacote .deb nativo
- Remova o Discord Snap
Executesudo snap remove discordpara desinstalar a versão Snap. - Baixe o pacote .deb
Acesse o site oficial do Discord em discord.com e baixe o arquivo .deb para Linux. - Instale o pacote .deb
Executesudo dpkg -i ~/Downloads/discord-deb. Substitua o nome do arquivo pelo arquivo baixado. - Corrija dependências ausentes
Executesudo apt install -fpara instalar quaisquer bibliotecas necessárias que não estejam presentes. - Inicie o Discord
Abra o Discord pelo menu de aplicativos. A versão nativa não usa confinamento Snap, então problemas de carregamento relacionados à sandbox desaparecem.
Se o Discord ainda tiver problemas após a correção principal
Discord abre, mas mostra uma tela branca
Uma tela branca em vez do logotipo de carregamento indica uma falha de renderização. Execute o Discord com discord --disable-accelerated-2d-canvas. Esta flag desabilita a aceleração de hardware do canvas 2D, que pode causar telas em branco em alguns drivers GPU.
Discord fecha imediatamente após iniciar
Se o Discord fechar logo após iniciar, o pacote Snap pode ter permissões insuficientes. Execute snap connections discord para listar as interfaces atuais. Certifique-se de que as seguintes estejam conectadas: network, audio-record, home, wayland e x11. Se alguma estiver desconectada, execute sudo snap connect discord:<nome-da-interface> para ativá-las.
Discord funciona no X11, mas não no Wayland
O Discord Snap pode não ter suporte completo ao Wayland. Mude para uma sessão X11 pela tela de login do gerenciador de exibição. Alternativamente, instale a versão Flatpak do Discord pelo Flathub, que tem melhor suporte ao Wayland nativamente.
Discord Snap vs .deb nativo vs Flatpak
| Item | Snap | .deb nativo |
|---|---|---|
| Confinamento sandbox | AppArmor e Seccomp rigorosos | Sem sandbox |
| Confiabilidade na inicialização | Pode travar no carregamento devido ao acesso GPU | Raramente tem problemas de carregamento |
| Método de atualização | Automático via Snap Store | Download manual .deb ou repositório apt |
| Aceleração GPU | Frequentemente quebrada no Wayland | Funciona com a maioria dos drivers |
| Acesso ao sistema de arquivos | Limitado ao diretório home por padrão | Acesso total ao sistema |
Se a versão Snap continuar travando no carregamento, o pacote .deb nativo é a alternativa mais confiável. Ele não impõe restrições de sandbox e oferece controle total sobre o ambiente do aplicativo. A versão Flatpak é outra opção com sandbox moderada, mas seu comportamento de inicialização geralmente é melhor que o Snap.
Agora você tem cinco métodos para corrigir o Discord travado na tela de carregamento ao usar o pacote Snap do Linux. Comece atualizando o Snap e desabilitando a aceleração GPU, pois isso resolve a maioria dos casos. Se o problema persistir, limpar o cache ou reinstalar o Snap pode ajudar. Para uma solução permanente, considere mudar para o pacote .deb nativo, que evita completamente os problemas de sandbox do Snap. Após a mudança, você também pode executar o Discord com a flag --no-sandbox como último recurso, embora isso reduza a segurança.