
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를 모니터링하기 위한 스크립트.