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
.