32 lines
553 B
Bash
Executable File
32 lines
553 B
Bash
Executable File
#!/bin/bash
|
|
|
|
pid=-1
|
|
|
|
# the cleanup function will be the exit point
|
|
cleanup () {
|
|
if [ $pid -ne -1 ]
|
|
then
|
|
kill $pid &>/dev/null
|
|
fi
|
|
|
|
}
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "Usage: pkexec_wrapper.sh <cmd>"
|
|
exit 0
|
|
fi
|
|
|
|
trap cleanup EXIT ERR INT TERM
|
|
|
|
cmd=$1
|
|
|
|
# The fallback agent can only be started when the device /dev/tty
|
|
# is available and usable. If this script is started from the
|
|
# desktop the tty device may not be available.
|
|
if !(test "$(ps -p "$$" -o tty=)" = "?"); then
|
|
pkttyagent -p $(echo $$) --fallback &
|
|
pid=`echo $!`
|
|
fi
|
|
|
|
pkexec "$@"
|