如何在登录屏幕禁用睡眠/暂停?

Joh*_*nPI 12 login-screen suspend login power-management

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

我正在运行 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

(顺便说一下,电脑既没有盖子也没有电池)

须藤 gedit /etc/X11/xorg.conf

添加

Section "ServerFlags"
  Option "BlankTime" "0"
  Option "StandbyTime" "0"
  Option "SuspendTime" "0"
  Option "OffTime" "0"
EndSection
Run Code Online (Sandbox Code Playgroud)

咖啡因

添加

@reboot /usr/bin/caffeine &
Run Code Online (Sandbox Code Playgroud)

在 crontab 中。也想过做同样的事情

@reboot /usr/bin/caffeine -t 36000
Run Code Online (Sandbox Code Playgroud)

caffeine -t 36000
Run Code Online (Sandbox Code Playgroud)

返回

usage: caffeinate [-h] [-V] COMMAND [ARGUMENT [ARGUMENT ...]]
caffeinate: error: unrecognized arguments: -t
Run Code Online (Sandbox Code Playgroud)

阿皮

不要它。

任何帮助将非常感激!

Chr*_*ris 8

我遇到了同样的问题,并在此论坛帖子中找到了解决方案。使用 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
Run Code Online (Sandbox Code Playgroud)

请注意,这只会在使用交流电源时禁用机器的睡眠。由于我使用的是台式机,这已经足够了。如果您还想在使用电池供电时禁用睡眠,则还需要将该sleep-inactive-battery-timeout值设置为0

运行这些命令后,重新启动 LightDM,您就可以开始了。

sudo service lightdm restart
Run Code Online (Sandbox Code Playgroud)

  • 如果出现“未指定协议”错误,请在运行“dbus-launch gsettings”命令之前执行“export DISPLAY=”。 (2认同)

Joh*_*nPI 6

我从这里找到了一个解决方案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
Run Code Online (Sandbox Code Playgroud)

添加行

[SeatDefaults]
display-setup-script=/usr/local/bin/dpms-stop
Run Code Online (Sandbox Code Playgroud)

关闭文件

/usr/local/bin/创建文件dpms-stop

sudo nano /usr/local/bin/dpms-stop
Run Code Online (Sandbox Code Playgroud)

添加行

#!/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
Run Code Online (Sandbox Code Playgroud)

关闭文件

使文件可执行:

sudo chmod +x /usr/local/bin/dpms-stop
Run Code Online (Sandbox Code Playgroud)

重新启动时它对我有用。