urunnerd is a daemon for executing tasks within a user session, although the task may have been triggered from outside the session. This is useful for displaying user-visible notifications from a cron job (I have this after my backup job) or from SSH, or for any time you want to have a program run with access to all the resources of the user session. You can start it from your desktop environment’s autostart functionality or xinitrc and forget about the daemon.
The daemon looks for task files in ~/.cache/torun, executes them one at a time with sh and deletes the file afterwards. It also comes with a `urunner` script that reads from stdin and creates a unique task file in the current or a specified user’s directory. Creating the files manually works just fine too, and it skips filenames starting with “.” so you can write the task and move it into place when you’re done.
More details are in the README within the source. On the to-do list is looking into using inotify rather than polling, and probably fixing whatever bugs are assuredly there. I’ve been using it ok for a few days now, but it comes with the usual no warranty and may wreck your stuff (seriously). `make install` will drop it into ~/.local/bin by default, or I’ll be committing a GoboLinux recipe tomorrow.
urunner 0.1
Have at it. Bug reports welcome, patches even more so.