GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie führe ich ein Skript nach dem Fortsetzen und nach dem Entsperren des Bildschirms aus?

In Ubuntu 12.04 LTS möchte ich Skripte ausführen, nachdem ich den Suspend-Modus fortgesetzt und meinen Desktop entsperrt habe. Diese müssen unter meinem Benutzernamen und mit Zugriff auf mein $DISPLAY ausgeführt werden .

Insbesondere möchte ich

  • starte nm-applet neu um Fehler 985028 zu umgehen
  • zeigen Sie eine benutzerdefinierte Benachrichtigung mit notify-send
  • möglicherweise andere Dinge, wenn ich diese zum Laufen bekomme

Wenn ich fortfahre, Skripte in /etc/pm/sleep.d/ werden ausgeführt, aber sie laufen als root, ohne Kenntnis meines Bildschirms und Benutzernamens. Es könnte funktionieren, wenn ich meinen Benutzernamen fest kodiere und export die Voreinstellung DISPLAY :0 in diesen Skripten, aber das fühlt sich wie ein sehr hässlicher Hack an.

Skripte in ~/.config/autostart/xyz.desktop werden nach der Anmeldung ausgeführt, aber sie werden nicht ausgeführt, nachdem lediglich der Bildschirm nach dem Fortsetzen entsperrt wurde.

Gibt es eine Möglichkeit, Skripte auszuführen, nachdem der Bildschirm nach einer Fortsetzung entsperrt wurde?

Beste Antwort

Es sieht so aus, als müssten Sie den Benutzernamen in der vorherigen Antwort sowieso fest codieren, also hier ist ein einfaches Skript für in /etc/pm/sleep.d, falls jemand nach einer schnellen Lösung sucht:

#!/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. Wie man ein C-Programm in Ubuntu kompiliert und ausführt

  2. Linux – Wie führt man ein Skript zum Sperren/Entsperren des Bildschirms aus?

  3. Ssh – Wie führe ich ein Skript sofort nach der Verbindung über SSH aus?

  4. Wie kann man Node.js als Hintergrundprozess ausführen und nie sterben?

  5. Führen Sie das Bash-Skript nach der Anmeldung aus

So erstellen und führen Sie eine Ansible Playbook-Datei aus

So erstellen und führen Sie ein Shell-Skript in Debian 10 aus

So erstellen und führen Sie ein Shell-Skript in CentOS 8 aus

So führen Sie ein Python-Skript in PHP aus

So führen Sie ein Bash-Skript aus

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus