уведомить-отправить другому пользователю через crontab

уведомить-отправить другому пользователю через crontab

У меня есть скрипт, который запускается с помощью crontab, но как su, в какой-то момент возможно, что он отправит уведомление с помощью notify-send, но я хочу, чтобы это было сделано для конкретного пользователя (вход в систему находится в $2, но только один может быть в системе одновременно)

Я попробовал следующие строки, но ничего не получилось ;(

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

Заранее благодарю за помощь!

решение1

Я нашел это, и это отлично работает:

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

решение2

Добавление head -n 1работает, поскольку теперь есть три строки данных из pgrep -u $LOGNAME gnome-session.

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

Я использую это вмой скрипт для мониторинга ZFS и mdamd.

Связанный контент