Tja, geregeld moet je eens je vuilnis buiten zetten, maar het gebeurt af en toe dat je het (bijna) vergeet. Handig zou zijn mocht je dit in je gesofisticeerde GSM stoppen, helaas is dat zo een post waar ik het liefst op bezuinig, en dus heb ik een simpel Nokia-model. Geen sprake dus van herhalende gebeurtenissen, en week per week instellen, tja als je ze vergeet buiten te zetten, zal je ze ook wel vergeten instellen he. Daarom wou ik het wel eens gaan regelen met behulp van libnotify.
Je kan dit systeem ook vanuit de commandline aanspreken met behulp van het commando notify-send, waardoor ik tot het volgende commando kom:
notify-send -u 'critical' -i '/usr/share/icons/Tango/scalable/places/user-trash.svg' 'Donderdag, vuildag!' 'Vergeet uw vuilzakken niet buiten te zetten, he!'
Maar, dat is nog niet voldoende om het te laten werken vanuit een cronjob, want daar heb je geen rechtstreeks toegang tot de X-server. Al snel kwam ik de suggesties met DISPLAY en DEBUS_SESSION_ADDRESS tegen, maar dat hielp niet. Maar op een gegeven moment vond ik een blog waar sudo -u werd gesugereerd, en inderdaad in combinatie met de DISPLAY werkt dit:
export DISPLAY=:0.0; sudo -u kevin notify-send -u 'critical' -i '/usr/share/icons/Tango/scalable/places/user-trash.svg' 'Donderdag, vuildag!' 'Vergeet uw vuilzakken niet buiten te zetten, he!'
Maar, blijkbaar kan het nog korter en mag je dus met omgevingsvariabelen gewoon DISPLAY definiëren en zonder beëindiging van het commando notify starten, en wordt DISPLAY meteen doorgegeven:
DISPLAY=:0.0 sudo -u kevin notify-send -u 'critical' -i '/usr/share/icons/Tango/scalable/places/user-trash.svg' 'Donderdag, vuildag!' 'Vergeet uw vuilzakken niet buiten te zetten, he!'