Portál AbcLinuxu, 26. dubna 2024 11:34


Dotaz: icewm logout

5.6.2020 17:16 tom
icewm logout
Přečteno: 497×
Odpovědět | Admin
Ahoj,

Pouzivam Devuan s WM icewm.Mam takyto skript, ktorym by som rad zo sedenia odhlasil.>
                                                     
#! /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 $cmd



Avsak 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/shutdown

Nevie mi niekto poradit v com je chyba?

Dakujem
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Pavel 'TIGER' Růžička avatar 5.6.2020 21:29 Pavel 'TIGER' Růžička | skóre: 53
Rozbalit Rozbalit vše Re: icewm logout
Odpovědět | | Sbalit | Link | Blokovat | Admin
Sudoers se upravují pomocí příkazu visudo, kde nakonec souboru se přidá:
#includedir /etc/sudoers.d
user ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff, /sbin/shutdown
Takto mi to funguje.
k3dAR avatar 5.6.2020 23:53 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: icewm logout
Odpovědět | | Sbalit | Link | Blokovat | Admin
nebo muzes bez sudo i reboot a shutdown resit pres dbus :
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
porad nemam telo, ale uz mam hlavu... nobody
7.6.2020 05:50 jejda | skóre: 23 | blog: jejda
Rozbalit Rozbalit vše Re: icewm logout
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten skript se mi zdá celý nějaký divný. Třeba jak tam máš:
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/prefoverride
a tam se ty příkazy nadefinujou
LogoutCommand=""
ShutdownCommand=""
RebootCommand=""
SuspendCommand=""

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.