GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment exécuter le script après la reprise et après le déverrouillage de l'écran ?

Dans Ubuntu 12.04 LTS, je souhaite exécuter des scripts après avoir repris de la suspension et après avoir déverrouillé mon bureau. Ceux-ci doivent être exécutés en tant que mon utilisateur et avoir accès à mon $DISPLAY .

En particulier, je voudrais

  • redémarrer nm-applet pour contourner le bogue 985028
  • afficher une notification personnalisée à l'aide de notify-send
  • peut-être d'autres choses quand je les ferai fonctionner

Quand je reprends, les scripts dans /etc/pm/sleep.d/ sont exécutés, mais ils s'exécutent en tant que root, sans connaître mon écran et mon nom d'utilisateur. Cela pourrait fonctionner si je code en dur mon nom d'utilisateur et export le DISPLAY :0 par défaut dans ces scripts, mais cela ressemble à un piratage très laid.

Scripts dans ~/.config/autostart/xyz.desktop s'exécutent après la connexion, mais ils ne s'exécutent pas après avoir simplement déverrouillé l'écran après la reprise.

Existe-t-il un moyen d'exécuter des scripts après avoir déverrouillé l'écran après une reprise ?

Meilleure réponse

Il semble que vous deviez de toute façon coder en dur le nom d'utilisateur dans la réponse précédente, alors voici un script simple pour /etc/pm/sleep.d si quelqu'un cherche une solution rapide :

#!/bin/bash 
case "$1" in
    hibernate|suspend)
        sudo -u USERNAME env DISPLAY=:0 zenity --info --text "do stuff on suspend"
        ;;
    thaw|resume)
        sudo -u USERNAME env DISPLAY=:0 zenity --info --text "do stuff on resume"
        ;;
esac

Ubuntu
  1. Comment compiler et exécuter le programme C dans Ubuntu

  2. Linux - Comment exécuter un script sur le verrouillage/déverrouillage de l'écran ?

  3. Ssh - Comment exécuter un script immédiatement après la connexion via Ssh ?

  4. Comment exécuter un script shell en arrière-plan ?

  5. Comment exécuter un script ? ?

Comment créer et exécuter un fichier Playbook Ansible

Comment créer et exécuter un script shell dans Debian 10

Comment créer et exécuter un script Shell dans CentOS 8

Comment exécuter un script Python en PHP

Comment exécuter un script bash

Comment créer et exécuter un script shell dans Ubuntu 22.04