Rechercher : dans
Par :

Film aléatoire derrière kdm

Dernière réponse le 12 fév 2005 à 12:29:06 tuton, le 12 fév 2005 à 02:00:15 
 Signaler ce message aux modérateurs

Bonjour à tous,
j'ai décidé de me préoccuper de mon gestionnaire de connexion (kdm).... Mais ca marche pas, je m'explique...

je voudrais passer un film derrière la boite de dialogue. Jusque là ça marche en ajoutant au fichier Xsetup la ligne suivante:

mplayer -rootwin -vo xv /monfilm & <\ital>

Et en fait c'est vite chiant d'avoir le même film tout le temps. Me voila donc en train de faire un scripte pour lire un film aléatoirement. J'ajoute ces les lignes suivantes à Xsetup:

#!/bin/sh
#xsetroot -solid black
export DISPLAY="127.0.0.1:0"
nbf=`ls /server/mnt/hde5/film | grep -c avi` (//ça c'est pour le nombre de film au total... Hors scripte..)

alea=$(($RANDOM%$nbf+1))

film=$(ls -l /server/mnt/hde5/film | grep avi | awk '{ print $8 }' | nl | awk "NR==$(echo $alea)" | awk '{ print $2 }')

mplayer -rootwin -vo xv -fs /server/mnt/hde5/film/$film &
<\ital>

Bon et la il n'affiche plus le film derrière la boite de dialogue...
Si je relance Kdm, je me connecte en root sur une console et que j'execute le scripte, il me dis qu'il ne peux se connecter au server X
je posterais juste après la fin du message d'erreur de mplayer
Si quelqu'un à une idée...
enfin bref merci d'avance quoi.

Ps: l'idée un peu bizarre de mettre un film derrière kdm... Faut pas chercher ca me prend des fois...

Meilleures réponses pour « film aléatoire derrière kdm » dans :
Manipulation de données - Réorganisation aléatoire Voir Réorganisation aléatoire L’algorithme random_shuffle est conçu pour redistribuer aléatoirement les éléments d’une séquence. Cet algorithme est fourni sous la forme de deux surcharges déclarées comme suit dans l’en-tête  : template...
Générer des nombres aléatoires efficacement avec rand() Voir Générer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...

1

Xenor, le 12 fév 2005 à 02:21:07


Salut :-)

Déjà je passe refermer ta balise...
Bon, moi je trouve pas du tout que ce soit bizarre, au contraire excellente idée (d'ailleurs je pense m'en inspirer... :-).
Alors, plusieurs choses :
1/ Je connais pas du tout awk donc pour ta ligne qui y fait référence je suis pas trop capable de la comprendre ni te dire si le problème vient de là.
2/ Tu peux commencer par rediriger le stdout de mplayer dans ton script pour savoir ce qu'il te dit. Pour cela remplace la dernière ligne par

mplayer -rootwin -vo xv -fs /server/mnt/hde5/film/$film &> /root/mplayer.log &


3/ Une autre idée, car j'ai déjà fait ce genre de scripts avec mplayer, essaye de remplacer
/server/mnt/hde5/film/$film
par
/server/mnt/hde5/film/"$film"

...car ça peut être ça aussi.

4/ Vérifie le résultat de ton script (à moins que tu en sois sûr) en ajoutant
echo $film > /root/script-test.log
juste avant de balancer mplayer

Voilou, pas de réponse réelle, mais en espérant t'aider dans tes investigations. J'adore ce genre de bidouillage :-) ______________
- X e n o r ---
RTFM rulz !!

Répondre à Xenor

2

jipicy, le 12 fév 2005 à 09:20:58

Salut,

awk '{ print $8 }'
Essaye avec "$9" comme champs :

awk '{ print $9 }'

Dans "ls -l" le nom des fichiers c'est le 9ème champs et non le 8ème !
;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

3

tuton, le 12 fév 2005 à 12:04:01

Merci j'essaye de suite...

Répondre à tuton

4

tuton, le 12 fév 2005 à 12:15:39

En fait la variable film fonctionne j'obtiens bien le nom d'un film

voila la fin du log pour mplayer (avec $9):



============================================================­==============
Trying to force audio codec driver family libmad...
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 16000->192000 (128.0 kbit)
Selected audio codec: [mad] afm:libmad (libMAD MPEG layer 1-2-3)
==========================================================================
vo: couldn't open the X11 display (127.0.0.1:0)!
Error opening/initializing the selected video_out (-vo) device.


Exiting... (End of file)

Répondre à tuton

5

tuton, le 12 fév 2005 à 12:27:23

C'est bon merci pour le $9 en fait j'ai juste retirer la ligne avec " export display..." et ca à marché..
je poste le scripte fini juste après...
Merci beaucoup jipicy et Xenor...

Répondre à tuton

6

 tuton, le 12 fév 2005 à 12:29:06

Voila le scripte fini:

#!/bin/sh
xsetroot -solid black
nbf=`ls /server/mnt/hde5/film | grep -c avi`
alea=$(($RANDOM%$nbf+1))
film=$(ls -l /server/mnt/hde5/film | grep avi | awk '{ print $9 }' | nl | awk "NR==$(echo $alea)" | awk '{ print $2 }')
mplayer -rootwin -vo xv -fs /server/mnt/hde5/film/$film &

Encore merci à tous...

Ps: ajouter au fichier Xstartup en haut la ligne:
kill -9 `ps -ax | grep mplayer | awk '{ print $1}'`
pour fermer le film dès le login.

Répondre à tuton