Histórico detalhado de todos os comandos / ações (também na GUI)

1

O famoso comando history nos mostra uma lista de comandos executados recentemente. Se definirmos a variável HISTTIMEFORMAT , também podemos ver quando os comandos são executados. Eu gostaria de uma versão mais geral do que também registra algumas ações GUI como abrir / fechar / etc programas.

P: Existe um comando semelhante para ver "todas" as ações do usuário (com um carimbo de data / hora)? (Claro que não ALL. Não coisas como "movido mouse daqui para lá".)

Mas algo ao longo das linhas:

18.06.2015 09:30 started Firefox
18.06.2015 09:32 started Rhythmbox
18.06.2015 09:35 opened someText.pdf in evince
18.06.2015 09:39 closed Firefox
18.06.2015 09:40 suspended session

seria super legal. Embora outros tipos de representações sejam bons também. Se pudesse até dizer quando algum aplicativo ganhou foco, isso seria incrível.

Algumas ideias: Talvez ...

  • ... existe uma extensão para o desktop-env (usando o gnome aqui)
  • ... alguns desktop-env suportam isso diretamente (eu consideraria mudar se esse recurso estivesse disponível)
  • ... há alguns sinalizadores para o comando ps para obter um comportamento semelhante ou, pelo menos, obter parcialmente as informações
  • ... talvez seja possível agregar as informações de comandos como history, w, ps etc.

Observação: quero que isso monitore minha própria atividade e estou disposto a escrever um pequeno roteiro para ela. Mas por exemplo, o que seria adequado ps -flags e o que deveria eu possivelmente grep ?

    
por dingalapadum 18.06.2015 / 10:33

1 resposta

0

Você pode usar o diário de atividades para rastrear arquivos abertos. Não tenho certeza se existe algo para rastrear aplicativos abertos.

Esta é provavelmente uma solução desonesta e trabalhosa, mas você pode usar ícones da área de trabalho para executar os aplicativos usando scripts. No script, você pode adicionar uma linha a um arquivo de log.

Algo como ...

#!/bin/sh
echo 'date' "Firefox Started" >> /home/username/logs/apps-activity.log
firefox
echo 'date' "Firefox Stopped" >> /home/username/logs/apps-activity.log

Desculpe minhas habilidades bash ainda são bastante rudimentares, mas acho que você entendeu a ideia. Não é uma boa solução, mas talvez lhe dê algumas ideias. No que diz respeito ao uso do ps, cada aplicativo pode ter alguns processos envolvidos, então seria bastante complexo, acho que isso funcionaria corretamente.

Se usarmos o exemplo do firefox, recebo dois processos em execução quando uso o comando ps. Por exemplo.

$ ps aux | grep firefo[x]
username     5302 11.2  3.5 1391936 564016 ?      Sl   Jul08 553:26 /usr/bin/firefox.real
username    15351  0.8  0.2 482268 47040 ?        Sl   Jul09  29:21 /opt/firefox/plugin-container /usr/lib/flashplugin-nonfree/libflashplayer.so -greomni /opt/firefox/omni.ja -appomni /opt/firefox/browser/omni.ja -appdir /opt/firefox/browser 5302 true plugin
    
por 11.07.2015 / 14:44