Uncategorized

Linuxのデスクトップ環境(確認方法)

thatisgraffiti

先日の記事の通り、Linuxデスクトップには、GNOME・KDE Plasma・Xfce・Cinnamonなど、さまざまなデスクトップ環境(Desktop Environment: DE)が存在します。
しかし、配布物やカスタマイズ状況によっては「自分の環境が結局どのデスクトップ環境なのか分からない」ということもよくあります。私がそうです!​

本記事では、主にコマンドラインを使って「今ログインしているユーザーがどのデスクトップ環境を使っているか」を確認する方法を、4つに分けて紹介します。


前提条件と対象読者

次のような人を対象にしています。

  • UbuntuやFedora、Debianなどの一般的なデスクトップLinuxを使用している
  • 端末(ターミナル)を開いてコマンドを1行ずつ実行することに抵抗がない
  • GNOMEかKDEか、あるいはXfceなど、今の環境を把握したい

なお、ここで紹介する方法は多くのディストリビューションで共通して利用できますが、一部の軽量ディストリや独自環境では結果が異なる場合もあります。


方法1: 環境変数 XDG_CURRENT_DESKTOP を確認する

もっともシンプルで汎用的なのが、環境変数 XDG_CURRENT_DESKTOP を確認する方法です。
ターミナルを開き、次のコマンドを実行します。

echo $XDG_CURRENT_DESKTOP

代表的な例として、以下のような出力が返ってきます。

  • GNOME」or「ubuntu:GNOME」→ GNOME系デスクトップ環境
  • KDE」or「KDE-plasma」→ KDE Plasma
  • XFCE」 → Xfce
  • Cinnamon」 → Cinnamon

複数の名前が : 区切りで連結されている場合もありますが、基本的には中に含まれる識別子で判断できます。


方法2: セッションファイルや実行ファイルから推測する

環境によっては XDG_CURRENT_DESKTOP が空だったり、期待した値が入っていない場合があります。
そのようなときは、セッション関連のファイル名や実行ファイルから推測する方法が有効です。

/usr/bin のセッション関連ファイルを見る

次のコマンドを実行します。

ls /usr/bin/*-session 2>/dev/null

ここに gnome-session や startkdestartxfce4 などが存在していれば、そのOSにインストールされているデスクトップ環境の手がかりになります。

私のKali Linux環境では「/usr/bin/xfce4-session」が表示されました。
実際にデスクトップ環境はxfceです。

ただし、この方法は「インストールされている候補」を知るには便利ですが、「今動いている環境」を直接示すわけではない点に注意してください。


方法3: プロセス一覧からデスクトップ環境を推測する

現在動いているプロセス名から、利用中のデスクトップ環境を推測することもできます。​次のようなコマンドで、代表的なデスクトップ環境のプロセスを検索します。

ps -e | grep -Ei "gnome|kde|plasma|xfce|cinnamon|mate"
例として、以下のようなプロセスが見つかることがあります。
  • 「gnome-shell」or「gnome-session-binary」 → GNOME
  • plasmashell」or「ksmserver」 → KDE Plasma
  • xfce4-session」or「xfwm4」 → Xfce
  • cinnamon」→ Cinnamon
  • mate-session」→ MATE

複数種類のライブラリやアプリケーションが共存している場合もあり、必ずしも一意ではありませんが、「どの環境がメインか」を判断する目安になります。


方法4: neofetch などのシステム情報ツールを使う

コマンド1発でまとめて情報を見たい場合は、neofetch のようなシステム情報ツールが便利です。
※neofetchの開発は終了してます。使用できる環境の方のみ参照ください。​

neofetch のインストール

Debian/Ubuntu系であれば、次のようにインストールできます。

sudo apt install neofetch

Fedoraなどでは dnf、Arch系では pacman など、各ディストリのパッケージマネージャにあわせてインストールしてください。

neofetch の実行

インストール後、次のコマンドを実行します。

neofetch

端末上にOS名・カーネル・シェルなどとともに、DE(Desktop Environment)という項目が表示され、ここに現在利用中のデスクトップ環境名が出力されます。
また、環境によっては DE に加えて、バージョン情報も表示されるため、「どのデスクトップ環境の何バージョンを使っているか」を一度に確認できます。


GUIから確認する方法(参考)

本記事のテーマはコマンドラインですが、GUI設定画面から確認できるディストリも多くあります。

  • アプリケーションメニューから「設定」または「Settings」を開く
  • 一般的に「情報」「概要」「About」などのセクションに、デスクトップ環境名やバージョンが表示されることがあります。

「端末が苦手なユーザーに説明したい」場合には、このGUI手順も併記しておくと親切です。


代表的なコマンドのまとめ

記事の最後に、サッと見返せるコマンド一覧を載せておくと読者に喜ばれます。

目的コマンド補足
現在のDE名を環境変数から確認echo $XDG_CURRENT_DESKTOP最も簡単で推奨。
セッション関連ファイルで候補を確認ls /usr/bin/*-sessionインストール済みのDEの手がかり。
プロセスから推測ps -e | grep -Ei "gnome|kde|plasma|xfce|cinnamon|mate"動作中のDEを推測。
システム情報ツールで確認neofetchDE欄にDE名・場合によってはバージョン。

おわりに

Linuxでは、複数のデスクトップ環境を入れ替えたり共存させたりできるため、「今どれが動いているのか」を把握しておくことはトラブルシュートやカスタマイズの第一歩になります。
本記事で紹介したコマンドをテンプレートとして覚えておけば、別のディストリやリモート環境を触るときにも役立つはずです。

neofetchの代替ツールも探してみます。

ABOUT ME
記事URLをコピーしました