it-swarm.com.de

Wie erstelle ich ein Skript, das mit dem Sperren / Entsperren des Bildschirms interagiert?

Ich brauche ein Skript, wenn ich drücke Ctrl + Alt + L (Bildschirm sperren) Ich habe alle USB-Geräte gesperrt oder heruntergefahren und alle meine Netzwerkschnittstellen wie eth0.

Wenn ich entsperre, sollte alles wieder normal sein. Ich habe es versucht

echo suspend> / sys / bus / usb / devices / usb1 / power / level 

.. aber ich konnte nicht ..

Und auch

dbus-monitor --session "type = 'signal', interface = 'org.gnome.ScreenSaver' 

mit dem bildschirm zu interagieren konnte aber auch nicht.

Gibt es eine bessere Methode? Oder etwas, das ich studieren kann, um dieses Skript zu erstellen?

2
nullXOR

Ausführen von Skripten oder Befehlen bei Änderungen des Sperrstatus

Laut diese Antwort in U & L haben Sie einen veralteten dbus -Befehl ausprobiert. Ab 14.04 können Sie Folgendes verwenden:

dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
  while read X; do
    if [[ "$X" =~ desktop-lock ]]; then
      SCREEN_LOCKED;
    Elif [[ "$X" =~ desktop-unlock ]]; then
      SCREEN_UNLOCKED;
    fi
  done
)

das funktioniert gut auf meinem System (16.04).
(Danke für die Verbesserungen von @Serg und @muru)

Natürlich müssen Sie SCREEN_LOCKED Und SCREEN_UNLOCKED Durch die Befehle oder Skripte ersetzen, die Sie bei Änderungen des Sperrstatus ausführen möchten, aber getestet haben, und es funktioniert einwandfrei.

2
Jacob Vlijm