关机不能断电
时间:2003-10-21
来源:互联网
作者: hj_18 发布时间: 2003-10-21
作者: windrose 发布时间: 2003-10-21
作者: hj_18 发布时间: 2003-10-21
最初由 windrose 发表 因为默认的内核里没有开启apm和acpi的选项。重新编译内核,增加这两个选项即可。 |
#### APM support ###
# APM is a BIOS specification for saving power using several different
# techniques. This is mostly useful for battery powered laptops.
/sbin/modprobe apm
作者: kite 发布时间: 2003-10-21
作者: hj_18 发布时间: 2003-10-22
最初由 kite 发表 不用重新编译内核吧,修改/etc/rc.d/rc.modules,片断如下: #### APM support ### # APM is a BIOS specification for saving power using several different # techniques. This is mostly useful for battery powered laptops. /sbin/modprobe apm |
我确定我已经按你说的修改了/etc/rc.d/rc.modules文件里面的这段!!!
但是还是无法自动断电。(顺便提下,我用的时DELL 2650的的本本)
还有其他可行的方法么?
我现在可不想只因为这个而重新编译内核^_^
谢谢
作者: AJoe 发布时间: 2004-11-11
作者: kite 发布时间: 2004-11-11
好像没用。呵呵。
作者: osfans 发布时间: 2004-11-11
#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
所以都编入内核了,就不需要加module了
作者: dyte100 发布时间: 2004-11-12
若不行可以在lilo里关掉acpi(如果你用lilo的话),改用apm来管理电源,在/etc/lilo.conf开头部分加入:
append="acpi=off"
然后执行lilo -v , 看看没有错误的话,重启系统看看是否可以自动关闭电源。。。
作者: kite 发布时间: 2004-11-12
halt -p
作者: jhuangjiahua 发布时间: 2004-11-12
作者: yangtou 发布时间: 2004-11-12
综合kite的说法,以及自个在google上的搜索。我把自己的理解总结如下:
pc机两种电源管理标准:apm和acpi
一、关于apm 和 acpi的一些概念
1)、apm:Advanced Power Management 是一种基于 bios 的电源管理标准,这种电源管理方式主要由bios实现。
2)、acpi:Advaned Configuration and Power Interface,是为了弥补apm的不足而产生的。它主要将电源管理的主要执行者由bios转换成为操作系统。它有以下几种模式:
S0 正常。
S1 CPU停止工作。
S2 CPU关闭。
S3 除了内存外的部件都停止工作。
S4 内存信息写入硬盘,所有部件停止工作。
S5 关闭
3)、apm 和 apm 的比较:
apm 1.0 & 1.1:由bios执行电源管理;
apm 1.2:由操作系统定义电源管理时间,由bios负责执行;
acpi:bios收集硬件信息,定义电源管理方案;由操作系统负责执行;
apm 是一种软件解决方案,因此与操作系统有关,而acpi是工业标准,包括了软件和硬件方面的规范。
二、Linux 下的apm 和 acpi
针对APM和ACPI两种不同的标准,linux内核提供了两个不同的模块来实现电源管理功能,这就是apm和acpi。需要注意,apm和acpi是互相冲突的两个模块,用户在同一时间内只能加载其中之一,如果当他们在加载的时候发现二者之一已经加载,就会自动退出。
用户态Daemo
为了让linux内核中的电源管理功能够更好的被利用,我们还需要用户态daemon程序的配合。针对APM和ACPI,分别有apmd和acpid两个不同软件。他们实现的功能比较类似,都是允许用户预先定义某些策略,然后跟踪电源状态,执行特定的操作。
参考资料来自:
http://www.cfanclub.net/new_cnxy/200406/040603015.htm
http://www-900.ibm.com/developerWork...er/index.shtml
基于上面的理解,我做了下面的实验:(实验环境太坏了,因为公司的电脑基本都是1999年买的,你可以想像下:( CII400啊 )
1、打开 apm 电源管理模块,我是直接在/etc/rc.d/rc.modules里面打开/sbin/modprobe apm选项的。并且保证/etc/rc.d/rc.apmd可执行。重新启动后会看到
Starting APM daemon : /usr/sbin/apmd
这条启动信息,如果太会可以用dmesg来查看,此时用ps ax 可以看到apmd守护进程。
结果:可以关机,我是在字符下用shutdown -h now关机,X windows 没有试过。
(ps : 我发现我本本上也是同样的配置,我今天翻了下说明书,又上网查了下, 是DELL Inspiron 2650 NG2000T ,2002年出的,P4 1.8G ,我估计对acpi的支持可能没有。这个实验在她下面就是无法通过,shutdown -h now 之后会提示:Power off.必须手动关闭电源:(
2、关于kite说的在lilo.conf 里面关闭acpi的说法,我也试过(因为前面已经可以关机了,我就把apm现禁调的说──肯定不可以的啦,apm都关了你拿什么管理电源_0).我实在不知道在打开apm后在做这个实验可以说明什么,因为都是成功的。
3、osfans 说的 chmod +s /sbin/halt 是不行的。
还有一个问题:dyte100说的的那一段是不是/boot/config这个文件???
我在这个文件里面着到下面这段:
CONFIG_PM=y
CONFIG_APM=m
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set
#
# ACPI Support
#
# CONFIG_ACPI is not set
这一段是不是说明我的内核没有加入对acpi的支持,而且apm需要手工设置才能启用?
作者: AJoe 发布时间: 2004-11-12
# ll config
lrwxrwxrwx 1 root root 20 2004-10-25 00:58 config -> config-generic-2.6.7
# dmesg |grep apm
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
apm: overridden by ACPI.
# dmesg |grep acpi
#
作者: dyte100 发布时间: 2004-11-12
最初由 AJoe 发表 [ 还有一个问题:dyte100说的的那一段是不是/boot/config这个文件??? 我在这个文件里面着到下面这段: CONFIG_PM=y CONFIG_APM=m # CONFIG_APM_IGNORE_USER_SUSPEND is not set # CONFIG_APM_DO_ENABLE is not set # CONFIG_APM_CPU_IDLE is not set # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_RTC_IS_GMT is not set # CONFIG_APM_ALLOW_INTS is not set # CONFIG_APM_REAL_MODE_POWER_OFF is not set # # ACPI Support # # CONFIG_ACPI is not set 这一段是不是说明我的内核没有加入对acpi的支持,而且apm需要手工设置才能启用? [/b] |
作者: kite 发布时间: 2004-11-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28