Pirmdiena, 2006. gada 27. novembris

x-ƒ (x_f)

x-ƒ: Sleep tight, Tiger

2006. gada 27. novembris, 1:29 am, (bez komentāriem..)

Aww.. Esmu iemācījis savam Tīģerim nožāvāties, kad tas aizmieg. Jūtos kā pokémons. :)

(Ņemiet vērā, ka viss turpmāk aprakstītais darbojas tikai uz OS X.) Vairs neatceros, ko toreiz gūglēju, taču kaut kā atradās programmiņa SleepWatcher, kas manā gadījumā gan nožāvina kompi pirms iemigšanas, gan izdara vēl kaut ko, kad tas pamostas. Taču tās iespējas gan ir daudz lielākas. Tā darbojas kā dēmons, tātad visu laiku, un var izpildīt komandas, ja, piemēram, nodziest ekrāns, kompis sāk īdlēt, pēc pamošanās atjaunot sakarus ar serveriem vai vēl ko. Mani pagaidām interesē tikai iemigšana un pamošanās.

Vispirms pastāstīšu par žāvāšanos.

Lai tas viss darbotos, vajag pašu galveno – SleepWatcher, kurai jāuzinstalē gan pats dēmons, gan arī StartupItem. Pēc tam jāsameklē programmiņa, kas var atskaņot media failus no komandrindas (prompt tunes) – play. Kad SleepWatcher uzinstalēta, vajag izveidot failu ar komandām, kura tās nolasīs, kad kompis taisīsies iemigt. Failam jāsaucas .sleep, tam jāatrodas lietotāja ~ un jābūt izpildāmam. Šis te no komandrindas:

$ cd
$ cat > .sleep
/Users/xf/sys-soft/play /Users/xf/media-files/yawn1.wav
<ctrl+c>
$ chmod +x .sleep

Ceļi pie failiem, protams, jānorāda savējie. Nu, un tas arī viss.

Otra puse ir ar pamošanos – čakarēšanās lielāka, taču arī rezultāts interesantāks – uzņemt attēlu ar iSight un nosūtīt to uz serveri. (Tas nav nekas jauns un nebijis, bet šo vismaz taisīju es pats.) o.O

Vajadzīgās programmas – SleepWatcher, isightcapture un vēlams arī CronniX, kas ir GUI interfeiss crontab pārvaldīšanai. Vēl vajadzēs vietu uz kāda webservera, kur likt attēlus. Vispirms jāsameklē isightcapture, kas jānoliek ērti pieejamā vietā. Vēl vajadzīgi skripti, kas nosūta un saņem failu, tos es rakstīju ar PHP. (PHP jau ir uz katra Tīģera, nekas nav jāinstalē.) Nu un tad jāizveido fails .wakeup, līdzīgi kā iepriekš.

$ cd
$ cat > .wakeup
now=`date "+%Y%m%d_%H%M%S"`
/Users/xf/sys-soft/isightcapture /Users/xf/sys-soft/wakeup-pics/pic-$now.jpg
<ctrl+c>
$ chmod +x .wakeup

Kad tas izdarīts, jāatpako zip fails, uz webservera kādā vietā jāizveido mape, jāiemet tajā u.php un jāizveido mape, kurā glabāsies attēli (i – чтобы никто не догадался...), kā arī jāpiešķir rakstīšanas atļauja šajā mapē. Uz lokālā kompja kādā vietā jānoliek fails wakeup-pics-upload.php, tajā jānorāda sava servera adrese, skripta ceļš uz servera un ceļš pie lokālās attēlu mapes, viss vienkārši.

Lai dabūtu attēlu uz servera, es varētu pielikt tā uzbīdīšanas uz servera komandu uzreiz aiz attēla uzņemšanas .wakeup failā, taču es to izvēlējos nedarīt, jo ir liela iespēja, ka tajā brīdī tīkls vēl nemaz nebūs pieejams, līdz ar to nekas nenotiks. Tāpēc par uzlādi atbild cron, kas ik pēc noteikta laika iedarbojas, pārbauda, vai nav kas uzliekams uz servera, un, ja vajag, tad to izdara. Es gan tikai teorētiski zinu, kā tas būtu jānorāda manā cron failā (vi / vim mani biedē), tāpēc arī noder CronniX, kur to var izdarīt, nelienot komandrindā. Šeit ir attēls, kā tas izskatās man – 0 minūtēs katru ceturto stundu (*/4) katru mēneša dienu, katru mēnesi, katru nedēļas dienu.

Nu un visā visumā tas arī viss – pēc pamošanās tiek iemūžināts pirmais pamanītais objekts, pēc grafika tiek pārbaudīts, kāda ir pēdējā bilde uz servera, ja ir kaut kas out-of-sync, tiek uzmestas trūkstošās bildes. Pīs of keik. Var to arī pielikt pie StartupItems. Es zinu, ka to varēja labāk, un K vispār teiks, ka, ja bez curl, tad bērnībā esmu kādam izkritis no rokām uz galvas, taču man strādā, ja! Tas viss vispār ir tikai tāpēc, ka to var.