Você pode simplesmente escrever um script bash para verificar se o protetor de tela está sendo executado.
Eu escrevi uma rápida que você poderia fundo, claro que as coisas podem ser adicionadas para que ela funcione bem de acordo com suas necessidades
#!/bin/bash
while [ 1 ]
do
tester=$(ps aux | grep gimp | grep -v "grep") #or whatever your screensaver application is called
if [[ "$tester" != '' ]]; then
echo $tester > info.txt
exit
fi
done
Você pode adicionar um sleep 2 ou algo no meio, e depois fazer o background, mas o programa terá que ser executado novamente toda vez que seu screensaver for executado, você provavelmente poderá configurar algo para verificar se está executando ou não em um cron, realmente o céu é o limite com esses scripts.
no final você terá uma linha ps aux impressa em um arquivo e dentro dessa linha terá o tempo que o programa começou.
se você quiser continuar, como um log para quando a tela adormecer, você sempre pode alterar o >
para um >>
e isso adicionará a nova linha a cada vez.
Espero que isso ajude!
Acabei de perceber uma maneira fácil de tornar isso mais um serviço constante:
#!/bin/bash
while [ 1 ]
do
tester=$(ps aux | grep gimp | grep -v "grep") #or whatever your screensaver application is called
if [[ "$tester" != '' ]]; then
echo $tester > info.txt
while ["$(ps aux | grep gimp | grep -v "grep")" != '']
do
sleep 2
done
fi
sleep 15
done