可通过控制中心临时禁用锁屏,或使用gsettings命令配合inhibit机制为指定应用(如zoom)禁用屏幕锁定,亦可配置systemd用户服务实现开机自启的长期抑制。

您正在运行视频会议、远程桌面或全屏演示类应用,但系统仍按设定时间自动锁屏,导致画面中断或会议掉线,需让特定程序运行期间强制禁用锁屏。
通过控制中心临时禁用锁屏
该方法适用于单次会议或演示场景,操作快、无命令行依赖,但退出应用后不会自动恢复原设置。
点击任务栏右下角控制中心图标→电源管理→将“自动锁屏”滑块拖至【从不】→关闭控制中心。
注意:此操作影响当前用户全局锁屏策略,若需仅对某应用生效,请跳过本节直接进入终端命令配置。
使用gsettings命令为指定应用禁用屏幕锁定
统信UOS的DDE桌面环境支持通过Inhibit机制临时抑制锁屏,需配合应用进程名触发。以下步骤实现「只要某程序在前台运行,锁屏即被阻止」:
第一步:确认目标应用的准确进程名。例如Zoom启动后进程名为zoom,VLC为vlc,钉钉为DingTalk。可在终端执行ps aux | grep -i 关键词验证。
第二步:创建一个守护脚本,持续检测该进程是否存在并发送抑制信号。新建文件:nano ~/inhibit-lock.sh
第三步:写入以下内容(以zoom为例,替换zoom为您的实际进程名):
#!/bin/bash
while true; do
if pgrep -x "zoom" > /dev/null; then
gdbus call --session --dest org.freedesktop.ScreenSaver --object-path /org/freedesktop/ScreenSaver --method org.freedesktop.ScreenSaver.Inhibit "inhibit-lock" "Zoom is running"
sleep 30
else
gdbus call --session --dest org.freedesktop.ScreenSaver --object-path /org/freedesktop/ScreenSaver --method org.freedesktop.ScreenSaver.UnInhibit
break
fi
done
第四步:赋予执行权限:chmod +x ~/inhibit-lock.sh
第五步:运行脚本:~/inhibit-lock.sh &。此时只要zoom进程存在,系统就不会触发锁屏;进程退出后,脚本自动终止并解除抑制。
使用systemd用户服务长期托管抑制逻辑
若需开机自启且稳定运行(如企业会议室固定部署),应将抑制逻辑注册为systemd用户服务,避免手动维护脚本进程。
方法一:创建服务定义文件
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/inhibit-zoom.service
方法二:填入以下内容(请将zoom替换为您要保护的应用进程名):
[Unit]
Description=Inhibit screen lock when zoom is running
After=graphical-session.target
[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c 'while pgrep -x "zoom" >/dev/null; do gdbus call --session --dest org.freedesktop.ScreenSaver --object-path /org/freedesktop/ScreenSaver --method org.freedesktop.ScreenSaver.Inhibit "zoom-inhibit" "Zoom active"; sleep 20; done'
RemainAfterExit=yes
[Install]
WantedBy=default.target
方法三:启用并启动服务
systemctl --user daemon-reload
systemctl --user enable inhibit-zoom.service
systemctl --user start inhibit-zoom.service
【关键前提】必须确保当前用户已登录图形会话且D-Bus会话总线正常工作,否则gdbus调用将失败。可通过echo $DBUS_SESSION_BUS_ADDRESS验证变量是否非空。
验证抑制是否生效
运行gdbus introspect --session --dest org.freedesktop.ScreenSaver --object-path /org/freedesktop/ScreenSaver,观察输出中是否包含活跃的Inhibit句柄。
手动触发锁屏测试:xdotool key Ctrl+Alt+L。若屏幕未锁定,说明抑制成功;若锁定,则检查进程名是否拼写错误或应用是否以不同用户身份运行。
停止抑制:gdbus call --session --dest org.freedesktop.ScreenSaver --object-path /org/freedesktop/ScreenSaver --method org.freedesktop.ScreenSaver.UnInhibit











