ユーザーインターフェイスサブシステム、そのコンポーネントと責任は何ですか?


8

ユーザーインターフェイスを担当するさまざまなサブシステム、それらを参照するための用語、およびそれらの構造を理解しようとしています。これまでのところ、私は知っています:

トップレベル:

デスクトップ?(kde、gnomeなど)

それから私達は持っています:

  • ディスプレイマネージャー(デスクトップマネージャーまたはデスクトップ環境とも呼ばれます)
  • ウィンドウマネージャー
  • 他に何か?

私はこれをコミュニティーwikiにしています。これが* Linuxのユーザーインターフェイスサブシステムに関して(ユーザーの観点から)知っておくべきすべての中心的な場所になりたいです。私が知りたいのは、それぞれのコンポーネントとは何か、それぞれの責任は何か、つまり、次のようなことを知りたいです。

  • 「アプリケーションの実行」ダイアログを開いたとき、誰がそれを行っているか、キーを押してデスクトップを表示したとき、ターミナルを実行したとき、ウィンドウを最大化したときなど、キャプチャしているグローバルショートカットキーを正確に担当しているものそれを右のウィンドウに送ります。
  • デスクトップやワークスペースなどの描画を担当する人
  • これらのコンポーネントに関する情報を提供できる環境変数は何ですか
  • 「メインメニュー」はサブシステムですか、それともサブシステムのコンポーネントですか。

最も人気のあるデスクトップ/サブシステムのリストをコンパイルして、それぞれで実行することもできます。デスクトップ/デスクトップ環境/ウィンドウマネージャーなどを組み合わせて使用​​できますか?

最後に、どのデスクトップ/サブシステムが実際にシステムで実行中(アクティブ)かを確認するにはどうすればよいですか?ユーザーごとに異なるサブシステムを使用できますか?

回答:


5

まず、ディスプレイマネージャー(またはDM、たとえばxdm、gdm、kdm)はデスクトップ環境(またはDE、たとえばGNOME、KDE、XFCE)と同じではありません。

Display Managerはグラフィカルログインを処理し、実行するセッションを決定(またはユーザーが選択)できます。または、「ユーザーの切り替え」メニューオプションを選択した場合セッション* s *。

デスクトップ環境は基本的に、一貫性のある統合環境を提供することを目的としたプログラム(ディスプレイマネージャー、ウィンドウマネージャー、セッションマネージャー、パネル、構成ツールなど)とライブラリ(Gtkなど)のコレクションです。

ウィンドウマネージャーはウィンドウを管理します:ウィンドウの配置、移動、サイズ変更、最小化/最大化、タイル化など)。また、これらの操作を行うためのショートカットも処理します。場合によっては、ウィンドウマネージャーはウィンドウの境界線も描画します。他の場合では、このタスクは「ウィンドウデコレーター」に渡されます。

GNOMEの「アプリケーションの実行」ダイアログはの一部ですgnome-panelが、別のDEでは環境の別の一部である可能性があります。

窓の塗装などを担当するのは誰ですか。「コンポジター」が使用されている場合(多くの場合、Compizなどのウィンドウマネージャーの一部)、コンポジターは画面にウィンドウをペイントします。それ以外の場合(以前は通常でした)は、Xサーバーがそれを実行します。

メインメニューはgnome-panelの一部によって画面に表示されますが、使用されるデータは、/usr/share/applications/(多くの場合、個人的な変更のために家の同等のディレクトリと結合された)内の一連のファイルから取得されます。これらのファイルは、FreeDesktop.org(異なるDEが共通のインフラストラクチャで共同作業するためのプラットフォーム)で定義された構造を持っているため、GNOMEとKDEは同じプログラムを認識します(ただし、異なるプログラムを表示でき、場合によっては「ネイティブ」プログラムを優先します) 「外国の」ものより)。

そして、はい、ユーザーごとに異なるセッション構成を使用できます(独自のセッション構成を定義することもできます)。GDMで、利用可能な選択肢の[セッション]ドロップダウンを試してください。

さらに、複数のコンポーネントを組み合わせて組み合わせることが可能ですが、その場合、協調性が低下し、動作の「滑らかさ」が失われることがあります。物事が交換される非常によく知られた例の1つは、もちろんCompizです。これは、派手なデスクトップ効果が必要な場合にMetacityに置き換わるものです。ただし、他にも多くの変更が可能です。


2

ほとんどの場合、デスクトップマネージャーはハードウェアを管理し、ウィンドウマネージャーはソフトウェアを管理します。たとえば、電源管理、スクリーンセーバー、システムパフォーマンス、ログイン画面などは、デスクトップマネージャーによって管理されます。テーマ、ウィンドウの配置、ウィジェットとアイコンセット、フォントなどは、ウィンドウマネージャーによって管理されます。

デスクトップマネージャーなしでウィンドウマネージャーをインストールできます。通常、仮想端末にログインしてから、ログインスクリプトでウィンドウマネージャーを実行して「デスクトップ」を起動します。

デスクトップマネージャーはGNOME、KDE、CDEです。ウィンドウマネージャーは、Metacity、Openbox、Enlightenment、Awesomeなどです。

いくつかの質問に直接回答するには:

  • ウィンドウマネージャは、主にデスクトップのキーボードショートカットを担当しています。
  • 前述のように、ウィンドウマネージャーはデスクトップ、ワークスペース、ウィンドウの配置などの描画を担当します
  • GUIには多くの環境変数はありません。これらは通常、端末の背後にあるシェルにのみ適用されます。ただし、実行setenvて、何が設定されているかを把握することができます。
  • サブシステムまたはサブシステムのコンポーネントとしての「メインメニュー」の意味がわからない。メニューはウィンドウマネージャの一部です。

人気のあるデスクトップマネージャーとウィンドウマネージャーについてはすでに触れました。グーグルを使ってもっと見つけることができます。

ご使用のオペレーティングシステムによっては、お好みのデスクトップを定義したASCII構成ファイルが存在する可能性があります。たとえば、Debian GNU / Linuxでは、これは構成で定義され/etc/X11/default-display-managerます。'ps -ef | grep user 'ここで、「user」はシステム上の一部のユーザーのログイン名であり、リストされているプロセスと、実行中のグラフィカルデスクトップを確認します。私にとって、それは「メタシティ」です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.