第2章 logind
logind
(または具体的には systemd-logind
)は、ユーザーログインを管理するシステムサービスです。このサービスは以下を行います。
- ユーザーおよびセッション、それらのセッションおよびアイドル状態の追跡
- ユーザープロセスの制御グループの作成
- システムのシャットダウンまたはスリープなどの操作のために PolicyKit ベースのアクセスをユーザーに提供
- アプリケーション用にシャットダウン/スリープを抑止するロジックの実装
- 電源/スリープハードウェアキーの処理
- 複数のユーザー用のマルチシート管理、セッション切り替え管理、およびデバイスアクセス管理
- 仮想端末 (コンソール) のアクティブ化時のテキストログイン (getty) の自動起動およびユーザーランタイムディレクトリーの管理
logind
サービスは、Red Hat Enterprise Linux 7 の新しい初期化システムである systemd
と密接に統合されており、Red Hat Enterprise Linux 6 の upstart
初期化システムに置き換わります。この変更により、数多くの新機能が導入されました。以下は、これらの内のとりわけ大きな変更点の要約です。
- ConsoleKit
ConsoleKit
フレームワークは、Red Hat Enterprise Linux 7 では非推奨になりました。同等の機能はsystemd
によって提供されるようになりました。ConsoleKit
とlogind
はいずれも、現在実行中のユーザーセッションを追跡するサービスです。注記ConsoleKit
には、システム上のアクティブなセッションが変更されたときにいつでも任意のシェルスクリプトを実行する機能がありました(仮想端末の切り替えを使用)。この機能は提供されなくなりました。- /var/log/ConsoleKit/history ファイル
- 以前のバージョンでは、
ConsoleKit
はログファイルを/var/log/ConsoleKit/history
に送信していましたが、現在logind
はサポートしませんでした。このファイルは、システム上のすべてのログインとログアウトを追跡する従来のwtmp
ファイルおよびutmp
ファイルに置き換えられました。/var/log/ConsoleKit/history
は、異なる形式のwtmp
ファイルと同様の情報を提供していました。機能的に重複しているため、logind
はwtmp
ファイルのロールのみを採用しています。 - seat.d スクリプト
ConsoleKit
は使用されなくなったため、seat.d
スクリプトはConsoleKit
フレームワークを補完しなくなり、systemd-logind
に置き換えられました。- ck-list-sessions コマンド
ConsoleKit
は、通常のユーザーだけでなく、GDM
による GUI アクセスも含む、最近のユーザーに関する詳細情報を返す ck-list-sessions コマンドを提供していました。比較可能な結果には、loginctl
コマンドを実行してアクセスできるようになりました。$
loginctl list-sessions
- マルチシートサポート
logind
とGDM
とともに、ユーザーが別のモニター、マウス、またはキーボードをマシンにアタッチできる マルチシート 機能が提供されます。これを実行すると、追加のログイン画面が表示され、ユーザーは別のマシンを使用しているかのようにログインできます。システム上で利用可能なシートをリスト表示するには、以下のコマンドを実行します。$
loginctl list-seats
システム上で特定のシートのステータスを表示するには、以下のコマンドを実行します。$
loginctl seat-status seat
ここで、seat はシートの名前です(例:seat0
)。特定のハードウェアを特定のシートに割り当てるには、以下のコマンドを実行します。#
loginctl attach seat device
ここで、seat はシートの名前になります(例:seat1
)。device は、/sys
/devices/pci0000:00/0000:00:02.0/drm/card0 などの /sys デバイス
パスで指定されたデバイス名です。割り当てを変更するには、ハードウェアを別のシートに割り当てるか、loginctl flush-devices コマンドを使用します。
詳細情報の入手
systemd-
logind
.service(8)- logind の man ページは、logind
の使用方法と機能に関する詳細情報を提供します。また、systemd-logind
が提供する API (ログイン D-Bus API ドキュメント)にも対応しています。
logind.conf(5):
logind.conf
の man ページでは、ログインマネージャー設定ファイルについて説明しています。
loginctl(1):
systemd
ログインマネージャーの man ページには、マルチシート機能の詳細情報が含まれています。