Usar el Cron de UNIX com a despertador

Foto: cafe-xra-dos.

Foto: cafe-xra-dos.

Aquesta és una entrada convidada d’en Ferran Recio que he inclòs donada l’alt contingut friki i la seva aplicabilitat també en Leopard.

Link a l’entrada original:

Usar el cron de GNU-Linux com a despertador

NOTA: aquest article parla de com fer una frikada amb GNU-Linux… a vegades passa.

És curiós com el cos es torna tolerant al so del despertador. Per solucionar-ho, sempre he pensat que el millor és un despertador amb música que es pugui canviar sovint.

Suposo que aquest és el motiu de l’existència dels ràdio-despertadors. Per desgràcia, no m’agrada despertar-me amb un desconegut que parli, jo vull música. A més, els meus gustos musicals divergeixen força del que es sol sentir a les emissores convencionals.

Així, fa uns mesos vaig començar a mirar si existia algun tipus de despertador amb MP3. I d’existir, existeixen, però a un preu força més elevat del que m’esperava. Així que, aprofitant que dormo al mateix… habitacle… que un ordinador encès amb GNU-Linux i baixant coses de l’aMule tota la nit, vaig pensat que bé podria servir-me de despertador.

Tot buscant vaig arribar a una pàgina amb un tutorial. A continuació explico com m’ho he fet.

Alguns prerequisits

Abans de començar és necessari disposar d’un ordinador amb GNU-Linux instal·lat i amb altaveus. A més, cal instal·lar el reproductor “mplayer”, el paquet té el mateix nom (consulteu la pàgina del tutorial per a més informació).

A més, crearem un directori dins del nostre home on posarem els MP3. Per exemple, “alarma”.

No cal dir que cal saber obrir un terminal i editar un arxiu de text.

Les comanades

Per al despertador farem servir una sèrie de comandes. A grans trets volem:

  • Crear una llista de reproducció a partir dels arxius MP3 d’un directori.
  • Obrir un terminal nou on s’executi un Mplayer que reprodueixi la llista de reproducció del pas anterior.
  • Tancar el programa Mplayer. Aquesta la farem servir per forçar un tancat del reproductor en cas que ens oblidem de tancar-lo (perquè no es passi el dia sonant).

Per fer-ho fàcil, les dues primeres comandes les posarem en un arxsiu “.sh” anomenat “alarm.sh”. I quedarà:

#!/bin/sh

find /home/elteuusuari/alarma -iname "*.mp3" -o -iname "*.ogg" > /home/elteuusuari/alarma/.playlist

/usr/bin/X11/xterm -display :0 -bg black -fg white -e mplayer -shuffle -playlist /home/elteuusuari/alarma/.playlist

Ja sé que la segona comanda és molt estranya, però és com funciona quan l’ha d’executar el cron.

Per a la última comanda (matar el mplayer), farem servir

pkill mplayer

Que bàsicament mata el primer procés anomenat mplayer que trobi.

Configurar el cron

En el meu cas, volia que el despertador sonés només els dies laborables a les 7:10 del matí tots els mesos de l’any i que parés a les 8:40. Per tant, executant la comanda

crontab -e

És possible editar les instruccions que s’executaran de forma programada. Un cop fetes les modificacions corresponents, l’arxiu crontab resultant és:

# m h  dom mon dow   command
10 07 * * 1-5 /home/elteuusuari/alarm.sh
45 08 * * 1-5 pkill mplayer

On la primera línia s’encarrega d’executar l’script “alarm.sh” i la segona d’aturar l’Mplayer. Anem a veure què volen dir els nombres del començament de cadascuna de les línies (les identifico segons la llegenda de la línia que comença amb #):

  • Primera partícula (m): identifica el minut. En el meu cas el primer s’executa a i 10 i el segon a tres quarts.
  • Segona partícula (h): representa l’hora. Si volgués que s’executés a cada hora, posaria un *
  • Tercera partícula (dom): acrònim de “Day Of Mont”. Pot rebre valors de l’1 al 31 o bé un *
  • Quarta partícula (mon): és el mes. En el meu cas, no n’especifico cap, però seria un número de l’1 al 12, o el nom del mes en anglès.
  • Cinquena partícula (dow): acrònim de “Day Of Week”. On 1 representa el dilluns i 7 el diumenge. I crec que tant el 0 com el 7 són diumenge. També és possible especificar el nom curt en anglès (per exemple, “sun” per sunday). En el meu cas volia només de dilluns a divendres, així que he posat 1-5.
  • Última partícula (command): és la comanda pròpiament dita.

I ja està. En realitat és força simple. Ara només cal regular bé el volum i posar MP3 dins el directori “alarma” (també pot reproduir OGGs).

By Ferran Recio.

7 Comentaris

  1. @ludo, aquesta entrada es la clasica q encara hem desordena mes les ideas sobre el linux, i hem fa creure q per molt bo q sigui aquest sistema mai triunfara dins la plebe (aqui i soc jo) q nomes volem fer clics amb el ratoli.
    i per altre banda amb els horaris q sona el despertador, tota aquesta estona estas a casa pel matí, i si apagues a les 8,45 el despertador es q surts a aquella hora de casa, o fas teletraball o entres molt tard a la feina… jo prefereixo entrar d’hora, passo de dinar pero a les 6 a casa.

  2. @dani Jo faig servir l’iPhone com a despertador ;-)

  3. @dani I fixa’t que això també es pot fer en Leopard. Les interficies grafiques de ratoli (cocoa i carbon en OSX) necessiten de l’existencia d’aquests fitxers infectes escampats per la part de disc que habitualment OSX ens manté oculta.
    L’entrada, tot i que en ferran parli de GNU/linux va sobre UNIX… que es troba sota el capó de Linux i OSX ( que de fet és NetBSD i també es programari lliure )

  4. @ludo, amb tanta paraula tecnica tu gaunyes, pero jo seguire pagant per no tenir q veure ni un segon terminals oberts plens de codi, jo el parell de cops q he fet servir l’automator ja m’ha agafat esgarrifança, per aixo tinc un mac, ni tan sols vull saber si un prgrama s’instala al programm files folder ni res d’axio tan sols vull q com per art de magia s’instali sense preguntes i funcioni cada cop q l’executo…

    jo tb tinc el iphone com a despertador, pero sempra va tard cinc minuts mes o menys, q es el temps en q s’avança el meu gos en despertar-me, per sort ara ja sense llepades, nomes “esgarrapant” suament la ma

  5. @dani jo muntava linux el 1996 quan no el coneixia ni deu, i havia de fer coses com tocar el codi en C dels drivers de la tarja de xarxa i recompilar el kernel (pels que en sapiguen no existia encara el insmod)… pocs anys despres vaig jurar no tornar-hi mai més.
    vaig subsistir en windows un temps i ara soc feliç en MacOs i quan algo es massa tecnic li faig fer a en Pigui ;-) Ara em preocupo de coses com el garageband, el keynote i el nou Imovie del ilife … yummie! :D

  6. @Ludo, t’ha molat la foto del Thumbnail? :)

  7. @m’encanta!!! estic per seguir sense posar els thumbnails i deixar-te la oportunitat de ser creatiu ;-) ))

Leave a Reply

L'adreça electrònica no es publicarà Els camps necessaris estan marcats amb *

*

Podeu fer servir aquestes etiquetes i atributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>