Plurfaza dormo/Adaptiĝo/Komputilaj alarmoj
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
redaktiJen 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)