
ある日、私はディスプレイマネージャの独立ゲストセッションを作成することを考えました。
/tmp/guest-XXXXXX
私の基本的なアイデアは、一時ホームディレクトリ(fe)を動的に作成し、このセッションをそのホームディレクトリに割り当てるカスタムプログラムでログインシェルを変更することです。ユーザーがログアウトすると、ディレクトリは再度削除されます。私が経験している問題は次のとおりです。家を設定する必要があり、/etc/passwd
問題なくHOME環境変数をオーバーライドできますが、アプリケーションはpasswd
少なくともグラフィックでまだ環境変数の代わりにホーム設定を使用しているようです。環境。passwd
セッションが始まるまで知らなかったので、家を建てることができませんでした。
私が思いついた基本的なロジックは次のとおりです。
- ログインシェルが起動しました。
- 臨時家づくり
- HOMEが一時住宅に設定されました。
- 本物の殻は割れている
- 実際のシェルが終了すると、一時ホームは削除されます。
su
ユーザーに入るとうまくいくようですが、グラフィカルセッションを実行するとほとんど/すべてのプログラムがpasswd
。
グラフィックセッションがアクティブな間にユーザーのホームページを動的に変更できますか?グラフィックセッションがどのように機能するかというアーキテクチャで何かを見落としていますか?