簡単な説明:Software Centerからアプリケーションをインストールする際に発生する「snapdがステータスコード400を返しました:不正な要求」というエラーを修正する方法を示すクイックチュートリアル。
私は驚くべきことにマイクロソフトから来ている最高のオープンソースコードエディタの1つであるVisual Studio Codeをインストールしようとしていました。 私は以前にUbuntuにVisual Studio Codeをインストールする方法について書きましたが、それ以降はSoftware Centerで利用可能になりました。 そこで私はそこからそれをインストールしようとしました。
驚いたことに、インストールボタンを押すとエラーに迎えられました。

読むエラー:
すみません、これはうまくいきませんでした
Visual Studio Codeのインストールに失敗しました。
そして、エラーの詳細はこれでした:
パッケージマネージャからの詳細なエラーは以下の通りです。
snapdがステータスコード400を返しました:不正な要求
私は愚かなエラーは好きではありませんが、それらを修正するのが好きです。 あなたが同様の問題に直面しているならば、私はあなたがなぜこのエラーを得たのか、そしてどのようにしてこのエラーを投げたアプリケーションをインストールすることができるのかあなたと共有するつもりです。
「snapdがステータスコード400を返しました:Bad Request」を取り除く
あなたがビデオを好むならば、あなたはそれがFOSS YouTubeチャンネルで見ることができます。
その他のLinuxビデオについてはYouTubeチャンネルを購読する
上記のエラーを示すアプリケーションをインストールする方法を見てみましょう。 この問題を回避するには、コマンドラインを使用します。 これらのコマンドを使用することはそれほど複雑ではありません。 指示に従ってください。
Ubuntuでsnapコマンドを使うための私のガイドを読んだことがあれば、findオプションを使って指定された名前の利用可能なsnapパッケージを検索することができることをあなたは知っています。 私の場合は、「Visual Studio Code」または単に「visual」を検索できるように、Visual Studio Codeをインストールしようとしていました。
プログラム名に複数の単語が含まれる場合は、それらを逆カンマでグループ化します。
snap find "visual studio code"

あなたがコマンド出力で見ることができるように、システムはクラシックモードで利用可能なVisual Studio Codeバージョン1.18を持っています。 次のセクションで、このクラシックモードについて説明します。 パッケージの正確な名前にも注意する必要があります。 これはVisual Studioコード用のvscodeです。
次に、snapパッケージをインストールするために次の方法でコマンドを使用します。
sudo snap install vscode --classic
パスワードを入力すると、アプリケーションがインストールされたことがわかります。 これで、システム内の通常のソフトウェアと同じようにアプリケーションを使用できます。
このsnapdエラーを「修正」する方法を説明したので、すぐにコメント欄にジャンプして、ありがとうございます。 しかし、私はあなたが私と一緒にいてスナップとその古典的なモードについて少し知るために次のセクションを読むことを勧めます。
「snapdがステータスコード400を返しました:不正な要求」エラーの背後にある理由
私はあなたがここでLinuxのパッケージングについてどれほど知っているかわかりませんので、私はあなたに基本を説明しようとします。
さまざまなLinuxディストリビューションには独自のパッケージングシステムがあることをご存知かもしれません。 DebianおよびUbuntuベースのLinuxディストリビューションで.debパッケージをダウンロードできますが、Fedoraは独自の.rpmパッケージなどを使用します。 設計上、FedoraでDebianパッケージを使用することは不可能であり、その逆も同様です。
ユニバーサルパッケージはディストリビューションへの依存を避けるために導入されました。 UbuntuはSnapと呼ばれる独自のユニバーサルパッケージングシステムを立ち上げました。 これにより、Ubuntuだけでなく、Snapでサポートされている任意のLinuxディストリビューションでこれらのSnapパッケージアプリケーションを使用できます。
ここでの問題は、インストールしようとしたアプリケーションが実際にはSnapパッケージであるということです。 スナップデーモンの略でsnapdと表示されるのはこのためです。
従来のSnapアプリケーションはSoftware Centerで機能しません
歴史はさておき、あなたはSnapパッケージがUbuntuから来ているかどうか尋ねることができます、それがどのようにそのSoftware Centerで働いていないのですか?
答えは、スナップ包装のデザインの変更です。 もともと、スナップパッケージは厳重に管理されたスペースに設置されています。 大部分のシステムリソースにアクセスすることはできず、必要なライブラリをバンドルし、読み取り専用のファイルシステムを持っています。 これは「厳密な」閉じ込めポリシーと呼ばれ、より安全な環境を保証します。
しかし、snapd 2.20のリリースにより、UbuntuはClassicという新しい制限ポリシーを導入しました。 クラシックモードのアプリケーションは、Debianパッケージのような最も古いパッケージアプリケーションと同じようにシステムの他の部分にアクセスできます。
残念ながら、Classicの閉じ込めポリシーを使用するSnapパッケージはSoftware Centerではサポートされていません。 そのようなSnapアプリケーションをインストールするには、コマンドラインオプションを使用する必要があります。
それはあなたのために働きましたか?
このクイックチップが問題の解決に役立つことを願っています。また、スナップパッケージについて1つか2つ学んだこともあります。 質問や提案がある場合は、下記のコメント欄を使用してください。