私は、ユーザーインターフェイスを担当するさまざまなサブシステム、それを参照するために使用される用語、およびその構造を理解しようとしています。
トップレベルで:
デスクトップ? (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です。しかし、他の可能な変更もたくさんあります。