Livrar-se do erro 'snapd return status code 400: Bad Request' no Ubuntu

Resumo: Tutorial rápido para mostrar como corrigir o erro “snapd retornou código de status 400: Solicitação incorreta” durante a instalação de aplicativos do Centro de Software.

Eu estava tentando instalar o Visual Studio Code, um dos melhores editores de código aberto que surpreendentemente vem da Microsoft. Eu escrevi sobre maneiras de instalar o código do Visual Studio no Ubuntu anteriormente, mas desde então ele está disponível no Centro de Software. Por isso, tentei instalar a partir daí.

Para minha surpresa, fui recebido com um erro quando apertei o botão de instalação.

O erro leu:

Desculpe, isso não funcionou

Falha na instalação do código do Visual Studio.

E os detalhes do erro foram:

Erros detalhados do gerenciador de pacotes seguem:

snapd retornou o código de status 400: Bad Request

Eu não gosto de erros bobos, mas eu gosto de corrigi-los ou em casos como esses, contornando os erros. Se você está enfrentando um problema semelhante, então eu vou compartilhar com você porque você tem esse erro e como você pode instalar o aplicativo que jogou esse erro.

Livrar-se de 'snapd retornou código de status 400: Bad Request'

Se preferir vídeos, você pode assistir a este vídeo no canal It's FOSS YouTube.

Inscreva-se no canal do YouTube para mais vídeos sobre Linux

Vamos ver como instalar um aplicativo que mostra o erro mencionado acima. A solução aqui é usar a linha de comando. Não é muito complicado usar esses comandos. Apenas siga as instruções.

Se você leu meu guia para usar comandos snap no Ubuntu, sabe que podemos usar a opção find para procurar pacotes instantâneos disponíveis com um determinado nome. No meu caso, eu estava tentando instalar o Visual Studio Code para que eu pudesse pesquisar por “código de estúdio visual” ou simplesmente “visual”.

Observe que, se o nome do programa tiver mais de uma palavra, agrupe-as em vírgulas invertidas:

snap find "visual studio code" 

Como você pode ver na saída do comando, o sistema tem o Visual Studio Code versão 1.18 disponível no modo Classic. Vou explicar o que é esse modo clássico na próxima seção. Você também deve anotar o nome exato do pacote. É vscode para o Visual Studio Code.

Agora use o comando da seguinte maneira para instalar o pacote snap:

 sudo snap install vscode --classic 

Digite sua senha e você verá que o aplicativo foi instalado. Agora você pode usar o aplicativo como qualquer software comum em seu sistema.

Agora que você viu como "consertar" este erro, você pode ir direto para a seção de comentários para um rápido agradecimento. No entanto, eu recomendo que você fique comigo e leia a próxima seção para saber um pouco sobre os snaps e seu modo clássico.

Motivo por trás do erro "snapd return status code 400: Bad Request"

Eu não sei o quanto você sabe sobre a embalagem do Linux aqui, então eu tentaria explicar o básico para você.

Você pode saber que várias distribuições do Linux possuem seu próprio sistema de pacotes. Você pode baixar os pacotes .deb no Debian e nas distribuições Linux baseadas no Ubuntu, mas o Fedora usará seus próprios pacotes .rpm e assim por diante. Por design, não é possível usar pacotes Debian no Fedora e vice-versa.

Pacotes universais foram introduzidos para evitar a dependência das distribuições. O Ubuntu lançou seu próprio sistema de empacotamento universal chamado Snap. Ele permite que você use esses aplicativos empacotados Snap em qualquer distribuição Linux suportada pelo Snap, não apenas no Ubuntu.

O problema aqui é que o aplicativo que você tentou instalar é na verdade um pacote Snap. É por isso que o erro mostra snapd que significa daemon do snap.

Aplicativos Classic Snap não funcionam no Centro de Software

Deixando de lado a história, você poderia e deveria perguntar se o empacotamento do Snap é do Ubuntu, por que não está funcionando em seu Centro de Software?

A resposta é a mudança no design da embalagem Snap. Originalmente, pacotes instantâneos são instalados e montados em um espaço rigidamente controlado. Eles não têm acesso à grande maioria dos recursos do sistema e eles agrupam as bibliotecas de que precisam e têm um sistema de arquivos somente leitura. Isso é chamado de política de confinamento 'estrito' e eles garantem um ambiente mais seguro.

No entanto, com o lançamento do Snapd 2.20, o Ubuntu introduziu uma nova política de confinamento chamada Classic. Os aplicativos no modo clássico têm acesso ao restante do sistema da mesma forma que a maioria dos aplicativos empacotados legados, como os pacotes do Debian.

Infelizmente, os pacotes Snap que usam a política de confinamento Classic não são suportados pelo Centro de Software. Você terá que passar pela opção de linha de comando para instalar esses aplicativos Snap.

Isso funcionou para você?

Espero que esta dica rápida tenha ajudado você a corrigir o problema e também tenha aprendido uma coisa ou duas sobre os pacotes instantâneos. Se você tiver dúvidas ou sugestões, por favor use a seção de comentários abaixo.

Recomendado

Corrigir erro "Falha ao buscar" com o Google Chrome no Ubuntu e no Linux Mint
2019
Conheça o CudaText: um editor de códigos abertos de várias plataformas
2019
Personalização do Ubuntu MATE
2019