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

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

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

トップレベルで:

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

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

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

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

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

それぞれ実行される最も人気のあるデスクトップ/サブシステムのリストをコンパイルすることをお勧めします。デスクトップ/デスクトップ環境/ウィンドウマネージャなどを混在させて一致させることはできますか?

最後に、システムで実際に実行されている(アクティブ?)デスクトップ/サブシステムを確認する方法は、異なるユーザーが異なるサブシステムを持つことができますか?

答え1

まず、ディスプレイマネージャ(またはxdm、gdm、kdmなどのDM)は、デスクトップ環境(またはGNOME、KDE、XFCEなどのDE)とは異なります。

ディスプレイマネージャは、グラフィカルログインと実行するセッションの決定(または選択を許可)を担当します。または会議*S*「ユーザー切り替え」メニューオプションを選択した場合。

デスクトップ環境は、基本的に一貫して統合された作業環境を提供するように設計されたプログラム(ディスプレイマネージャ、ウィンドウマネージャ、セッションマネージャ、パネル、設定ツールなど)とライブラリ(Gtkなど)の集まりです。

ウィンドウマネージャは、ウィンドウを配置する場所、ウィンドウの移動、ウィンドウのサイズ変更、ウィンドウの最小化/最大化、ウィンドウタイリングなどを管理します。また、これらのタスクを実行するためのショートカットも処理します。場合によっては、ウィンドウマネージャはウィンドウの境界線も描画します。それ以外の場合、これは一時的に「ウィンドウデコレータ」に渡されます。

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

窓などを描く責任は誰にかかっています。 「合成器」が使用されている場合(通常はCompizなどのウィンドウマネージャの一部)、シンセサイザは画面にウィンドウを描画します。それ以外の場合(過去のように)Xサーバーです。これをするために。

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

はい、さまざまなユーザーがさまざまなセッション構成を使用できます(または独自のセッション構成を定義することもできます)。 GDMで利用可能なオプションを表示するには、セッションドロップダウンメニューを試してください。

また、複数のコンポーネントを混在させてマッチさせることができますが、これによりコラボレーションが減り、作業方法の「滑らかさ」が失われる場合があります。物事を変えるためのよく知られた例はもちろん、素晴らしいデスクトップ効果を望むなら、Metacityを置き換えることができるCompizです。しかし、他の可能な変更もたくさんあります。

答え2

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

デスクトップ管理者なしでウィンドウマネージャをインストールできます。仮想端末にログインし、ログインスクリプトがウィンドウマネージャを実行して「デスクトップ」を起動するのが一般的です。

デスクトップマネージャには、GNOME、KDE、およびCDEが含まれます。ウィンドウマネージャには、Metacity、Openbox、Enlightenment、Awesomeなどが含まれます。

あなたの質問に直接答えるには:

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

私はすでにいくつかの有名なデスクトップマネージャとウィンドウマネージャに言及しています。より多くの情報を見つけるには、Googleを使用してください。

オペレーティングシステムによっては、優先デスクトップを定義するASCII構成ファイルがある場合があります。たとえば、Debian GNU/Linux では/etc/X11/default-display-managerconfig.php で定義されています。また 'ps -ef | grep user' (ここで 'user' はシステムユーザーのログイン名) を実行して、どのプロセスが一覧表示され、どのグラフィックデスクトップが実行されているかを確認できます。私にとって、ここは「メタシティ」です。

関連情報