Desenvolvimento de novo programa - preciso de ajuda

0

Eu gostaria de desenvolver um novo programa para o Ubuntu que irá

  • monitora a atividade do usuário, Se o usuário frequentemente usa um determinado software "X" em determinado horário (como 8:00 - 10:00), quando o horário chegar às 8:00, meu programa deve dizer "Você gosta de abrir o software" X "agora?" em uma mensagem de alerta.
  • Se um usuário instalando algo como JAVA, meu programa deve dizer "esses softwares podem ajudar após sua instalação atual: - eclipse, Geany"

da mesma forma, meu programa deve dar sugestões ao usuário de acordo com sua atividade.

Onde posso começar? devo criar meu próprio log para registrar a atividade do usuário ou posso acessar o syslog para monitorar a atividade do usuário?

    
por kumaran ragunathan 04.06.2015 / 15:54

2 respostas

0

Estes soam como dois problemas completamente diferentes. IMO, você deve criar dois softwares separados, um para cada um deles. (Se ainda não houver algo a fazer).

Para ver se algo foi instalado, você pode monitorar o arquivo /var/log/dpkg.log . Ele conterá quaisquer eventos do dpkg, para instalação, remoção, configuração, etc. As linhas ali se parecem com:

2015-06-04 12:57:15 status installed numlockx:amd64 1.2-5

Você terá, no entanto, um problema se o sistema não estiver usando uma localidade inglesa. Além disso, isto não cobre instalações de pacotes manuais, e. ao instalar algo para /usr/local/ ou /opt/ . É praticamente impossível assistir a todos os métodos de instalação de software.

Para ver quais programas estão sendo executados por um usuário, você pode monitorar a lista de processos, obtida com ps -u <username> .

    
por s3lph 04.06.2015 / 16:09
0

Esse é um sistema especializado

O que você deseja criar é algo como um sistema especialista :

Tem "conhecimento de trabalho" - conhece fatos sobre o sistema

Ele pode reagir a mudanças no sistema com base em regras que descrevem o que os especialistas humanos escreveram, principalmente.

Ele também pode usar a inferência lógica para algumas coisas - mas isso é bastante limitado, porque os problemas a serem tratados não estão muito bem estruturados.


Este diagrama de visão geral mostra os principais componentes de um sistema especialista:


Imagemde Especialista em Sistemas de Nível AICT Perguntas por Navid Saqib


Então, o que estou tentando dizer com este post? Eu quero dizer que o tipo de programa que você pensa pode ficar muito complicado - muitas vezes complicado demais para ser realizado.

Portanto, esteja ciente disso e comece com uma pequena parte, em vez de tentar "executar a parte principal" de uma só vez.

    
por Volker Siegel 04.06.2015 / 16:56