Can't shutdown by sending a shutdown ACPI signal

I have lots of different virtual machines running under VirtualBox on a Win10 host. All the various machines can be shutdown by sending a shutdown signal from the machine menu (emulating ACPI button press I believe). This includes all my Leap machines which immediately show the shutdown menu in LXDE environment. However my Tumbleweed machine does not respond at all.

I am sure it’s just something missing but am keen to understand why it’s broken. Any ideas on the needed packages or services required to respond to an ACPI shutdown signal?

Thanks.

PS The machine is up to date and been ‘broken’ for months, so it’s unlikely to be a transient update issue.

Explain what exact menu you are invoking. Do not assume everyone immediately understands what “machine menu” is. I just tested sending “ACPI shutdown” to Tumbleweed guest - and it shut down. I do not see “shutdown signal”.

Apologies, yes it is labeled as “ACPI Shutdown” which is under the “Machine” menu. It can also be activated via the close window X at the top right of the running VM, which also fails to do anything in my case.

When I try to close running VM console window, VB crashes after dialog is closed :slight_smile: Even if I just do “Cancel”. It does send (ACPI) shutdown signal if I chose it.

ACPI shutdown should be handled by systemd-logind via power button. Show output of

cat /proc/bus/input/devices
cat /etc/systemd/logind.conf
systemd-inhibit --list | cat
ProgressTM:~ # cat /proc/bus/input/devicesI: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input0
U: Uniq=
H: Handlers=sysrq kbd leds event0 
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7


I: Bus=0011 Vendor=0002 Product=0006 Version=0000
N: Name="ImExPS/2 Generic Explorer Mouse"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input2
U: Uniq=
H: Handlers=mouse0 event1 
B: PROP=1
B: EV=7
B: KEY=1f0000 0 0 0 0
B: REL=143


I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/LNXVIDEO:00/input/input3
U: Uniq=
H: Handlers=kbd event2 
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0


I: Bus=0001 Vendor=80ee Product=cafe Version=0601
N: Name="VirtualBox mouse integration"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:04.0/input/input4
U: Uniq=
H: Handlers=event3 js0 
B: PROP=0
B: EV=b
B: KEY=10000 0 0 0 0
B: ABS=3


I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
U: Uniq=
H: Handlers=kbd event4 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0


I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button"
P: Phys=LNXSLPBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSLPBN:00/input/input6
U: Uniq=
H: Handlers=kbd event5 
B: PROP=0
B: EV=3
B: KEY=4000 0 0


I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input7
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=40001
B: SND=6


ProgressTM:~ # cat /etc/systemd/logind.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it under the
#  terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2.1 of the License, or (at your option)
#  any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the logind.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# Use 'systemd-analyze cat-config systemd/logind.conf' to display the full config.
#
# See logind.conf(5) for details.


[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#UserStopDelaySec=10
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#HandleRebootKey=reboot
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#RebootKeyIgnoreInhibited=no
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RuntimeDirectoryInodesMax=400k
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
ProgressTM:~ # systemd-inhibit --list | cat
WHO                 UID  USER   PID  COMM            WHAT                                                                       WHY                                      MODE
ModemManager        0    root   701  ModemManager    sleep                                                                      ModemManager needs to reset devices      delay
UPower              0    root   1898 upowerd         sleep                                                                      Pause device polling                     delay
xfce4-power-manager 1000 julian 1770 xfce4-power-man handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch xfce4-power-manager handles these events block
xscreensaver        1000 julian 1747 xscreensaver-sy sleep                                                                      lock screen on suspend                   delay


4 inhibitors listed.
ProgressTM:~ # 



xfce4-power-manager takes over handling of power button (it blocks normal systemd-logind reaction). Check its configuration.

What happens if you boot into run level 3 and invoke API Shutdown?

OK, moving to run level 3 allows ACPI shutdown. I’ll have a look at xfce4-power-manager and post back my findings.

Many thanks for all the help.

Interesting.

I open the Power Manager configuration applet (System -> Preferences -> Power Manger)

If I set the “When power button is pressed” option to “Shutdown” an ACPI shutdown signal does indeed shut it down. If I set it to “Ask” then nothing happens when I send an ACPI shutdown signal. I was expecting to see the same dialogue that I get when I go to “Logout” from the start menu but sadly not.

Anyway, it’s set to “Shutdown” now and all is well.