「lightdm --session-child 12 19」とはどういう意味ですか?

「lightdm --session-child 12 19」とはどういう意味ですか?

lightdm --session-child 12 19次の出力はどういう意味ですか?

lightdm上記のコマンドを実行するためにプロセスを分岐する必要があるのはなぜですか?

--session-childマンページにありませんlightdm。ありがとうございます。

$ pstree -a -p   -s $$
systemd,1 --system --deserialize 19
  └─lightdm,661
      └─lightdm,862 --session-child 12 19
          └─lxsession,944 -s Lubuntu -e LXDE
              └─lxpanel,1087 --profile Lubuntu
                  └─lxterminal,23017
                      └─bash,23020
                          └─pstree,26853 -a -p -s 23020

答え1

~からhttps://lists.freedesktop.org/archives/lightdm/2015-December/000916.html

> ps aux | grep lightdm | grep -v grep
>
> is
>
> root       894  0.0  0.1  35192  3492 ?        SLsl 22:19   0:00 lightdm
> root      2766  1.9  1.3  98744 26980 tty7     Ssl+ 22:49   0:45
> /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0
> -nolisten tcp vt7 -novtswitch
> root      2852  0.0  0.1  19876  3796 ?        Sl   22:49   0:00
> lightdm --session-child 12 19

はい、2つのプロセスを持つことは正常です。

最初のlightdmプロセスはデーモンプロセス(PID 894)です。ログインすると、PAMは内部でPAM機能を実行するために子プロセスを開始する必要があります。 LightDMはデーモンと通信するためにいくつかのパイプを設定し、--session-child(PID 2852)を使用してそれ自体を再実行することによってこれを行います。その後、PAM(ルートとして)は、ユーザーを認証し、セッションに合わせてこのプロセスを設定するように構成されたすべての操作を実行します。完了したら、他のプロセスをフォークして権限を削除してから、実際にセッションを実行します。セッションが終了したら、PAMを使用してクリーンアッププロセスを実行できるようにセッションサブプロセスを開いたままにする必要があります。

最後の文の「セッションサブプロセス」は、1つではなく2番目のlightdmプロセスを参照しているようですlxsession。しかし、私は本当に知りません。ソースコード

関連情報