GNOME は systemd 経由で管理できるように適応されています

ベンジャミン・バーグ(ベンジャミン・バーグ)、GNOME 開発に携わる Red Hat エンジニアの XNUMX 人、 まとめた gnome-session プロセスを使用せずに、systemd のみを使用して GNOME をセッション管理に移行する作業の結果。

これは、GNOME へのログインを制御するためにかなり長い間使用されてきました。 systemd-ログインは、ユーザー固有のセッション状態を追跡し、セッション識別子を管理し、アクティブなセッション間の切り替えを担当し、マルチシート環境を調整し、デバイス アクセス ポリシーを構成し、シャットダウンしてスリープ状態にするためのツールを提供します。

同時に、セッション関連の機能の一部は gnome-session プロセスの肩に残り、D-Bus 経由の管理、ディスプレイマネージャーと GNOME コンポーネントの起動、ユーザー指定のアプリケーションの自動実行の編成を担当しました。 。 GNOME 3.34 の開発中、gnome セッション固有の機能は systemd のユニット ファイルとしてパッケージ化され、「systemd —user」モードで実行されます。 システム全体ではなく、特定のユーザーの環境に関連して。 変更はすでに Fedora 31 ディストリビューションに実装されており、XNUMX 月末にリリースされる予定です。

systemd を使用すると、オンデマンドまたは特定のイベントが発生したときにハンドラーの起動を整理できるほか、障害によるプロセスの早期終了にさらに高度に対応し、GNOME コンポーネントの起動時に依存関係を広範囲に処理できるようになりました。 その結果、常に実行されるプロセスの数が減り、メモリ消費量が削減されます。 たとえば、XWayland は、X11 プロトコルに基づくアプリケーションを実行しようとする場合にのみ起動できるようになり、ハードウェア固有のコンポーネントは、そのようなハードウェアが存在する場合にのみ起動できます (たとえば、スマート カードのハンドラーは、カードが挿入されると起動します)削除されると終了します)。

サービスの起動を管理するためのより柔軟なツールがユーザー向けに登場しており、たとえば、マルチメディア キー ハンドラーを無効にするには、「systemctl -user stop gsd-media-keys.target」を実行するだけで十分です。 問題が発生した場合は、事前にサービスでデバッグ ログを有効にしておくと (たとえば、「journalctl —user -u gsd-media-keys.service」)、journalctl コマンド (「Environment= G_MESSAGES_DEBUG=すべて」)。 すべての GNOME コンポーネントを分離されたサンドボックス環境で実行することも可能ですが、これにはセキュリティ要件が強化されます。

移行をスムーズにするために、プロセスを実行する古い方法をサポートします。 計画中 複数の GNOME 開発サイクルにわたって持続します。 次に、開発者は gnome セッションの状態を確認し、プロセスを起動して D-Bus API を維持するためのツールをプロセスから削除する可能性が高くなります (「可能性が高い」とマークされています)。 その後、「systemd -user」の使用は必須機能のカテゴリーに追いやられます。これにより、systemd のないシステムでは困難が生じる可能性があり、かつての場合と同様に、代替ソリューションの準備が必要になります。 systemd-ログイン。 ただし、GUADEC 2019 でのスピーチの中で、Benjamin Berg 氏は、systemd を使用しないシステムの古い起動方法のサポートを維持する意向について言及しましたが、この情報は、 プロジェクトページ.

出所: オープンネット.ru

コメントを追加します