dbus-monitor --system --profile interface=org.freedesktop.login1.Session,type=signal,member={Lock,Unlock} |
egrep --line-buffered -o 'Lock|Unlock' |
while read SIGNAL; do
case "${SIGNAL}" in
Lock)
for i in "$(systemd-path user-shared)/watchlock/lock.d/"*; do
"${i}"
done
;;
Unlock)
for i in "$(systemd-path user-shared)/watchlock/unlock.d/"*; do
"${i}"
done
;;
esac
done
このスクリプトを作成しました。通常のユーザーとして実行したいのですがdbus-monitor
、root としてしか機能しません。dbus-monitor
ルートとして実行し、残りのパイプを通常のユーザーとして実行する方法はありますか? sudo
前に追加するdbus-monitor
ことは単なる回避策であるため、オプションではありません。スクリプトをルートとして実行することを意図すると、理由もなく特権が再び昇格します。pkexec
たとえば、polkitも利用したいと思います。ありがとう!