Benachrichtigung per Crontab an anderen Benutzer senden

Benachrichtigung per Crontab an anderen Benutzer senden

Ich habe ein Skript, das über crontab ausgeführt wird, aber als su ist es irgendwann möglich, dass es eine Benachrichtigung über notify-send sendet, aber ich möchte dies an einen bestimmten Benutzer (Anmeldung ist in $2, aber nur einer kann gleichzeitig angemeldet sein)

Ich habe die folgenden Zeilen ausprobiert, aber nichts funktioniert ;(

export DISPLAY=:0.0

eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";

username=$2
pid=$(pgrep -u $username nautilus)
dbus=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed 's/DBUS_SESSION_BUS_ADDRESS=//' )
export DBUS_SESSION_BUS_ADDRESS=$dbus

Vielen Dank für die Hilfe im Voraus!

Antwort1

Ich habe das hier gefunden und es funktioniert super:

DISPLAY=:0 sudo -u $2 notify-send "$path not found!

Antwort2

Das Hinzufügen head -n 1funktioniert, da jetzt drei Datenzeilen von vorhanden sind pgrep -u $LOGNAME gnome-session.

eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session | head -n 1)/environ)";

Ich verwende es inmein Skript zur Überwachung des ZFS und mdamd.

verwandte Informationen