kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 24.04 その4 - Ubuntu Core DesktopとDesktop Session・Desktop Sessionの役割

Ubuntu Core DesktopとDesktop Session

2023年9月11日、「Ubuntu Core Desktop」を構成するコンポーネントの一つである「Desktop Session」に関する紹介が以下で行われました。


  • Ubuntu Core Desktop - The desktop session

Ubuntu Core Desktop

「Ubuntu Core Desktop」はいわゆるSnap版「Ubuntu Desktop」に相当する「Ubuntu Desktop」です。
今までの「Ubuntu Core Desktop」に関する紹介は、以下を参照してください。

  • Snap版Ubuntu Desktop登場・耐改ざん性を高めたもっとセキュアなデスクトップOS
  • Ubuntu Core Desktopのアーキテクチャーとその構成

またSnapに関するドキュメントは、以下を参照してください。

  • Snap documentation

Desktop Session

「Desktop Session」とは、ユーザーがデスクトップにログインする際に使用される仕組みです。
現状でもそうですが、ユーザーはこの「Desktop Session」上でデスクトップを利用しています。
「Desktop Session」にはユーザーがデスクトップを利用するのに必要な仕組みが備わっています。
ユーザーから見ると、デスクトップ環境に相当するものと思えば分かりやすいでしょう。

様々なデスクトップ環境

Linuxの世界には様々なデスクトップ環境が存在しています。
「Ubuntu」が採用している「GNOME」や「Kubuntu」が採用している「KDE Plasma」、「Xubuntu」が採用している「Xfce」など、例を挙げたら枚挙にいとまがありません。

これら様々なデスクトップ環境を提供するのが「Desktop Session」の役割になります。

Ubuntu Core Desktop の Desktop Session

ご存知の通り「Ubuntu」では「GNOME」を採用しており、「Ubuntu Core Desktop」の「Desktop Session」は「GNOME」環境を提供する「Desktop Session」になります。
この「Desktop Session」はもちろんSnapで提供され、GNOMEデスクトップを提供するために必要なすべてのデスクトップサービスを提供します。

「Ubuntu Core Desktop」の「Desktop Session」を指して「Ubuntu Desktop Session」と表現しています。

Snapで提供されるということは「Desktop Session」は他のSnapから隔離された環境に配置されるということであり、特権サービスを実行するための領域はそこには存在しないということです。

  • Snap confinement

これはSnapが持つ特徴の一つです。

システムにどうやってアクセスすればよいのか

デスクトップアプリはハードウェアアクセラレーションを活用して動画を再生したり、ゲームを実行したり、あるいはサウンドを再生したりインターネットに接続するなど、システムと連携して動作します。

これらはいずれもシステムへのアクセスが必要となります。
しかしSnapは隔離された環境にソフトウェアが配置されるため、そのままではデスクトップアプリはシステムにアクセスできません。

Snapとインターフェース

そこで出てくるのがSnapが提供する仕組みの一つであるインターフェースです。
インターフェースはSnapで配置されているソフトウェアが別のSnapで配置されているソフトウェアと連携する仕組みです。

  • Interfaces
  • Interface management

Snap同士はお互いがお互いに隔離された環境に配置されていますが、インターフェースにより別のSnapが提供する機能にアクセスできます。

インターフェースはプラグとスロットで構成されています。
プラグは機能を利用する側が持つものであり、スロットは機能を提供する側が持つものです。
とあるSnapがもつプラグを別のSnapが持つスロットに接続すれば、プラグ側のSnapは接続されたインターフェースを通じて、スロット側のSnapが提供する機能を利用できます。


インターフェースとアクセス制限

システムで定義されているインターフェースだけでも、以下のように数多くのインターフェースがあります。

  • Supported interfaces

インターフェースを接続して初めてその機能を利用できるようになるということは、言い換えれば、インターフェースを切断しておけばその機能に対してアクセス制限をかけることが可能であるということです。

例えばSnapアプリがPCに搭載されているカメラへアクセスするには、「camera」インターフェースを接続する必要があります。

  • The camera interface

Snapアプリにカメラにアクセスして欲しくなければ、「camera」インターフェースを切断しておけば良いということになります。

デスクトップアプリに必要なインターフェース

システムで定義されているインターフェースの中に、デスクトップアプリに必要なインターフェースが定義されています。
例えば「x11」や「wayland」インターフェースは、デスクトップアプリに必要なインターフェースです。

  • x11
  • wayland

これらのインターフェースは文字通りのインターフェースであり、デスクトップアプリが動作するのに必須のインターフェースです。
例えばSnapで提供されるデスクトップアプリを「x11」インターフェースから切断すると、そのデスクトップアプリはXサーバーにアクセスできなくなります。

またデスクトップアプリにとって重要なインターフェースがもう一つあります。
それが「desktop」インターフェースです。

  • The desktop interfaces

このインターフェースはフォントやインジケーターなど、デスクトップの構成要素にアクセスするためのインターフェースです。

誰がスロットを提供するのか

さてデスクトップアプリが動作するのに必要なインターフェースにおいてプラグを持つのはデスクトップアプリ側のSnapですが、では誰がその接続先となるスロットを提供するのでしょうか。

「Ubuntu Core Desktop」においてそれらのスロットを提供するのが「Ubuntu Desktop Session」であり、「Desktop Session」が持つ役割の一つになっています。

例えば「Snap版Firefox」が「Ubuntu Core Desktop」上で動作する場合、「Snap版Firefox」のプラグは以下のように「Ubuntu Desktop Session」が提供するスロットと接続され、インターフェースを確立します。

Interface       Plug                     Slot                                    Notes
audio-playback  firefox:audio-playback   ubuntu-desktop-session:audio-playback   -
audio-record    firefox:audio-record     ubuntu-desktop-session:audio-record     -
desktop         firefox:desktop          ubuntu-desktop-session:desktop          -
wayland         firefox:wayland          ubuntu-desktop-session:wayland          -
x11             firefox:x11              ubuntu-desktop-session:x11              -

上記の例で「Snap版Firefox」は、「X11」と「Wayland」ディスプレイサーバーへのアクセス、サウンドの再生と録音機能へのアクセス、デスクトップ機能へのアクセスが許可されています。

他にも役割はたくさんある

「Desktop Session」には他にもまだまだ役割があります。
例えば「Ubuntu Desktop Session」では以下のデスクトップサービスを自身の環境内で実行します。

  • GNOME Shell
  • Pipewire
  • Wireplumber
  • Pipewire Pulse
  • Nautilus
  • XDG Desktop Portal GNOME
  • XDG Desktop Portal GTK
  • IBus
  • Colord

Ubuntu
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション