diff options
Diffstat (limited to 'share')
-rw-r--r-- | share/trashman/trashman/functions | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/share/trashman/trashman/functions b/share/trashman/trashman/functions index 61102e9..48700cd 100644 --- a/share/trashman/trashman/functions +++ b/share/trashman/trashman/functions @@ -203,6 +203,7 @@ trashman_check_exit_status() { # Check for superuser privileges trashman_check_root() { local action="$1" + local package="$2" if [ -z "$action" ]; then return @@ -213,8 +214,15 @@ trashman_check_root() { fi if [ "`whoami`" != "root" ]; then - trashman_echo "Action $action requires root privileges" - exit 1 + if which sudo &> /dev/null; then + # Try to invoke it with sudo + trashman_echo "You're running as a regular user, trying to re-invoke the command using sudo..." + sudo $PROGRAM $action $package + exit $? + else + trashman_echo "Action $action requires root privileges" + exit 1 + fi fi } |