Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/06/2019, à 15:15

nantesweb

Crontab : ouvrir un fichier aléatoirement dans un répertoire

Bonjour,

Je cherche à ouvrir de façon aléatoire des fichiers avec vlc dans des répértoires.

[*]Diapaorama de motivation aléatoire (photos de vacances, objectifs pros et perso...)[/*]
[*]Lecture de playliste aléatoire pour bosser[/*]
[*]Vidéo de motivation aléatoire (entreprenariat, efficacité)[/*]
[*]Vidéo de relaxation[/*]
[*]Vidéo de veille sur différents sujets[/*]

Il me suffirait d'un exemple simple pour pouvoir faire tout ça. Mais est-ce possible sans passer par un script externe appellé par Crontab ? Sachant que je ne suis pas programmeur...

Petite question. Quand on met (script trouvé) :
30 9 * * * vlc /home/pi/Bureau/VIDEOS/opus42.mp4; killall vlc
le killall vlc, ça veut dire qu'à la fin il kill tous les VLC c'est bien ça ?

Merci d'avance pour vos réponses

Hors ligne

#2 Le 25/06/2019, à 15:23

Watael

Re : Crontab : ouvrir un fichier aléatoirement dans un répertoire

salut,

tout cela est quelque peu aléatoire ! smile

il faut être beaucoup plus précis sur les conditions d'exécution d'un tel script.
d'ailleurs, pourquoi crois-tu que crontab peut aider ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 25/06/2019, à 15:43

bruno

Re : Crontab : ouvrir un fichier aléatoirement dans un répertoire

Bonjour,

Pourquoi vouloir passer par un script et une tâche cron alors que la plupart des lecteurs multimédias, comme VLC, gèrent les listes de lecture et ont un mode de lecture aléatoire ?

Hors ligne

#4 Le 25/06/2019, à 16:14

Compte supprimé

Re : Crontab : ouvrir un fichier aléatoirement dans un répertoire

Bonjour,

le killall vlc, ça veut dire qu'à la fin il kill tous les VLC c'est bien ça ?

le man a écrit :

Si aucun nom de signal n'est spécifié, SIGTERM est envoyé.

On demande donc à vlc de bien vouloir terminer son processus .Voir le man de la commande kill pour en savoir plus sur les différant signaux que l'on peut envoyer à un processus . Pour les lister :

kill -l

#5 Le 25/06/2019, à 16:44

nantesweb

Re : Crontab : ouvrir un fichier aléatoirement dans un répertoire

@Bruno : Je veux un "serveur de motivation" qui fonctionne tout seul et envoie des médias différents en fonction de la journée et du jour de la semaine. Je ne veux pas faire d'actions manuelles et tout automatiser via Cron ou éventuellement un script appelé par Crontab

@Watael : dans ce cas, pour démarrer comment faire en sorte qu'à telle heure, genre 9h, il me démarre un playlist d'album aléatoire dans un répertoire dans les quels je les enregistrerais ?

@pseudofab : merci pour l'explication.

Dernière modification par nantesweb (Le 25/06/2019, à 16:45)

Hors ligne

#6 Le 28/06/2019, à 16:58

LeoMajor

Re : Crontab : ouvrir un fichier aléatoirement dans un répertoire

bonjour,

quelques idées en vrac ...

0/

shopt -s globstar nullglob 

1/ fapg: liste de lecture type playlist de  ce que tu veux

fapg --format=m3u -o output.m3u -s < <(shuf -n4 < <(printf "%s\n" ~/Musique/**/*.mp3))
mplayer output.m3u 
idem avec ?cvlc

2/ dans le même genre avec des images

feh -ZF -D 2 -f $(shuf -n10 < <(printf "%s\n" ~/Images/**/*.{jpg,jpeg,png}))

3/ wallpaper &
un truc du genre

gsettings set org.gnome.desktop.background picture-options 'scaled'
gsettings set org.gnome.desktop.background picture-uri "file://$(shuf -n1 < <(printf "%s\n" ~/Images/**))"

4/ si cron

#!/bin/bash
shopt -s globstar nullglob
declare -a aexporter
active_session=$(loginctl --no-pager --no-legend list-sessions | awk  '$2>=1000 {cmd="loginctl -p State -p Type show-session "$1; \
while (cmd|getline tmp)if(tmp~/active|x11/){sess[$1]++}; close(cmd)}; END {for (s in sess)if(sess[s]==2)print s}')

if [ -n "$active_session" ]; then

active_userid=$(loginctl -p User show-session "$active_session" | cut -d= -f2)
active_pid=$(pgrep -u "$active_userid" gnome-session)   # lightdm
#active_pid=$(pgrep -u "$active_userid" gnome-session)   #gdm3 
#active_pid=$(pgrep -u "$active_userid" xfce-session)   #xfce-session ? à vérifier

aexporter=($(awk '/^(DBUS_SESSION_BUS_ADDRESS|DISPLAY|XAUTHORITY)/ ' < <(strings /proc/${active_pid}/environ)))
export "${aexporter[@]}"

<ton code>
</ton code>

else
echo "machine en veille ou ssh ou execution d'application graphique interdite par le contexte ..." 2>/dev/null
fi

shopt -u globstar nullglob

Hors ligne