Solaris 11 x86 禁用 ACPI 电源按钮关闭

Solaris 11 x86 禁用 ACPI 电源按钮关闭

如果 x86 Solaris 系统不在 X11(文本控制台)中,则按下电源按钮后它将关闭。我应该如何禁用它? Oracle 的文档仅说明您可以通过按电源按钮关闭系统电源,但没有说明如何禁用它。

答案1

我找到了解决方案。

原来有一个守护进程叫供电(1M)poll(2)将通过设备监听电源按钮事件/dev/power_button

有趣的是,它还会检查gnome-power-manager进程,如果该进程存在则跳过关闭;这解释了为什么 GNOME(Solaris 11 中的默认桌面)运行时不会发生关闭。参考:https://github.com/illumos/illumos-gate/blob/80148899834a4078a2bd348504aa2d6de9752837/usr/src/cmd/power/powerd.c#L1188

供电(1M)开始于pmconfig(1M)system/power,又由SMF 服务启动;为了解决这个问题,我只是禁用了该服务,一切正常:

svcadm disable system/power

答案2

如果您使用的是 Solaris 10 或 11,则可以通过 完全禁用 ACPI eeprom(8),这是我所知道的唯一方法。手册(在我的 11.4 机器上)说:

   acpi-user-options

       A configuration variable that controls the use of Advanced Configu-
       ration  and  Power  Interface (ACPI), a power management specifica-
       tion. The acceptable values for this variable depend on the release
       of the Solaris operating system you are using.

       For  all  releases  of Solaris 10 and Solaris 11, a value of of 0x0
       means that there will be an attempt to use ACPI if it is  available
       on the system. A value of 0x2 disables the use of ACPI.

相关内容