Saltu al enhavo

Plurfaza dormo/Adaptiĝo/Komputilaj alarmoj

El Vikilibroj

Komputiloj estas probable la plej flekseblaj alarmoj kaj ni rekomendas ke ĉiu havu almenaŭ unu komputilan alarmon. Vi povus uzi aŭ parolilojn aŭ orelparolilojn aŭ eĉ programi la komputilon vibrigi ludmantelilon.

Linukso

[redakti]

Jen simpla skripto kiun mi (Kajaeo) verkis. Ĝi estas por Everyman-3-dormantoj, sed povus taŭgi por ĉiu, kiu volas redakteti ĝin. Por uzi, simple kopiu la tekston kaj alglui en dosieron. Tiam chmod +x tiun dosieron, kaj exec ĝin el la komandlineo. Vi bezonos fari alarmsonon kaj nomi ĝin ~/alarmo.ogg.

#! /bin/bash
# Alarmsoftvaro de Kajaeo

if [[ $1 == "dormeto" ]]; then
    chefDormTemp=1380 # 23 minutoj
elif [[ $1 == "ĉefdormo" ]]; then
    chefDormTemp=12600 # 3 horoj kaj 3 minutoj
else
    echo "Uzo: alarmo 'dormeto/ĉefdormo' 'plua dormo (en minutoj)'"
    exit
fi

if [[ $2 != "" ]]; then
    chefDormTemp=$(( $chefDormTemp + $2*60 ))
fi

ek="$1 at $(date)"
echo "$ek"

sleep $chefDormTemp && mplayer ~/alarmo.ogg

read
echo -e "$ek    ->    $(date)\n" >> ~/plurfazaProtokolo

sleep 300m && notify-send --expire-time=0 "Vi rajtas dormi nun." >/dev/null 2>&1 &


Jen ekzemplo de kontraŭ-zombia skripto kiun mi faris, inspire de Ze el #polyphasers ĉe freenode. Ĝi atendas kelkajn minutojn, kaj se oni dum tiu tempo ne uzis sian komputilon, ĝi ludas la alarmojn. Kiel ekzemplo, en mia alarmrutino, mia ĉefkomputilo ludas alarmon, kaj ankaŭ mia tekokomputileto ludas la saman alarmon. (Notu bone ke por ssh sen enmeti pasvorton, oni devas agordi RSA-ŝlosilojn.) —Kajaeo 02:23, 31 Mar. 2011 (UTC)

Zombioj:

#! /bin/bash
# Antaŭmalhelpi 'neplanitajn' dormetojn

while true; do
    sleep 1m

    if (( $(xidles) > 300 )); then
        # Alarmrutino
        ssh 192.168.0.102 urxvtc -e mplayer /home/kaja/alarmo_senblankabruo.ogg &
        sleep 1m && mplayer ~/alarmo_senblankabruo.ogg 

    fi
done


Ĝi bezonas 'xidles', simpla C-programo:


/* gcc -o xidles xidles.c -lm -lXss */
#include <stdio.h>
#include <X11/extensions/scrnsaver.h>
#include <math.h>

main() {
  XScreenSaverInfo *info = XScreenSaverAllocInfo();
  Display *display = XOpenDisplay(0);

  XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
  printf("%u\n", (int)ceil((float)info->idle/1000));
}


Kaj jen la alarmskripto kiun mi uzas kune kun la skripto, 'zombioj':


#! /bin/bash
# Alarmsoftvaro de Kajaeo

# Kontrolu ĉu mi nun permesiĝas dormeti
if [ -f ~/alarm.lock ]; then
    mplayer ~/ne_rajtas_dormeti.ogg
    exit
else
    touch ~/alarm.lock
fi

# Mortigu la skripton 'zombioj' por ke ĝi ne veku min dum mi dormetas
if [[ $(pgrep zombioj) != "" ]]; then
    killall zombioj
    zombioj_shargita=1
fi

ek="Dormeto je $(date)"
echo "$ek"

# Alarmrutino
ssh 192.168.0.102 urxvtc -e mplayer /home/kiah/alarmo.ogg & sleep 24m && mplayer ~/alarmo_senblankabruo.ogg

# Protokoli la dormeton
read # Dormeto finas kiam mi premas 'Enter'
echo -e "$ek    ->    $(date)\n" >> ~/plurfazaProtokolo

# Reŝutu 'zombioj'n
if [[ $zombioj_shargita == 1 ]]; then
    zombioj >/dev/null 2>&1 &
fi

# Permesu al mi dormeti denove
sleep 40m && rm ~/alarm.lock && notify-send --expire-time=0 "Vi rajtas dormeti nun." >/dev/null 2>&1 &


  • ne_rajtas_dormeti.ogg estas registro de mia voĉo en kiu mi diras "Vi ne rajtas dormi nun." Tio helpas min dum mi estas zombio kaj volas ekdormeti kiam ne rajtas, ĉar ofte kiel zombio mi ne legemas.
  • alarmo.ogg estas 22 minutoj da blanka bruo, 20 sekundoj da silenteco, kaj tiam mia alarmo.
  • alarmo_senblankabruo.ogg estas mia alarmo, sen la blanka bruo.
  • Mia tekokomputilo estas apud mia hamoko kie mi dormas kaj mi uzas orelaŭskultilojn. Mia ĉefkomputilo estas ĉe la alia flanko de mia dormĉambro. —Kajaeo 02:23, 31 Mar. 2011 (UTC)

Vindozo

[redakti]

Makoso

[redakti]

Haikuo

[redakti]