Я хотел бы разработать новую программу для Ubuntu, которая будет
, аналогично, моя программа должна давать предложения пользователю в соответствии с его / ее деятельность.
Где я могу начать? я должен создать свой собственный журнал для регистрации активности пользователя или я могу получить доступ к syslog для контроля активности пользователя?
Они походят на две совершенно других проблемы. IMO, необходимо создать две отдельных части программного обеспечения, один для каждого из них. (Если еще нет чего-то, чтобы сделать так).
<час>, Чтобы видеть, было ли что-то установлено, можно контролировать файл /var/log/dpkg.log
. Это будет содержать любые dpkg события, для установки, удаления, конфигурирования, и т.д. Строки там похожи:
2015-06-04 12:57:15 status installed numlockx:amd64 1.2-5
Вы, однако, столкнетесь с проблемой, если система не будет использовать английскую локаль. Кроме того, это не покрывает ручные установки пакета, например, при установке чего-то на /usr/local/
или /opt/
. Практически невозможно смотреть все методы установки программного обеспечения.
Для наблюдения, какие программы запускаются пользователем, можно контролировать список процессов, доступный с ps -u <username>
.
, Что Вы хотите создать, что-то как экспертная система :
Это имеет "мировое знание" - это знает факты о системе
, Это может воздействовать на изменения в системе на основе правил, которые описывают то, что эксперты - люди записали, главным образом.
Это может также использовать логический вывод для некоторых вещей - но это скорее ограничено, потому что проблемы обработать очень ясно не структурированы.
Эта схема обзора показывает основные компоненты экспертной системы:
Изображение от Экспертные системы Вопросы о A-level AICT Navid Saqib
Так, что я пытаюсь сказать с этим сообщением? Я хочу сказать, что вид программы, о которой Вы думаете, может стать очень сложным - часто слишком сложный для понимания.
Так знать об этом, и запускаются с небольшой части, вместо того, чтобы пытаться заставить "основную часть" работать сразу.