web-dev-qa-db-fra.com

L'application à redémarrer après la suspension | hibernate - définie dans Upstart?

Je veux qu'une application redémarre (XBMC, mais j'ai échoué avec Firefox et Krusader qui le font aussi), après que le PC sort de la suspension ou de l'hibernation. Je veux écrire un script qui s'exécute dans les mêmes conditions et vérifie le réseau auquel je suis connecté et que j'exécute (monter mon NFS)
J'ai essayé avec

Sudo touch /etc/pm/sleep.d/99_RestartXBMC
Sudo chmod a+x /etc/pm/sleep.d/99_RestartXBMC
Sudo nano /etc/pm/sleep.d/99_RestartXBMC

et

#!/bin/bash
case "$1" in
    thaw)
       killall -9 xbmc.bin ;;
       sleep 5 ;;
       /usr/bin/xbmc ;;
    *)
        ;;
esac
exit $?

Mais XBMC ne démarre pas (Firefox et Krusader aussi)
Donc, je veux définir un script upstart, qui s'exécutera après la reprise du système (à partir de la mise en veille prolongée ou du sommeil) Je veux être quelque chose comme

start on xxxxx (xxx should be start from hibernate or sleep)

Ne faites pas s'il est possible de faire quelque chose comme ça, et si oui, comment définir correctement la condition xxxxx

start on system resume ????
start on system thaw ???
3
deckoff

Ma connaissance d'Upstart est limitée mais selon la FAQ Upstart vous devez vous fier à gnome-powermanager émettant un événement sur lequel Upstart peut agir.

Je ne sais pas si gnome-pm utilise actuellement libupstart mais je suis sûr que cela pourrait être fait en ajoutant un événement emstart emit aux scripts sleep.d auxquels Upstart réagirait.

En fait, je me demande si vos problèmes de reprise de script sleep.d sont liés à l'exécution en tant que root au lieu d'utilisateur, cela affectera également pstart . Vous pouvez vérifier pm-suspend.log avec Visionneuse de fichier journal pour les erreurs .

2
Cas