如果 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.