başlamaktan daha farklı davranır. Ekrana belirli bir süre dokunulmamışsa bir slayt gösterisi göstermek istiyorum. Bu amaçla aşağıdaki betiğe sahibim. açılışta özel bir ekran koruyucu başlayarak elle Ben web sunucusu koşuyorum hangi bir dokunmatik kiosk var ekran koruyucu
#!/bin/sh
# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((15*1000))
# Sequence to execute when timeout triggers.
trigger_cmd() {
DISPLAY=:0 feh -ZXYrzFD 10 /home/pi/screensaver/img --zoom fill &
echo '"pkill -n feh; pkill -n xbindkeys"'>/home/pi/screensaver/xbindkeys.temp
echo "b:1">>/home/pi/screensaver/xbindkeys.temp
DISPLAY=:0 xbindkeys -n -f /home/pi/screensaver/xbindkeys.temp
sudo rm /home/pi/screensaver/xbindkeys.temp
}
sleep_time=$IDLE_TIME
triggered=false
# ceil() instead of floor()
while sleep $(((sleep_time+999)/1000)); do
idle=$(DISPLAY=:0 xprintidle)
if [ $idle -gt $IDLE_TIME ]; then
if ! $triggered; then
trigger_cmd
triggered=true
sleep_time=$IDLE_TIME
fi
else
triggered=false
# Give 100 ms buffer to avoid frantic loops shortly before triggers.
sleep_time=$((IDLE_TIME-idle+100))
fi
done
Ben ekran boşta ne kadar süredir kontrol etmek
xprintidle
kullanın.
xbindkeys
parçası, ekrana dokunulduğunda
feh
'u öldürmek içindir. Komut dosyasını manuel olarak başlattığımda, ekrana bir kez dokunarak slayt gösterisini kapatabilir ve verilen boşta kalma süresinden sonra tekrar açılacaktır. Komut dosyasını
init.d
kod dosyasında başlattığımda, slayt gösterisini tekrar açmadan önce ekrana iki kez dokunmalıyım ve ekrana yalnızca bir kez dokunduğunuzda slayt gösterisini tekrar açmayacağım.
init.d
komut dosyası basitçe kullanıcı pi yukarıdaki senaryoyu başlar. görünüşte komut boşta zamanlayıcı başlatmak için bir yerine iki tıklama gerektirecek neden olur açılışta komut başlayan neden
biri bana anlamaya yardımcı olabilir misiniz?
Kaç kullanıcı giriş yaptı? – tijko
sadece pi kullanıcı oturdu – kaascroissant