Pages : 1
#0 Re : -1 » [RESOLU] Mediacenter SFR Evolution » Le 04/03/2013, à 23:03
- laurentsab
- Réponses : 21
Bonjour à tous,
suite à la mise à jour de ma box, je me suis confronté au problème du mediacenter non supporté.Grâce à vous j'ai pu le refaire fonctionner, alors pour apporter ma contribution j'ai fait ce script (soyez indulgent c'est mon premier) qui permet la configuration de base :lancer le serveur, l'arrêter ... et même ajouter des partages ou en supprimer .
En espérant qu'il puisse satisfaire quelqu'un.
En plus je me suis éclaté à l'écrire
#!/bin/bash
if [ $USER == root ]
then echo "ce script ne doit pas être executé en root"
exit
else
rougefonce='\e[0;31m'
vertfonce='\e[0;32m'
vertclair='\e[1;32m'
orange='\e[0;33m'
bleufonce='\e[0;34m'
bleuclair='\e[1;34m'
violetfonce='\e[0;35m'
violetclair='\e[1;35m'
cyanfonce='\e[0;36m'
cyanclair='\e[1;36m'
neutre='\e[0;m'
echo -e "${orange} _________________________ "
echo "| --= MiniDLNA Server =-- |"
echo "|_________________________|"
pid=`pidof -x 'minidlna'`
if [ -z $pid ]
then echo
echo -e "${rougefonce}Le serveur n'est pas lancé"
echo -e "${neutre}"
else echo
echo -e "${vertfonce}Le serveur est démarré. N° de processus" PID $pid
echo -e "${neutre}"
fi
PS3='SFR MediaCenter> ' # le prompt
LISTE=("[1] Partages" "[2] Lancer service" "[3] Actualiser base" "[4] Stop service" "[5] Quitter ") # liste de choix disponibles
select CHOIX in "${LISTE[@]}" ; do
case $REPLY in
1|Partages)
cat /etc/minidlna.conf |egrep -v '^(#|$)'>/home/$USER/mediadir.txt
test=$(cat /home/$USER/mediadir.txt|wc -l)
partage=$((test-9))
echo -e "${bleufonce}" $partage "partage(s)${neutre}"
cat /home/$USER/mediadir.txt|grep media_dir
echo -e "${vertfonce}Ajouter un partage (a) -${rougefonce}Supprimer un partage (s)${neutre} "
read reponse
if [ "$reponse" == "a" ]
then
echo -e "${vertfonce}quel repertoire souhaitez vous ajouter${neutre}"
echo -e "Liste des répertoires disponible indiquez le numéro souhaitez"
ls /home/$USER | grep -v '\..*$' >/home/$USER/mediadir3.txt
sed '/./=' /home/$USER/mediadir3.txt | sed '/./N; s/\n/) /'>/home/$USER/mediadir4.txt
cat /home/$USER/mediadir4.txt
read part
part1=$(sed -n "$part"p /home/$USER/mediadir3.txt)
sed -i "2i\media_dir=/home/$USER/$part1" /home/$USER/mediadir.txt
cat /home/$USER/mediadir.txt|grep media_dir
echo -e "${vertfonce}confirmez vous cette liste (o)ui ?${neutre}"
read reponse
if [ "$reponse" == "o" ]
then
sudo mv /etc/minidlna.conf /etc/minidlna.conf.bak
sudo mv /home/$USER/mediadir.txt /etc/minidlna.conf
echo -e "${vertfonce}ajout validé"
echo -e "Actualisation de la base${neutre}"
sudo /etc/init.d/minidlna force-reload
else
cat /etc/minidlna.conf |egrep -v '^(#|$)'>/home/$USER/mediadir.txt
test=$(cat /home/$USER/mediadir.txt|wc -l)
partage=$((test-9))
echo -e "${bleufonce}"$partage "partage(s)${neutre}"
cat /home/$USER/mediadir.txt|grep media_dir
fi
else
if [ "$reponse" == "s" ]
then
echo -e "${rougefonce}quel partage souhaitez vous supprimer?${neutre}"
echo -e "${bleufonce}"$partage "${rougefonce}partages.Indiquez le n° de ligne que vous souhaitez supprimer${neutre}"
cat /home/$USER/mediadir.txt|grep media_dir>/home/$USER/mediadir2.txt
sed '/./=' /home/$USER/mediadir2.txt | sed '/./N; s/\n/) /'
read sup
LIGNE=$((sup+1))
sed -i "$LIGNE"d /home/$USER/mediadir.txt
cat /home/$USER/mediadir.txt|grep media_dir
echo -e "${rougefonce}Confirmez-vous cette liste (o)ui ?${neutre}"
read reponse
if [ "$reponse" == "o" ]
then
sudo mv /etc/minidlna.conf /etc/minidlna.conf.bak
sudo mv /home/$USER/mediadir.txt /etc/minidlna.conf
echo -e "${rougefonce}Suppression validée"
echo -e "Actualisation de la base${neutre}"
sudo /etc/init.d/minidlna force-reload
else
echo "${rouge}ABANDON${rouge}"
cat /etc/minidlna.conf |egrep -v '^(#|$)'>/home/$USER/mediadir.txt
test=$(cat /home/$USER/mediadir.txt|wc -l)
partage=$((test-9))
echo -e "${bleufonce}"$partage "partage(s)${neutre}"
cat /home/$USER/mediadir.txt|grep media_dir
fi
else echo -e "${bleufonce}saisie non comprise !${neutre}"
fi
fi
;;
2|Start)
pid=`pidof -x 'minidlna'`
if [ -z $pid ]
then sudo minidlna -f /etc/minidlna.conf -R
pid=`pidof -x 'minidlna'`
echo
echo -e "${vertfonce}Le serveur est démarré. N° de processus" PID $pid
echo -e "${neutre}"
else echo
echo -e "${vertfonce}Le serveur est deja démarré. N° de processus" PID $pid
echo -e "${neutre}"
fi
;;
3|Refresh)
pid=`pidof -x 'minidlna'`
if [ -z $pid ]
then echo -e "${rougefonce}Le serveur n'est pas lancé !!!"
echo -e "${neutre}"
echo -e "${orange}Lancement du serveur"
sudo minidlna -f /etc/minidlna.conf -R
pid=`pidof -x 'minidlna'`
echo
echo -e "${vertfonce}Le serveur est démarré. N° de processus" PID $pid
echo -e "${orange}"
sudo /etc/init.d/minidlna force-reload
echo
echo -e "${vertfonce} La base a été réactualisée."
echo -e "${neutre}"
else echo
echo -e "${vertfonce}Le serveur est démarré. N° de processus" PID $pid
echo -e "${orange}"
sudo /etc/init.d/minidlna force-reload
echo
echo -e "${vertfonce} La base a été réactualisée."
echo -e "${neutre}"
fi
;;
4|Stop)
pid=`pidof -x 'minidlna'`
if [ -z $pid ]
then echo -e "${orange}Le serveur n'est pas lancé !!!"
echo -e "${neutre}"
else sudo kill -9 $pid
echo
echo -e "${rougefonce}Le serveur est arrété !!!"
echo -e "${neutre}"
fi
;;
5|quit)
echo -e "nettoyage des temporaires"
if [ -e /home/$USER/mediadir.txt ]
then rm /home/$USER/mediadir.txt
fi
if [ -e /home/$USER/mediadir2.txt ]
then rm /home/$USER/mediadir2.txt
fi
if [ -e /home/$USER/mediadir3.txt ]
then rm /home/$USER/mediadir3.txt
fi
if [ -e /home/$USER/mediadir4.txt ]
then rm /home/$USER/mediadir4.txt
fi
echo "OK"
echo "Bye"
echo -e "${neutre}"
exit
;;
esac
done
fi
Je vous suggère de faire une sauvegarde de votre /etc/minidlna.conf
car le script recrée le sien en effaçant toutes les lignes commentées.
Pages : 1