#1 楼
传统上,ubuntu支持相当钝的暂停和休眠方法。两者都无法与其他应用程序很好地集成,有时甚至不能在某些计算机上运行。此新方法不需要root用户,并且会通知所有应用程序以监听电源事件。系统方法
从Ubuntu 16.04开始,必须使用
systemctl
调用(请参见Ubuntu 16.04中的Suspend命令)systemctl suspend
和
systemctl hibernate
新方法(已过时)
大约在Ubuntu 16.04之前已过时;如上所述,请改用
systemctl
。有关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
。评论
pm-suspend和pm-hibernate对我有用,这很容易。需要sudo,但是可以。 (以前发现过pmi想法,但是安装一个使用suspend的软件包是很糟糕的……)
–user1034
2010年8月9日20:52
请注意,您必须apt-get install powermanagement-interface才能运行pmi。
–nealmcb
2012年2月10日,下午1:47
在11.10上,仅pm- *有效,并且添加了powermanagament-interface
– Omegafil
2012年2月13日在9:56
与我的ubuntu 12.10不兼容。 apt-get install powermanagement-interface之后
–somethis
2013年6月2日9:37
现在,新方法已损坏,请参见unix.stackexchange.com/questions/153099/…
–ijk
2015年4月3日在18:28
#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的较新版本以及包括hibernate的功能。
评论
您的答案确实应该是第一位。这是要安装的非root用户无软件包gnome方式。喜欢!
–涡轮
2012年6月7日下午16:26
要休眠,您只需将最后一行替换为org.freedesktop.UPower.Hibernate
– Sheharyar
13年8月11日在8:46
在我的13.10上确实有效。但是,即使在“安全和隐私”中,激活了“从挂起状态唤醒时要求我的密码”,屏幕也不会在恢复时锁定。
– andreas-h
2014年2月22日12:24
不适用于我(Gnome 3.12,Ubuntu 14.04)。根据bugs.launchpad.net/ubuntu/+source/gnome-power-manager/+bug/…,似乎[UPower.Suspend]界面已删除。
–圭·安布罗斯
2014年5月25日14:09
挂起界面已移至登录状态; askubuntu.com/questions/652978
–Khurshid Alam
15年8月6日在7:52
#3 楼
简体中文如果您想睡觉就读一台喜欢的电台,而希望在一小时内挂起计算机,请打开终端并输入:
sudo bash -c "sleep 1h; pm-suspend"
,计算机将在其中入睡1小时。醒来后,它将保留您打开的图像和所有内容。
您可以将
1h
替换为您想要的内容:h
表示小时,m
表示分钟,s
表示秒,d
表示几天。很好夜晚! >请再听取意见。 Quous vous vousréveillerez,il气氛在vos应用程序输出。 />邦纳·努伊(Bonne nuit)! >您在1个小时后在多尔米达举行。 Cuando despiertes,所有哈布兰·奎达多·阿比埃塔斯·托马斯·科萨斯。
Puedes reemplazar
1h
在以下地点查看:h
para horas,m
para minutos,s
para segundos,q43 评论
那就是我要寻找的用例! AFIK pm- *可以在没有超级用户权限的情况下运行
–ruX
2014年7月28日在22:49
#4 楼
要休眠:sudo pm-hibernate
要暂停:
sudo pm-suspend
评论
“ sudo pm-suspend”不适用于薄荷13伴侣:(
–rsjethani
2012年11月23日上午10:16
是的,我认为该软件包尚未安装。在突触中寻找那些包装。
–rɑːdʒɑ
2012年11月23日在17:34
这种方法的缺点是,如果您使用的是GUI,则pm-suspend不会阻止您的会话,这可能是不安全的。
–劳尔·萨利纳斯-蒙塔古多
15年2月18日在12:48
它也适用于Ubuntu 15.10。
–硒烯
15年12月18日在4:29
适用于14.04 lts
– Vitaly Zdanevich
16年2月26日在16:58
#5 楼
您可以使用文件/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: --session --dest = org.gnome.PowerManager \
--type = method_call --print-reply --reply-timeout = 2000 \
/ org / gnome / PowerManager org.gnome.PowerManager .Suspend
#Hibernate
dbus-send --session --dest = org.gnome.PowerManager \
--type = method_call --print-reply --reply- timeout = 2000 \
/ org / gnome / PowerManager org.gnome.PowerManager.Hibernate
根据启动板中的此项删除了上面的界面。因此在Ubuntu中将不再起作用。
评论
第一个主意给了我:“重击:回声:写错误:无效的参数” Dbus的主意给了输出:“错误org.freedesktop.DBus.Error.UnknownMethod:接口” org.gnome.PowerManager“上方法”挂起“,带有签名”“不存在”
–user1034
2010年8月9日20:58
我在/ sys / power / state-thing中添加了一个小说明。此外,dbus方法已从Ubuntu中删除,因此它将不再起作用。
– qbi
2010年8月9日在21:45
$ sudo echo -n mem> / sys / power / state-bash:/ sys / power / state:权限被拒绝
–Hubro
2014年8月24日在21:01
这很好。对于使用sudo时对这种方法有疑问的人,“ pipe to file”(又名“>)正在您当前的shell中运行,因此在执行echo时不会获得超级用户特权。您需要先使用sudo -i,或使用管道将sudo tee如下所示:echo mem |须藤tee / sys / power / state
–RandomInsano
2014年9月1日4:22
#6 楼
要从命令行(或键盘快捷键)关闭系统(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
#7 楼
由于15.04 systemD是标准的初始化系统,因此有一个新命令要使用:systemctl suspend
评论
我正在使用Xubuntu 15.04。即使已在“设置”->“电源管理器”->“安全性”中选中了“系统进入睡眠状态时锁定屏幕”复选框,命令systemctlsuspend会挂起计算机,但不会导致屏幕被锁定。有人知道为什么吗?
– Teemu Leisti
16年4月10日在13:28
我已经升级到Xubuntu 16.04。命令systemctlsuspend仍然挂起计算机。现在,它也导致屏幕被锁定,当且仅当在设置复选框“时,系统会睡眠锁定屏幕” - >电源管理 - >安全检查。
– Teemu Leisti
16年6月22日在18:54
#8 楼
亚当·帕兹尼克(Adam Paetznick)的dbus发送答案并未像我所想的那样清晰。即使将gnome-power-manager设置为在唤醒时锁定屏幕,机器也会被解锁。我希望在唤醒时锁定屏幕,并发现以下操作可以做到:
$ gnome-screensaver-command --lock && pmi action hibernate
我想这不取决于gnome配置,但是我还没有测试过。
评论
真好或视情况而定xscreensaver-command --lock。
–善待您的Mod
17年4月4日在1:49
#9 楼
新界面…可在15.10 Wily中使用,并且可能适用于Utopic和Vivid。
dbus-send --print-reply --system \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend boolean:true
有用的是,不需要sudo,这与
pm-suspend
命令。评论
我的带Debian / Gnome的XPS 13 9350在关闭盖子时出现了挂起/休眠问题。运行此命令(以及等同于休眠的命令)后,它成功进入了暂停(休眠)状态,现在按预期方式关闭和打开盖子!
– VictorSchröder
16 Dec 25 '18:29
#10 楼
以下是将远程计算机通过ssh置于待机状态的方法:ssh -t 192.168.1.4 'sudo nohup &>/dev/null bash -c "(sleep 1; echo -n mem >/sys/power/state) &"' x@192.168.1.4's password: [sudo] password for x: Connection to 192.168.1.4 closed.
/ sys / power / state在Ubuntu 13.10中有效。 pmi给出Dbus错误。
#11 楼
就个人而言,我一直在尝试pmi方法。但是,当我尝试此操作时,出现错误消息:Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
。但是,此错误报告的第3条注释中有一个变通办法,这似乎对我有用(我正在使用Ubuntu 13.03)。评论
尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
–fossfreedom♦
13年8月31日在7:37
#12 楼
对于那些像我一样仍在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,请在命令末尾用“休眠”替换“挂起”。
如果只在锁屏选项中输入1个连字符,并且仅在屏幕保护程序正在运行时,只需锁定屏幕而不挂起,
xscreensaver-command -lock
就可以使用。其实不是一个非常有用的命令。使用i3lock
更容易,但是您将不会像使用qdbus
那样获得整洁的登录对话框以恢复工作。#13 楼
以下内容适用于16.04(使用Gnome桌面):
gnome-screensaver-command --lock && compsleep
我还通过Gnome设置面板将其作为自定义键盘快捷方式安装为“ Shift- Super-X“。
评论
对于Ubuntu 16.04,请参阅以下问题:askubuntu.com/questions/777178/suspend-command-in-ubuntu-16-04及其答案systemctlsuspend