Vous n'êtes pas connecté.
Pages: 1







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 :
#!/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 0Utilisation 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) :
[...]
# 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 :
# 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 :
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)
#sudo update-rc.d -f mdp remove
Si vous désirez par la suite le remettre au démarrage, utilisez la commande inverse :
# 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
. 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 
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 
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)
TOP Hors ligne


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

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







Ju a écrit:
Superbe ! On m'a justement parlé aujourd'hui m^eme d'un projet de ce type
.
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
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 
EDIT pour Ju : http://www.google.com/support/calendar/ … swer=37173
Dernière modification par Mistic Warrior (19/12/07 11:56:20)
TOP Hors ligne

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
Pages: 1