Answers:
传统上,ubuntu支持相当钝的暂停和休眠方法。两者都无法与其他应用程序很好地集成,有时甚至不能在某些计算机上运行。新方法不需要root用户,并通知所有监听电源事件的应用程序。
从Ubuntu 16.04开始,systemctl
必须使用call(请参阅Ubuntu 16.04中的Suspend命令)
systemctl suspend
和
systemctl hibernate
有关使用dbus的信息,请参见Adam Paetznick在本页上的答案。理想情况下,您将创建~/bin/suspend
使此操作易于使用的快捷方式/脚本。
要在ssh上使用,您应该修改Peter V.Mørch概述的policykit规则
根据Ubuntu论坛,您可以使用以下命令:
pmi action suspend
和
pmi action hibernate
这要求您安装电源管理接口软件包(未测试)。
sudo apt-get install powermanagement-interface
我还找到了命令sudo pm-suspend
并sudo pm-hibernate
可以在上网本上工作。
apt-get install powermanagement-interface
运行pmi。
apt-get install powermanagement-interface
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以及包括休眠的版本。
Hibernate
,您只需将最后一行替换为org.freedesktop.UPower.Hibernate
如果您想上床睡觉以收听自己喜欢的广播电台而使计算机在一小时内挂起,请打开终端并输入:
sudo bash -c "sleep 1h; pm-suspend"
您的计算机将在1小时内进入睡眠状态。当您醒来时,它将保留您打开的图像和所有内容。
您可以替换1h
为所需的内容:h
数小时,m
数分钟,s
数秒,d
数天。
晚安!
乌兹别克斯坦共和国电视台无线电广播电台,乌尔夫雷斯市电台和录像带报到:
sudo bash -c "sleep 1h; pm-suspend"
et votre ordinateur s'endormira dans une heure。Quand vous vousréveillerez,il auraconservéenmémoirevos应用程序外包。
Vous pouvez remplacer 1h
par que que vous voulez:h
倒水,m
倒数分钟,s
倒数秒,倒数d
。
邦尼·努特!
您可以在无线电广播,多米尼加共和国的单身电台附近的计算机上查询和下载:
sudo bash -c "sleep 1h; pm-suspend"
和您在Quorármdormida en 1 hora一样。Cuando despiertes,所有的哈布兰·奎达多·阿比尔塔斯·图斯·伊马吉尼斯和托达斯·图斯·科萨斯。
Puedes reemplazar 1h
por lo que des des dees:h
para horas m
,s
para minutos,d
para segundos ,paradías。
Buenas槽口!
对于Ubuntu 12.04 LTS 和Ubuntu 13.04
要进入休眠状态:
sudo pm-hibernate
要暂停:
sudo pm-suspend
您可以使用该文件/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中不再起作用。
/sys/power/state
-thing上添加了一个小解释。此外,dbus方法已从Ubuntu中删除,因此它将不再起作用。
$ sudo echo -n mem > /sys/power/state
-– bash: /sys/power/state: Permission denied
sudo -i
管道,或使用sudo tee
类似的管道:echo mem | sudo tee /sys/power/state
要从命令行(或键盘快捷键)关闭系统(14.04),请使用:
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true
我通过玩gdbus来发现这一点,它可以列出可用的接口:
列出总线上可用的服务:
dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
查找方法:
gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
由于15.04 systemD是标准的初始化系统,因此有一个新命令要使用:
systemctl suspend
systemctl suspend
确实会挂起计算机,但是即使我已选中“设置”->“电源管理器”->“安全性”中的“系统进入睡眠状态时锁定屏幕”复选框,也不会导致屏幕锁定。有人知道为什么吗?
systemctl suspend
仍然挂起计算机。现在,仅当且仅当选中“设置”->“电源管理器”->“安全性”中的“系统进入睡眠状态时锁定屏幕”复选框时,它才会导致屏幕锁定。
亚当·帕兹尼克(Adam Paetznick)的dbus发送答案并未像我所想的那样清晰。即使将gnome-power-manager设置为在唤醒时锁定屏幕,机器也会解锁并自动唤醒。我希望屏幕在唤醒时被锁定,并发现以下操作可以做到:
$ gnome-screensaver-command --lock && pmi action hibernate
我想这不取决于gnome配置,但是我还没有测试过。
xscreensaver-command --lock
视情况而定。
新介面
…适用于15.10 Wily,可能适用于Utopic和Vivid。
dbus-send --print-reply --system \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend boolean:true
有用的是,与pm-suspend
命令不同,它不需要sudo 。
对于那些像我一样仍然在KDE / Ubuntu 14.04系统上工作的人的更新。锁定使用qdbus
,并暂停使用dbus
。完整命令:
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
要休眠,即暂停到硬盘而不是RAM,请在命令末尾将“暂停”替换为“休眠”。
xscreensaver-command -lock
如果仅在屏幕保护程序正在运行的情况下为“ -lock”选项仅键入1个连字符,则仅锁定屏幕而不暂停屏幕将起作用。其实不是一个非常有用的命令。使用起来i3lock
比较容易,但是您将不会像使用时那样获得简洁的登录对话框来重新工作qdbus
。
systemctl suspend