루트에서 알림 전송을 수행하는 방법은 무엇입니까? [복사]

루트에서 알림 전송을 수행하는 방법은 무엇입니까? [복사]

notify-send루트 권한이 필요한 bash 스크립트를 작성 중인데, GNOME(또는 이 명령을 지원하는 다른 데스크톱 셸)을 통해 루트가 아닌 사용자에게 특정 경고를 알릴 수 있기를 원합니다 . 예상한 대로 notify-send루트 셸에서 호출하면 루트가 아닌 사용자의 데스크톱에 알림이 표시되지 않습니다.

다음을 통해 명령을 호출하려고 합니다.

su -c "notify-send 'my message'" -s /bin/sh someuser

( , 를 사용하는 것도 포함 /bin/bash) /usr/zsh그러나 이것들은 효과가 없습니다.

notify-send(지정된) 루트가 아닌 사용자의 데스크탑에 알림을 표시하도록 루트 쉘에서 이를 호출하려면 어떻게 해야 합니까 ?

답변1

다음과 같이 해야 합니다.

DISPLAY=:0.0 su $USER -c "/usr/bin/notify-send 'my message'"

위 내용은 제가 예전에 사용했던 내용입니다 root. 물론 변수에 실제 사용자를 지정해야 합니다 $USER.

관련 정보