PAMモジュールにGUIを表示する方法は?

PAMモジュールにGUIを表示する方法は?

PAMモジュールにGTKウィンドウを追加しようとしています。私のテストPAMアプリケーションでは動作しますが、デスクトップログインまたはロック解除中は機能しません。ここに答えがない別の質問があります。https://stackoverflow.com/questions/59011871/gtk-pam-module-not-showing-on-login

これが可能かどうか疑問に思いますか?それ以外の場合は、ログインUI(gnome-screensaver、gdm-password)を統合/カスタマイズし、PAMに認証を実行させる方法は何ですか?

答え1

PAMモジュールがXサーバと通信しようとするのは不適切です。ログインセッションでPAMモジュールを使用している場合、ユーザーのX11セッションはセッションが開始されるまで初期化されないため、とにかく通信するX11サーバーはありません。 PAMモジュールは$ DISPLAYについて知らず、X Cookieにアクセスできません。これは、セッションの開始後にディスプレイマネージャによって設定されます。

ユーザーがログインしたら、gdmまたは他のディスプレイマネージャにプロセスを実行させることをお勧めします。何かを表示する必要がある場合期間ログインすると、このログインをサポートするようにgdmを変更できます。

不可能なことではないという言葉ではありません。たとえば、モジュールに dbus を使用して、gdmgreeter のコンテキストで開始されたサービスと通信させることができます。

関連情報