Annonces


#1 14/12/07 00:37:30

Mistic Warrior
CtrlAltUser Actif
Lieu: Suisse
OS: Linux [autre]
Date d'inscription: 31/05/04
Messages: 711
Envoyer un MP

  Email  Site web

[Howto] Linux (ubuntu): Utiliser son ordinateur comme réveil

Bonjour à tous, j'ai fait un petit script pour moi-même, et je me suis dit que j'allais le partager, au cas ou cela pouvait intéresser quelqu'un. Je sais qu'il est simple, mais j'ai eu quelques soucis quand-même, alors je poste !

Alors voici la situation :

Je désirais que mon ordinateur joue de la musique au démarrage, dans le cas où il se démarrait un jour de semaine et entre 0600 et 0620 environs. Ceci afin de l'utiliser comme réveil. L'ordinateur devait alors, si possible, s'éteindre après une quinzaine de minutes, ainsi je ne m'en occuperais pas le matin.

J'ai donc fait différents tests, et suis parvenu au script suivant :

Code:

#!/bin/sh
## Script to play music at bootup in the morning.
## Note that the script does not start the computer at all !

    ## We want to use the hour and the day, respectively the 4th and the 1st argument returned by "date"
    hour=`date | awk '{print $4}'`
    day=`date | awk '{print $1}'`
    
    case $hour in
    ## We want the script to play music if (and only if) the computer is booting up between
    ## 06:00 and 06:19
    06:[0-1]?:?? )

        ## I personnally do not wake up so early during the week-end :-)
        if [ "$day" = "Sat" -o "$day" = "Sun" ];
        then
            echo "Week-end !"
        else

            ## Choice of the default soundcard (uncomment it if you have multiple soundcards).
            ## ==> not necessary with mpd !
            #/usr/bin/asoundconf set-default-card Intel &

            ## Command to start mplayer
            # mplayer -playlist <playlist> & ## where <playlist> is the url of the playlist file

            ## Command to start mpd
            mpd &
            mpc play &

            ## Shutdown after 15 minutes (optionnal)
            sudo shutdown -h 15 &
        fi
        ;;
    *) ## If it's not the good time
        echo "Not a time to wake up ! ;-)"
        ;;
        esac
exit 0

Utilisation du script :

Il suffit simplement d'enregistrer un fichier contenant ce script, où vous voulez (je l'ai mis dans /home). Ensuite, vous pouvez ajouter dans /etc/init.d/bootmisc.sh la ligne suivante (en gras) :

Code:

[...]

