DISPLAY=:0
Als je elke ochtend om half acht je computer een muzieklijst wil laten afspelen kun je in je lokale crontab de volgende regel opnemen
30 7 * * * /home/mogenblue/Muziek/cronjob-muziek.sh
In het script cronjob-muziek.sh zet je dan bijvoorbeeld de volgende code:
Code: Selecteer alles
#!/bin/bash
# automatisch muziek afspelen vanuit een cronjob
# in crontab:
# 30 7 * * * /home/mogenblue/Muziek/cronjob-muziek.sh
Afspeellijst="/home/mogenblue/Muziek/wakker-worden.m3u"
# check display ID met
# echo $DISPLAY
#------------------------------------------------------------------------
echo .
echo .
echo .
echo .
# specificeer de display als het script vanuit een cronjob wordt gestart
DISPLAY=:0 smplayer "$Afspeellijst"
echo .
echo klaar.
Voor mogenblue moet je natuurlijk je eigen username gebruiken. En in plaats van wakker-worden.m3u gebruik je je eigen afspeellijst.
Let er wel op dat je het volledige pad opneemt naar de afspeellijst anders kan de media speler het bestand niet vinden.
Meestal is de displayid 0 maar het kan ook wel eens anders zijn. Je kunt je eigen display controleren in een terminal met
echo $DISPLAY
Als het afspelen voltooid is blijft de speler gewoon open staan op het scherm.
Referenties:
How to start a GUI application from cron?