fix(power): invoke /usr/bin/doas and /usr/bin/sudo by absolute path in sxmo_power.sh
This commit is contained in:
@@ -77,10 +77,10 @@ run_priv_power() {
|
|||||||
action="$1"
|
action="$1"
|
||||||
method="PowerOff"
|
method="PowerOff"
|
||||||
[ "$action" = "reboot" ] && method="Reboot"
|
[ "$action" = "reboot" ] && method="Reboot"
|
||||||
if doas "/sbin/$action" 2>/dev/null || \
|
if { [ -u /usr/bin/doas ] && /usr/bin/doas "/sbin/$action" 2>/dev/null; } || \
|
||||||
doas "$action" 2>/dev/null || \
|
{ [ -u /usr/bin/doas ] && /usr/bin/doas "$action" 2>/dev/null; } || \
|
||||||
doas /bin/busybox "$action" 2>/dev/null || \
|
{ [ -u /usr/bin/doas ] && /usr/bin/doas /bin/busybox "$action" 2>/dev/null; } || \
|
||||||
sudo -n "/sbin/$action" 2>/dev/null || \
|
{ [ -u /usr/bin/sudo ] && /usr/bin/sudo -n "/sbin/$action" 2>/dev/null; } || \
|
||||||
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.$method" boolean:false >/dev/null 2>&1 || \
|
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.$method" boolean:false >/dev/null 2>&1 || \
|
||||||
loginctl "$action" 2>/dev/null || \
|
loginctl "$action" 2>/dev/null || \
|
||||||
run_polkit_login1 "$method"; then
|
run_polkit_login1 "$method"; then
|
||||||
@@ -93,7 +93,7 @@ case "$1" in
|
|||||||
reboot)
|
reboot)
|
||||||
sync
|
sync
|
||||||
sxmo_hook_power.sh reboot || true
|
sxmo_hook_power.sh reboot || true
|
||||||
(sleep 4; doas /sbin/reboot -f >/dev/null 2>&1 || sudo -n /sbin/reboot -f >/dev/null 2>&1) &
|
(sleep 4; [ -u /usr/bin/doas ] && /usr/bin/doas /sbin/reboot -f >/dev/null 2>&1 || [ -u /usr/bin/sudo ] && /usr/bin/sudo -n /sbin/reboot -f >/dev/null 2>&1) &
|
||||||
if ! run_priv_power reboot; then
|
if ! run_priv_power reboot; then
|
||||||
brightnessctl -d backlight set 180 >/dev/null 2>&1 || true
|
brightnessctl -d backlight set 180 >/dev/null 2>&1 || true
|
||||||
brightnessctl -d white:kbd_backlight set 255 >/dev/null 2>&1 || true
|
brightnessctl -d white:kbd_backlight set 255 >/dev/null 2>&1 || true
|
||||||
@@ -105,7 +105,7 @@ case "$1" in
|
|||||||
poweroff)
|
poweroff)
|
||||||
sync
|
sync
|
||||||
sxmo_hook_power.sh poweroff || true
|
sxmo_hook_power.sh poweroff || true
|
||||||
(sleep 4; doas /sbin/poweroff -f >/dev/null 2>&1 || sudo -n /sbin/poweroff -f >/dev/null 2>&1) &
|
(sleep 4; [ -u /usr/bin/doas ] && /usr/bin/doas /sbin/poweroff -f >/dev/null 2>&1 || [ -u /usr/bin/sudo ] && /usr/bin/sudo -n /sbin/poweroff -f >/dev/null 2>&1) &
|
||||||
if ! run_priv_power poweroff; then
|
if ! run_priv_power poweroff; then
|
||||||
brightnessctl -d backlight set 180 >/dev/null 2>&1 || true
|
brightnessctl -d backlight set 180 >/dev/null 2>&1 || true
|
||||||
brightnessctl -d white:kbd_backlight set 255 >/dev/null 2>&1 || true
|
brightnessctl -d white:kbd_backlight set 255 >/dev/null 2>&1 || true
|
||||||
|
|||||||
Reference in New Issue
Block a user