J'ai écrit un script bash qui surveille la sortie de sensors
et utilise notify-send
pour m'alerter lorsque mon cahier surchauffe.
Je commence le script avec watch -n 15 fullscriptname
et a également ajouté cette ligne à /etc/rc.local
Cela fonctionne comme il se doit lorsque je le lance à partir du terminal et que le processus s'exécute également après le démarrage. Cependant, les notifications ne s'affichent pas. Je suppose que c'est parce que rc.local est exécuté par root.
(J'ai également essayé de l'ajouter aux applications de démarrage via Unity, mais cela ne fonctionne pas non plus).
Donc, mes questions: Y at-il un moyen de démarrer un processus en tant qu’utilisateur? Quel est le bon moyen de lancer automatiquement un tel script (quels fichiers de configuration dois-je utiliser)?
su
pour exécuter une commande en tant qu'utilisateur différent, mais dans votre cas d'utilisation, la réponse de terdon est la solution.Réponses:
Le plus simple serait d'avoir
cron
commencez le. Courircrontab -e
cela devrait ouvrir votre crontab dans votre éditeur par défaut, y ajouter cette ligne, la sauvegarder et la fermer:Une autre option serait d'ajouter
watch -n 15 /path/to/script
à ton~/.Xsession
mais je ne suis pas sûr si Ubuntu le charge toujours.la source
@reboot watch -n 15 /path/to/script 2>/tmp/error
. De cette façon, vous pouvez voir ce qui ne va pas.