4

Gnome3/GDM のユーザー アカウントの Gnome 3/GDM 3 ユーザー プロファイル/タイル/顔画像をプログラムで設定しようとしています。これは、Linux 用の単純なプログラムに対する私の最初の試みであり、API に慣れていないため、検索しても有用な情報はほとんど得られませんでした。.face ファイルにデータを書き込むことができるようですが、これは効果がないようです (または、ファイルの種類/仕様が間違っている可能性があります)。このフォーラムの投稿から、情報は /var/lib/AccountsService/users の下のユーザー固有のディレクトリに保存されていることがわかりましたが、プログラムを通常のユーザー権限で実行したいので、このファイルに (直接) 書き込むには昇格された権限が必要になります(権限のないユーザーがGnome設定GUIを介してアカウントの画像を指定できるにもかかわらず)。

理想的には、KDE/KDM および Gnome 2 バージョンでも同じことをしたいと考えています。どんな情報でも大歓迎です。ありがとう!

4

1 に答える 1

1

OK、ここで私がいくつかの光を当てることができる部分です:

どの Unix'y OS でも、いつでもGECOS フィールド更新機能に頼ることができputpwentます。従来、「本名」は、ユーザー レコードの GECOS フィールドの最初の部分で、最初の,. ,部門名、自宅やオフィスの電話番号など、さまざまなシステムが の後にさまざまな拡張情報を保存します。

Gnome 2 では、「彼ら」は個人の顔アイコンとして ~/.face を使用していました。ただし、あるユーザーが別のユーザーのホームフォルダー (ルートを含む: ネットワークファイルシステム、暗号化されたループバックホームなど) を見ることができないあらゆる種類の状況があるため、これはある時点 (3.0 だと思います) で放棄されました。 /var/lib/AccountsService/icons/$YOURNAMEHERE の場所を優先します。

Gnome 3 の精神に則り、新しいシステム (最も使用する可能性が高いシステム) は、Accounts Services DBus サービスです。DBus を介してユーザー オブジェクトを取得し、変更することができます。インターフェイスはorg.freedesktop.Accounts/org.freedesktop.Accounts.Userで、 や などのメソッドがSetRealNameありSetIconFileます。場所、言語、電子メールなどの他の方法の「束」もあります...</p>

PS : libaccountsserviceDBus を自分で呼び出さずに操作するために使用することもできます。EG:そのライブラリからエクスポートされますvoid act_user_set_real_name (ActUser *user, const char *real_name)void act_user_set_icon_file (ActUser *user, const char *icon_file)

ただし、K (または K のどのバージョン) がこの DBus サービスを参照しているかどうかはわかりません。ですから、本当に K 情報を設定したいのであれば、残念ながらわかりません…</p>

価値があるのは、ユーザーが自分で調整できるようにすることもできます

       gnome-control-center user-accounts
于 2012-01-24T19:00:34.377 に答える