Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
第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 についても記載しています (logind D-Bus API についてのドキュメント)。
logind.conf(5) –
logind.conf
の man ページはログインマネージャーの設定ファイルについて説明しています。
loginctl(1) –
systemd
ログインマネージャーの man ページには、マルチシート機能についての詳細情報が記載されています。