在安装/初始设置期间禁用屏幕保护程序

在安装/初始设置期间禁用屏幕保护程序

我需要在操作系统(rhel7.3)安装过程中禁用所有屏幕消隐/锁定。经过搜索我发现

gsettings set org.gnome.desktop.session idle-delay 0

安装后从图形终端测试它时有效。但是,当我从作为初始设置运行的脚本执行此操作时,它会失败。

我尝试将其作为安装结束时在运行级别 3 下运行的脚本的一部分来执行,但失败了:

dconf-WARNING **: failed to commit changes to dconf: Error spawning command line 'dbus-launch --autolaunch=(long hex id here) --binary-syntax --close-stderr': Child process exited with code 1

并制作一个一次性的 systemd 服务ssoff.service

[Unit]
Description=Disable screen blanking
[Service]
Type=oneshot
ExecStart=/usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
[Install]
WantedBy=graphical.target

但我在 所示的日志中收到相同的错误消息systemctl status ssoff。 (我意识到这将在每次启动时运行,这不是正确的方式,但我认为如果它有效,那就足够了。)

在这些情况下,系统似乎还没有准备好执行此命令?我怎样才能实现这一目标而不需要最后手动完成呢?

答案1

gsettings 和 dconf 都需要激活 DBus。

我想它可能会像这样工作(虽然没有测试):

[Unit]
Description=Disable screen blanking
[Service]
Type=dbus
Busname=org.example.ssoff
ExecStart=/usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
[Install]
WantedBy=graphical.target

还可以做的是dconf write /org/gnome/desktop/session/idle-delay 'uint32 0'

相关内容