Table des matières
Lancer un programme avec GUI sous Linux avec cron
0 - Problème
Cron est un utilitaire de programmation de tâches automatisées sous Linux. On pourra par exemple redémarrer un serveur tous les 3ème dimanche du mois à 06H01.
Hélas, cron est un peu perdu lorsqu'il s'agit de lancer un programme qui possède une interface graphique (GUI)
1 - Solution
On va dans cet exemple lancer le flux M3U de FIP via VLC tous les lundis à 9H00
Créer un script, par exemple launchFIP.sh
touch ~/launchFIP.sh
Puis éditer ce script, par exemple avec nano
nano ~/launchFIP.sh
Et coller le code suivant. L'important ici est de définir XDG_RUNTIME_DIR, sinon cron est perdu
#!/bin/bash XDG_RUNTIME_DIR=/run/user/1000 vlc http://51.158.104.58/fip-midfi.mp3
Donner les droits d'exécution à ce script
chmod +x ~/launchFIP.sh
Et enfin programmer notre script tous les lundis à 9H00
crontab -e
Ajouter la ligne suivante
00 09 * * 1 ~/launchFIP.sh
Où 00 correspond aux minutes, 09 aux heures, * au jour du mois, * au mois, 1 au deuxième jour de la semaine
Et voilà ! VLC se lancera tous les lundis à 9H00 en jouant FIP :)
