Acompanhe as chamadas de um comando

3

Para explicar rapidamente o objetivo da minha pergunta, eu uso o Ubuntu mate com um teclado de maçã.
Para fazer o teclado funcionar corretamente, tive que remapear algumas chaves usando xmodmap , como trocar o # / @ por < / > .

O mapa personalizado é feito em ~/.Xmodmap como deveria ser.
Para carregá-lo automaticamente, adicionei xmodmap ~/.Xmodmap ao meu .zshrc .

Mas, depois de um tempo, a configuração do xmodmap é totalmente apagada.
Para reconfigurá-lo, tenho que abrir um novo terminal ou chamar manualmente o comando xmodmap .

Esse problema já é conhecido no gnome e não consigo encontrar uma solução que funcione para manter meu xmodmap sempre funcionando.

Para resolver o problema, acho que preciso descobrir qual pacote / comando faz com que a minha configuração personalizada seja esmagada, evitando dúvidas uma a uma.

Conheço alguns comandos que potencialmente podem redefinir a configuração xmodmap , como setxkbmap .

Para ter certeza de que meu problema está vindo, quero que minha sessão fique ouvindo neste comando ( setxkbmap ), classifique como eu sei quando é chamado.

Minha pergunta é a seguinte:

Como posso monitorar chamadas de um comando (talvez escrevendo em um arquivo de log, eu só preciso saber se ele foi chamado durante a sessão)?

Além disso, se você conhece outra alternativa para depurar ou manter minha configuração intacta durante a sessão, é ainda melhor.

Agradecemos antecipadamente por todas as respostas que receberia.

    
por chalasr 10.02.2016 / 14:59

1 resposta

1

Talvez um wrapper de shell possa ajudar você.

Renomeie o setxkbmap para setxkbmap.bin

Em seguida, crie um script chamado setxkbmap para ficar no mesmo lugar em que o original estava, com o conteúdo:

echo "[$(date)] [ppid $PPID] $@" >> /var/tmp/setxkbmap.log
exec setxkbmap.bin $@

Você pode registrar o ID do usuário ou o que você acha que pode ser útil

    
por 28.04.2016 / 21:38