![如何在登录屏幕上禁用睡眠/挂起?](https://linux22.com/image/1002049/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E5%B1%8F%E5%B9%95%E4%B8%8A%E7%A6%81%E7%94%A8%E7%9D%A1%E7%9C%A0%2F%E6%8C%82%E8%B5%B7%EF%BC%9F.png)
过去几个小时我一直在尝试这样做,但没有进展。
我正在运行 Ubuntu 16.04,我想在登录屏幕上禁用睡眠/挂起(在以任何用户身份登录之前),以便显示保持活动状态。挂起/睡眠在 5 分钟后开始 - 我似乎在任何地方都找不到这个设置。
我尝试过的事情:
图形用户界面
为两个(所有)用户完成:
- 切勿在通电状态下暂停
- 切勿在亮度和锁定状态下关闭屏幕。
终端
gsettings set org.gnome.desktop.session idle-delay 0
sudo /bin/systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
xset s noblank
xset s off
xset dpms force off
xset -dpms
crontab-e:
添加
@reboot sudo /bin/systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
@reboot /usr/bin/xset s noblank
@reboot /usr/bin/xset s off
@reboot /usr/bin/xset dpms force off
@reboot /usr/bin/xset -dpms
dconf org.gnome.settings-daemon.plugins.power
critical-battery-action nothing
idle-dim false
lid-close-ac-action nothing
lid-close-battery-action nothing
sleep-inactive-ac-timeout 0
sleep-inactive-ac-type nothing
sleep-inactive-battery-timeout 0
sleep-inactive-battery-type nothing
time-critical 36000
time-low 36000
(顺便说一下,计算机没有盖子也没有电池)
sudo gedit /etc/X11/xorg.conf
添加
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
咖啡因
添加
@reboot /usr/bin/caffeine &
在 crontab 中。还考虑过用
@reboot /usr/bin/caffeine -t 36000
但
caffeine -t 36000
返回
usage: caffeinate [-h] [-V] COMMAND [ARGUMENT [ARGUMENT ...]]
caffeinate: error: unrecognized arguments: -t
交流电源接口
没有。
任何帮助将非常感激!
答案1
我遇到了同样的问题,并找到了解决方案此论坛主题。使用 gsettings 设置适当的值对我来说是有效的。请注意,这需要为用户设置lightdm
,而不是为您自己的帐户或设置root
。也许这是你的问题?
以下是您需要运行的命令:
sudo su
su lightdm -s /bin/bash
dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
exit
exit
请注意,这只会禁用交流电源供电时机器的睡眠功能。由于我使用的是台式机,所以这已经足够了。如果您还想禁用电池供电时的睡眠功能,您还需要将值设置sleep-inactive-battery-timeout
为0
。
运行这些命令后,重新启动 LightDM,就可以了。
sudo service lightdm restart
答案2
我从这里找到了解决方案https://askubuntu.com/a/543861/718511,但他们想反其道而行之,所以稍作修改。本质上是编写一个脚本来禁用 dpms,并让 lightdm 运行它。
在/etc/lightdm/lightdm.conf.d/建立文件50-dpms.conf:
sudo nano /etc/lightdm/lightdm.conf.d/50-dpms.conf
添加线条
[SeatDefaults]
display-setup-script=/usr/local/bin/dpms-stop
关闭文件
在/usr/本地/bin/创建文件dpms-停止:
sudo nano /usr/local/bin/dpms-stop
添加线条
#!/bin/sh
sudo xhost +si:localuser:lightdm # grants localuser rights to X session
sudo su lightdm -s /bin/bash <<HERE
/usr/bin/xset -dpms
exit
HERE
关闭文件
使文件可执行:
sudo chmod +x /usr/local/bin/dpms-stop
重新启动后它对我起作用了。
答案3
对我唯一有用的是 JohanPI 的答案,但我必须修改它才能关闭屏幕保护程序。修改后的脚本如下所示:
#!/bin/sh
sudo xhost +si:localuser:lightdm # grants localuser rights to X session
sudo su lightdm -s /bin/bash <<HERE
/usr/bin/xset -dpms
/usr/bin/xset s off
exit
HERE
答案4
@Costa 的回答为我指明了正确的方向,但他的解决方案对我来说不起作用。我认为(经过多次尝试和错误)lightdm
用户不需要为此进行配置,因为root
用户是拥有 的人seat
。
因此,使用与 X 服务器启动后运行的脚本相同的技术,display-setup-script
这是我的脚本:
#!bin/bash
xset dpms 0 0 0
xset -dpms
xset s 0 0
xset s off
我必须设置 DPMS 和屏幕保护程序计时,因为只需设置这些“离开“还不够……”