如何使用命令行暂停或休眠我的笔记本电脑,而无需安装额外的软件?
答案1
传统上,ubuntu 支持一种相当粗暴的挂起和休眠方法。这两种方法都无法与其他应用程序很好地集成,有时甚至在某些机器上不起作用。这种新方法不需要 root 权限,并会通知所有监听电源事件的应用程序。
系统方法
从 Ubuntu 16.04 开始,systemctl
必须使用 call (请参阅Ubuntu 16.04 中的暂停命令)
systemctl suspend
和
systemctl hibernate
新方法(已过时)
大约在 Ubuntu 16.04 中已过时;请使用systemctl
上述方法代替。
请参阅本页上的答案Adam Paetznick 关于 dbus 的使用。理想情况下,您可以创建一个~/bin/suspend
快捷方式/脚本,使此操作更加容易使用。
对于通过 ssh 使用,你应该按照 Peter V. Mørch 的概述修改 policykit 规则
旧方法
根据Ubuntu 论坛您可以使用以下命令:
pmi action suspend
和
pmi action hibernate
这要求您安装 powermanagement-interface 包(未经测试)。
sudo apt-get install powermanagement-interface
sudo pm-suspend
我还找到了可以sudo pm-hibernate
在我的上网本上运行的命令。
答案2
gnome友好的方式是使用dbus。
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
与 相比,此命令有两个优点pm-suspend
。
如果您在 gnome 中选择了该选项,它将锁定您的屏幕(恢复时)。
它不需要 root 权限,因此很容易将其添加为键盘快捷键。
正如在评论中提到的那样,Suspend
在最后一行交换以Hibernate
创建休眠命令:
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Hibernate
如果休眠抛出,Error org.freedesktop.UPower.GeneralError: not authorized
您的用户可能不被允许休眠。编辑或创建/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
,使其包含以下部分:(来源)
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
这是测试UbuntuGnome 14.04。
注意:这基本上与 qbi 的答案相同,但已更新以适用于较新版本的 Ubuntu 以及包括休眠状态。
答案3
如果您希望计算机在一小时后挂起,因为您想上床睡觉并听您最喜欢的广播电台,请打开终端并输入:
sudo bash -c "sleep 1h; pm-suspend"
您的计算机将在 1 小时后进入睡眠状态。当您醒来时,它将保留您打开的图片和所有内容。
您可以替换1h
成您想要的内容:h
小时、m
分钟、s
秒、d
天。
答案4
您可以使用该文件/sys/power/state
来执行此操作。首先找出支持哪些状态:
user@linux:_> cat /sys/power/state
standby mem disk
root@linux:~> echo -n mem > /sys/power/state # suspend to ram
root@linux:~> echo -n disk > /sys/power/state # suspend to disk
或者通过 dbus:
根据这个进入启动板上述界面已被删除。因此它在 Ubuntu 中不再起作用。