如何在登录屏幕上禁用睡眠/挂起?

如何在登录屏幕上禁用睡眠/挂起?

过去几个小时我一直在尝试这样做,但没有进展。

我正在运行 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-timeout0

运行这些命令后,重新启动 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 和屏幕保护程序计时,因为只需设置这些“离开“还不够……”

相关内容