
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 1
funktioniert, 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.