Então você quer se tratar como um garoto de 16 anos, não é? Ok, este deve ser um bom ponto de partida ...
#> cat force-screensaver.sh
#!/bin/bash
secondstowait=
if [ "x" == "x" ] ; then
echo
echo "Please insert the number of seconds you want to wait"
echo
exit
fi
hourstowait=$(($secondstowait / 3600))
minstowait=$((($secondstowait / 60) - ($hourstowait * 60)))
secstowait=$(($secondstowait - $minstowait * 60 - $hourstowait * 3600))
starth='date +"%H"'
startm='date +"%M"'
starts='date +"%S"'
ends=0
endm=0
endh=0
ends=$(($ends + $starts + $secstowait))
if [ $ends -gt 59 ] ; then
ends=$(($ends - 60))
endm=$(($endm + 1))
fi
endm=$(($endm + $startm + $minstowait))
if [ $endm -gt 59 ] ; then
endm=$(($endm - 60))
endh=$(($endh + 1))
fi
endh=$(($endh + $starth + $hourstowait))
echo
echo "Will wait for $hourstowait hours, $minstowait minutes and $secstowait seconds"
echo
printf "Starting at %02d:%02d:%02d - stopping at %02d:%02d:%02d\n" "$starth" "$startm" "$starts" "$endh" "$endm" "$ends"
while (true)
do
currh='date +"%H"'
currm='date +"%M"'
currs='date +"%S"'
#echo "Running..."
gnome-screensaver-command -a
#sleep 5
if [ $currh -ge $endh ] && [ $currm -ge $endm ] && [ $currs -ge $ends ] ; then
echo
echo Exiting...
echo
gnome-screensaver-command -d
exit
fi
done
Você pode chamar isso de passar o número de segundos que você deseja torturar (por exemplo, force-screensaver.sh 60
é o máximo que eu pude suportar). Então você só precisa ligá-lo a um atalho de teclado e pronto.
Tenha uma boa dor: P