# Set pseudo-terminal access permissions.
    if [ ! -e /dev/.devfsd ] && [ -c /dev/ttyp0 ]
    then
        chmod -f 666 /dev/tty[p-za-e][0-9a-f]
        chown -f root:tty /dev/tty[p-za-e][0-9a-f]
    fi

    # Update motd
    uname -snrvm > /var/run/motd
    [ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd

    [b]# Play music on bootup !
    <PATH>/<music_bootup_script>[/b] ## the url of the script launching the music player

    # Save kernel messages in /var/log/dmesg
    if which dmesg >/dev/null 2>&1
    then
        savelog -q -p -c 5 /var/log/dmesg
        dmesg -s 524288 > /var/log/dmesg
        chgrp adm /var/log/dmesg || :
    elif [ -c /dev/klog ]
    then
        savelog -q -p -c 5 /var/log/dmesg
        dd if=/dev/klog of=/var/log/dmesg &
        sleep 1
        kill $!
        [ -f /var/log/dmesg ] && { chgrp adm /var/log/dmesg || : ; }
    fi

[...]

Et voilà, dans le fichier bootmisc.sh, le script se lancera à chaque démarrage, et jouera votre musique si l'heure et le jour correspondent au moment que vous avez choisi !

Note : Vous pourriez également faire démarrer le script par lui-même au démarrage sans passer par le bootmisc.sh. Dans ce cas enregistrez le script dans /etc/init.d/ puis lancez la commande suivante :

Code:

# update-rc.d <nom_du_script> defaults 20

Source pour la commande update-rc.d : http://www.andesi.org/index.php?node=28 (quelques informations utiles s'y trouvent (en français).

Utilisation avec mplayer :

Si vous désirez utiliser ce script avec mplayer, il est déjà prévu pour utiliser une playlist (éditez le code si vous ne désirez pas cela). Pour créer une playlist, vous pouvez simplement utiliser la commande suivante :

Code:

find /home/ -name "*.mp3" -print > playlist.txt
## ici on ajoute à la playlist tous les fichiers .mp3 du dossier /home, 
## en créant la playlist nommée "playlist.txt".
## A adapter selon vos besoins

Source pour cette commande : http://grimthing.com/archives/2003/12/0 … -playlist/ (en anglais)

Utilisation avec Music Player Daemon :

Une fois installé et configuré (j'éditerai peut-être ce post plus tard pour expliquer cela), il vous suffit de créer une playlist avec un client mpd quelconque. Puis au démarrage, mpd jouera la dernière chanson de la dernière playlist en cours et continuera ensuite dans cette playlist.

J'ai eu personnellement un petit problème : MPD se démarrait par défaut au démarrage. Et je ne voulais pas cela. J'ai donc utilisé la commande suivante (qui n'efface rien, elle empêche simplement le daemon mpd de se lancer au démarrage)

Code:

#sudo update-rc.d -f mdp remove

Si vous désirez par la suite le remettre au démarrage, utilisez la commande inverse :

Code:

# update-rc.d mdp defaults 20

Souci de langage au niveau de la date

Ce qui m'a donné le plus de fil à retordre : la date. En effet dans mon shell une fois l'ordinateur démarré et moi loggué, la commande #date me retourne la date en français. Alors qu'avant d'être loggué, cette même fonction retourne la date en anglais. Donc "dimanche" devenant "Sun" et le {print $5} (en français) devenant {print $4}.

Je pense qu'il est préférable de tester d'abord en anglais, mais si cela ne marche pas, essayez d'ajouter au début du script la ligne "date". Puis au démarrage, une fois sur le panneau de login de kdm (/gdm), tapez "Ctrl + Alt + F8" (je ne connais pas le nom de cet écran biggrin. Si quelqu'un pouvait me dire...) et regardez dans quel format la date s'est affichée !

Petit mot au niveau du Shutdown

Utiliser la commande "sudo shutdown -h 15 &" vous empêche de vous logguer en tty avant le shutdown (mais la musique fonctionne !). Je n'ai pas tester le login en graphique, à voir... Mais ce n'est pas important, car si on utilise le shutdown c'est justement pour ne pas avoir à toucher l'ordinateur le matin tongue

Et pour démarrer l'ordinateur alors ?

Le point dont j'avais brièvement parlé plus haut : le script ne démarre pas l'ordinateur. Alors à ce niveau-là à vous de trouver votre solution. Je ne voulais personnellement pas laisser mon ordinateur en "stand-by" toute la nuit et utiliser par exemple le Wake-on-lan...

Et d'ailleurs, pour accéder à mon ordinateur à distance (puisque je ne le laisse pas tout le temps allumé, pour des questions énergétiques et écologiques), j'ai fait un petit système avec un vieux téléphone mobile : lorsque le téléphone sonne, le vibreur envoie du courant et un opto-coupleur placé en parallèle au powerbutton démarre l'ordinateur. J'avais tout d'abord pensé à mettre le réveil sur le portable (puisque le réveil utilise le vibreur et envoie donc le courant dans mon circuit). Seulement le réveil sonne longtemps si on ne l'arrête pas (c'est ce qu'on lui demande au fond). Donc j'ai opté pour mon ami google agenda : Il envoie un sms sur le portable qui vibre et démarre l'ordinateur.

Ceci est ma solution, n'hésitez pas à expliquer la vôtre wink


Voilà, je suis ouvert pour tout commentaire/suggestion. C'est la première fois que je poste un "HowTo", alors j'espère que ça correspond aux normes...

Salutations

Dernière modification par Mistic Warrior (14/12/07 10:32:49)


In a world without wall nor fences, who needs Windows and Gates ?

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#2 18/12/07 21:54:49

Ju
ju@jabber.cc
Equipe Admin
Lieu: Boston, Texas
OS: Linux Debian
Date d'inscription: 26/01/04
Messages: 5891
Envoyer un MP

  Email  Site web

Re: [Howto] Linux (ubuntu): Utiliser son ordinateur comme réveil

Superbe ! On m'a justement parlé aujourd'hui m^eme d'un projet de ce type smile.
J'aime bcp l'astuce du vibreur et du SMS, osé. Rien à voir, mais Google envoi des SMS d'alerte gratuitement ?



TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#3 18/12/07 22:30:27

mika
Modérateur Hardware
Lieu: Lyon
OS: Windows [autre]
Date d'inscription: 01/12/04
Messages: 3909
Envoyer un MP

  Email  Site web

Re: [Howto] Linux (ubuntu): Utiliser son ordinateur comme réveil

Pas besoin de script pour ma part, ma CM le fait elle même ^^. Ceci dit jamais réussis à vraiment le faire marcher tongue

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#4 19/12/07 11:52:29

Mistic Warrior
CtrlAltUser Actif
Lieu: Suisse
OS: Linux [autre]
Date d'inscription: 31/05/04
Messages: 711
Envoyer un MP

  Email  Site web

Re: [Howto] Linux (ubuntu): Utiliser son ordinateur comme réveil

Ju a écrit:

Superbe ! On m'a justement parlé aujourd'hui m^eme d'un projet de ce type smile.
J'aime bcp l'astuce du vibreur et du SMS, osé. Rien à voir, mais Google envoi des SMS d'alerte gratuitement ?

Ouais... en tous cas ça ne m'a personnellement jamais rien débité sur la carte utilisée.

mika a écrit:

Pas besoin de script pour ma part, ma CM le fait elle même ^^. Ceci dit jamais réussis à vraiment le faire marcher  tongue

Je crois plutôt que la CM démarre l'ordinateur non ? Y'a aussi des systèmes de Wake-on-lan justement. Mais le script en lui-même sert à jouer de la musique au démarrage si l'heure et le jour correspondent aux valeurs désirées. Et je crois pas que la CM fasse ça... si ???

Salutations wink

EDIT pour Ju : http://www.google.com/support/calendar/ … swer=37173

Dernière modification par Mistic Warrior (19/12/07 11:56:20)


In a world without wall nor fences, who needs Windows and Gates ?

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation

#5 19/12/07 12:07:58

mika
Modérateur Hardware
Lieu: Lyon
OS: Windows [autre]
Date d'inscription: 01/12/04
Messages: 3909
Envoyer un MP

  Email  Site web

Re: [Howto] Linux (ubuntu): Utiliser son ordinateur comme réveil

Mistic Warrior a écrit:

Je crois plutôt que la CM démarre l'ordinateur non ? Y'a aussi des systèmes de Wake-on-lan justement. Mais le script en lui-même sert à jouer de la musique au démarrage si l'heure et le jour correspondent aux valeurs désirées. Et je crois pas que la CM fasse ça... si ???

1/ Oui
2/ Non ^^

TOP Hors ligne

  • Signaler
  • Citer
  • Ajouter à la citation
Actuellement aucun autre membre et 1 invité sur ce topic
Membres : [S'enregistrer]

Pied de page du Forum

Pub hébergeur :


CtrlAltSuppr.com, forums officiels de JSAND partagés avec Geek&Hype

Powered by PunCAS (JSAND) based on PunBB
© Copyright 2002–2005 Rickard Andersson