ОК, вот часть, которую я могу пролить немного света на:
В любой ОС Unix'y вы можете всегда использовать функцию обновления поля GECOS putpwent
. Традиционно «Настоящее имя» - это первая часть поля GECOS в пользовательской записи, вплоть до первой ,
. Различные системы хранят различную расширенную информацию после ,
, включая такие вещи, как названия отделов, домашние и офисные телефоны и т. П.
В Gnome 2 «они» использовали ~ / .face в качестве вашего личного значка лица. Однако есть все виды ситуаций, в которых один пользователь не может заглянуть в домашнюю папку другого (включая корневую: такие вещи, как сетевые файловые системы, зашифрованные дома с обратной связью и т. Д.), Так что в какой-то момент от этого отказались (я считаю, 3.0) в пользу расположения / var / lib / AccountsService / icons / $ YOURNAMEHERE.
В духе Gnome 3 новая система (которую вы, скорее всего, захотите использовать) - это служба DBus Services Accounts Services. Вы можете получить пользовательский объект через DBus и изменить его. Интерфейс org.freedesktop.Accounts
/ org.freedesktop.Accounts.User
и имеет такие методы, как SetRealName
и SetIconFile
. Есть также «куча» других методов для таких вещей, как местоположение, язык, электронная почта,…
PS : вы также можете использовать libaccountsservice
для взаимодействия с ним, не вызывая DBus самостоятельно. Например: 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, боюсь, я не знаю ...
Что бы это ни стоило, вы также можете просто позволить пользователю настроить его самостоятельно с помощью
gnome-control-center user-accounts