Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

nombre réponses : 1

#0 Re : -1 »  [RESOLU] Mediacenter SFR Evolution » Le 04/03/2013, à 22: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.