crontab을 통해 다른 사용자에게 알림 보내기

crontab을 통해 다른 사용자에게 알림 보내기

crontab에서 실행 중인 스크립트가 있지만 su로서 어떤 시점에서는 통지 전송으로 알림을 보낼 수 있지만 이를 특정 사용자에게 보내고 싶습니다(로그인은 $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이제 3줄의 데이터가 있으므로 추가가 작동합니다 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를 모니터링하기 위한 스크립트.

관련 정보