问题:rk3588移植ubuntu22.04根文件系统,桌面采用gnome桌面,每次重装系统都需要通过UI去配置关闭息屏和休眠,没法用于生产。所以尝试用各种预制的配置来关闭息屏和休眠。下面是几种失败的方法:
1.修改Xorg的配置"/etc/X11/xorg.conf"。
bash
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
2.关闭下面的服务
bash
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
3.修改'/etc/UPower/UPower.conf'文件。
4.修改"/etc/gdm3/greeter.dconf-defaults"文件
最终解决办法:
GNOME 的设置存储于 dconf 数据库。可以通过预置配置文件+更新dconf 数据库,实现"出厂即设置"。
1.创建 dconf 配置文件
bash
$ sudo mkdir -p /etc/dconf/db/local.d/
$ sudo vim /etc/dconf/db/local.d/00-power-settings
写入下面内容:
bash
[org/gnome/settings-daemon/plugins/power]
# 禁用"空闲时降低亮度"
idle-dim=false
[org/gnome/desktop/session]
# 设置空闲延迟为 0(永不息屏),或使用较大数值(如 3600 = 1小时)
idle-delay=uint32 0
[org/gnome/desktop/screensaver]
# 禁用屏保和锁屏
idle-activation-enabled=false
lock-enabled=false
[org/gnome/settings-daemon/plugins/power]
#禁用 UPower 的自动亮度调节
ambient-enabled=false
3.更新 dconf 数据库
bash
sudo dconf update
配置完成后可以删除用户目录下的".config"目录,重启系统后用UI界面查找一下power中的配置是不是对的。如果不对,接着第4步操作。
4.修改dconf加载逻辑。
bash
$ sudo mkdir -p /etc/dconf/profile/
$ sudo vim /etc/dconf/profile/user
写入下面内容:
bash
# 通常内容应该是:
user-db:user
system-db:local
注意:这里的system-db后面的内容和上面dconf的配置文件有关,在执行"dconf update"时会自动在"/etc/dconf/db/"创建一个文件。system-db配置的就是这个文件名。
5.另外也可以通过UI去设置,设置完后的配置会被写在'~/.config/dconf/user'数据库文件中,将这个文件修改文件名为'local',然后放在'/etc/dconf/db/'目录中,在按照4中给方式配置也行。删除用户下的配置重启系统就可以看到效果。