Portál AbcLinuxu, 8. května 2025 06:47
#! /bin/bash # Shutdown menu action=$(yad \ --width 290 \ --entry \ --title "Exit" \ --window-icon "system-shutdown" \ --center \ --button="gtk-close:1" \ --button="_Switch User:2" \ --button="gtk-ok:0" \ --text " Choose action:" \ --entry-text \ "Logout" "Reboot" "Power Off" "Suspend" "Hibernate" "Restart IceWM") ret=$? [[ $ret -eq 1 ]] && exit 0 if [[ $ret -eq 2 ]]; then gdmflexiserver & exit 0 fi case $action in Logout*) case $(wmctrl -m | grep Name) in *IceWM*) cmd="pkill -u $USER" ;; *Openbox*) cmd="openbox --exit" ;; *FVWM*) cmd="FvwmCommand Quit" ;; *Metacity*) cmd="gnome-save-session --kill" ;; *) exit 1 ;; esac ;; Reboot*) cmd= "sudo reboot" ;; Power*) cmd= "sudo poweroff" ;; Suspend*) cmd="dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.U$ Hibernate*) cmd="dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop$ Restart*) cmd="killall -SIGHUP icewm" ;; *) exit 1 ;; esac eval exec $cmdAvsak Logout,Shutdown a Reboot nefunguje.Zrejme to ma nieco s povolenim spusteniu tychto prikazov. V /etc/sudoers.d mam subor local s tymto obsahom>
ALL ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff, /sbin/shutdownNevie mi niekto poradit v com je chyba? Dakujem
#includedir /etc/sudoers.d user ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff, /sbin/shutdownTakto mi to funguje.
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true
Reboot*) cmd= "sudo reboot" ;;ta mezera mezi rovnítkem a uvozovkou by neměla byt. Nebo na řádku kde je:
Suspend*) cmd="dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.U$jsou tři uvozovky, buď jedna chybí nebo jedna přebývá. Nevím jak ten příkaz má vypadat, ale ta proměnná cmd se takto nejspíš nastaví špatně. Normálně se to u icewm dělá tak, že se vytvoří soubor
$HOME/.icewm/prefoverridea tam se ty příkazy nadefinujou
LogoutCommand="" ShutdownCommand="" RebootCommand="" SuspendCommand=""
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.