如何跟踪 virtualbox 上的关闭事件工作流程

如何跟踪 virtualbox 上的关闭事件工作流程

你好,我已经debian 9使用 virtualbox 安装了。我定制了支持 ACPI 的内核,如下所示

Power management and ACPI options  --->
    [*] ACPI (Advanced Configuration and Power Interface) Support  --->
        <M>   Button

当我单击带有选项的 virtualbox 窗口的关闭按钮时send the shutdown signal,没有任何反应

我确保内核button模块已插入。

# lsmod | grep button
button                  5539  0

如果我使用 debian 的官方内核Linux debian 4.9.0-1-amd64 #1 SMP Debian 4.9.2-2 (2017-01-12) x86_64 GNU/Linuxsend the shutdown signal选项启动,则一切正常。 systemd 开始关闭就像poweroff命令一样。

我也尝试修改/etc/systemd/logind.conf

HandlePowerKey=ignore

然后重新启动并再次发送关闭信号,正如预期的那样被忽略。

没有acpid运行来处理事件,logind.conf如果我更改它,systemd就会生效,所以现在信号仅由systemd处理。

如何让我的定制识别关机信号? (button现在只编译并加载了模块。)是否需要其他内核选项?

答案1

我现在明白了,在跟踪 systemd 源代码后src/login/logind-button.c 似乎它与/dev/input/

所以我在内核配置中启用它,现在它可以正常关闭。

Device Drivers  --->
    Input device support  --->
         <M>   Event interface

相关内容