linux下,按 电源键会产生关机消息,接收消息的脚本会调用关机命令关机,与手动输入关机命令,或者使用鼠标点击菜单,对话框关机的过程是完全一样的。
我在win7,winxp下也是,很方便,它们都和菜单,对话框的关机效果一样。
我使用的是ubuntu12.04 server版,系统中电源键关机脚本是
其它linux发行版也差不多,都有自己的处理脚本
/etc/acpi/powerbtn.sh
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
[ -r /usr/share/acpi-support/power-funcs ] &&. /usr/share/acpi-support/power-funcs
# getXuser gets the X user belonging to the display in $displaynum.
# If you want the foreground X user, use getXconsole!
getXuser() {
user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1exit} }'`
if [ x"$user" = x"" ]then
startx=`pgrep -n startx`
if [ x"$startx" != x"" ]then
user=`ps -o user --no-headers $startx`
fi
fi
if [ x"$user" != x"" ]then
userhome=`getent passwd $user | cut -d: -f6`
export XAUTHORITY=$userhome/.Xauthority
else
export XAUTHORITY=""
fi
export XUSER=$user
}
# Skip if we just in the middle of resuming.
test -f /var/lock/acpisleep &&exit 0
# If the current X console user is running a power management daemon that
# handles suspend/resume requests, let them handle policy This is effectively
# the same as 'acpi-support's '/usr/share/acpi-support/policy-funcs' file.
[ -r /usr/share/acpi-support/power-funcs ] &&getXconsole
PMS="gnome-settings-daemon kpowersave xfce4-power-manager"
PMS="$PMS guidance-power-manager.py dalston-power-applet"
if pidof x $PMS >/dev/nullthen
exit
elif test "$XUSER" != "" &&pidof dcopserver >/dev/null &&test -x /usr/bin/dcop &&/usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemonthen
exit
elif test "$XUSER" != "" &&test -x /usr/bin/qdbusthen
kded4pid=$(pgrep -n -u $XUSER kded4)
if test "$kded4pid" != ""then
dbusaddr=$(su - $XUSER -c "grep -z DBUS_SESSION_BUS_ADDRESS /proc/$kded4pid/environ")
if test "$dbusaddr" != "" &&su - $XUSER -c "export $dbusaddrqdbus org.kde.kded" | grep -q powerdevilthen
exit
fi
fi
fi
# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"
所谓的不能直接按电源键关机的说法,是15年前的老电脑,
它们的关机键,就是一个简单的电源开关,与拔电源的效果是一样的,
瞬间断电,
对于现在的电源管理方式,没有权威的人提出这个,没有必要,成为一种固定模式了,
教材也一直沿用以前的说法
1、我们平常熟悉的开关机命令:
shutdown init reboot poweroff
shutdown [参数]
-r --> 重启
-h -->关机
-c --->取消
例 子:
shutdown - h now #马上关机
shutdown - h 20:00 #20点关机
init 0 也是关机
2、linux服务器启动级别
linux的7个启动级别
语法:init 0--6
0 系统停机模式,系统默认运行级 别设置为0 ,机器关闭状态
1 单用户模式,root 权限,用于系统维护,禁示远程登录,
2、多用记模式,不支持网络和NFS网络文件系统。
3、完成的多用户文本模式,支持NFS和网络,并且登入后进入控制台命令行模式。
4、系统示使用,保留一般不用,特殊情况下用。如:快没有电须要 *** 作一下。
5、图形化模式,GUI模式
6、重启模式。
注:centos8 不再使用/etc/inittab 文件进行默认的启动级别配置,而使用比 sysvinit 的运行级更为自
由的 target 替代。 3 运行级用 multi-user.target 替代。 5 运行级用 graphical.target 替代。
systemctl get-default 查看默认级别
systemctl isolate multi-user.target 切换为第三启动级别-字符级别
# systemctl isolate graphical.target 切换为第五启动级别-图形界面
systemctl set-default graphical.target 设置默认为第五启动级别-图形界面
runlevel
#5 3 表示从5到3级别
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)