aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/trashman/trashman/functions12
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
}