Como Corrigir o Discord Travado na Tela de Carregamento no Snap do Linux
🔍 WiseChecker

Como Corrigir o Discord Travado na Tela de Carregamento no Snap do Linux

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 discord para garantir que a versão mais recente do Snap esteja instalada.
  • Desabilitar aceleração GPU: Inicie o Discord com a flag --disable-gpu para 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

  1. Abra um terminal
    Pressione Ctrl+Alt+T no teclado para abrir o emulador de terminal.
  2. Verifique atualizações do Snap
    Execute sudo snap refresh discord. Este comando atualiza o Discord Snap para a versão mais recente disponível na Snap Store.
  3. Reinicie o Discord
    Feche o Discord completamente executando pkill discord no terminal. Em seguida, inicie o Discord pelo menu de aplicativos.
  4. 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

  1. Inicie o Discord com a flag disable-gpu
    No terminal, execute discord --disable-gpu. Isso instrui o Discord a usar renderização por software em vez de aceleração de hardware.
  2. 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.
  3. Torne a flag permanente
    Edite o arquivo .desktop do Snap: execute sudo nano /var/lib/snapd/desktop/applications/discord_discord.desktop. Encontre a linha começando com Exec= e altere para Exec=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.
  4. 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

  1. Feche o Discord
    Execute pkill discord para garantir que o aplicativo não esteja em execução.
  2. Remova o diretório de configuração do Discord
    Execute rm -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.
  3. Remova o cache específico do Snap
    Execute rm -rf ~/snap/discord/common/.cache/discord. Isso limpa a pasta de cache separada da versão Snap.
  4. 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

  1. Remova o Discord Snap
    Execute sudo snap remove discord. Isso desinstala o Discord e remove seus dados Snap.
  2. Instale o Discord Snap novamente
    Execute sudo snap install discord. A Snap Store baixará a versão mais recente e a instalará.
  3. 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

  1. Remova o Discord Snap
    Execute sudo snap remove discord para desinstalar a versão Snap.
  2. Baixe o pacote .deb
    Acesse o site oficial do Discord em discord.com e baixe o arquivo .deb para Linux.
  3. Instale o pacote .deb
    Execute sudo dpkg -i ~/Downloads/discord-deb. Substitua o nome do arquivo pelo arquivo baixado.
  4. Corrija dependências ausentes
    Execute sudo apt install -f para instalar quaisquer bibliotecas necessárias que não estejam presentes.
  5. 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.