使用している Ubuntu ベースのディストリビューションを確認するにはどうすればよいでしょうか?

使用している Ubuntu ベースのディストリビューションを確認するにはどうすればよいでしょうか?

ディストリビューションに応じて異なるコードを実行するスクリプトを書いています。具体的には、これは新しいマシンをセットアップするためのスクリプトで、kubuntu backports リポジトリ (および kubuntu-restricted-extras のインストールなど、他のいくつかのもの) を追加したいのですが、そのマシンが kubuntu を実行している場合のみです。

これを行う方法はいくつか見たことがありますが、Ubuntu ベースのさまざまなディストリビューションを区別できるほど具体的ではないようです。たとえば、次のようになります。

  • lsb_release -auname -aたとえ私がKubuntuを使っていてもUbuntuが表示されます
  • echo $DESKTOP_SESSIONプラズマが表示され、env | grep XDG_CURRENT_DESKTOPKDEが表示されますが、これではKubuntuとKDE neonを区別できないと思います。

私が見つけた唯一の有効な方法は次のとおりです:

if env | grep -q kubuntu
then
  echo "running kubuntu"
fi

ただし、これは特定の設定ディレクトリの存在に依存しているようで、リリース間で安定したままであるかどうかはわかりません。これを行うより正しい方法はありますか?

詳細

  • このスクリプトは、Ubuntuの何らかのバージョンを実行しているマシンでのみ実行されます。
  • 私が区別する必要がある主要な分布はウブントゥクブンツKDE ネオン、 そしてポップ!_os私の主な混乱は、2つのディストリビューションがKDEを実行し、2つがGNOMEを実行しているという事実から生じており、DEをチェックすることができない。
  • この情報を取得するためにソフトウェアをインストールするのは構いませんが、そのディストリビューションの標準/デフォルトのリポジトリの一部である場合に限ります。たとえば、neofetchは問題ありませんが、時々間違った名前を報告する

関連情報