TigerVNC 锁屏问题解决方案
TigerVNC 锁屏问题解决方案
问题诊断
- 根本原因:Linux
logind
服务将会话标记为"locked"(常见于休眠/锁屏后) - 典型表现:
- VNC 连接后黑屏
- 认证失败提示
- 直接解决方案:
loginctl unlock-sessions # 解锁所有会话
[TOC]
永久性解决方案
方案A:禁用自动锁屏(推荐用于服务器)
gsettings set org.gnome.desktop.screensaver lock-enabled false
gsettings set org.gnome.desktop.session idle-delay 0
方案B:配置自动解锁(需要polkit规则)
创建规则文件:
sudo nano /etc/polkit-1/rules.d/85-unlock-vnc.rules
添加内容:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.unlock" &&
subject.isInGroup("vncusers")) {
return polkit.Result.YES;
}
});
方案C:系统级会话保持
sudo nano /etc/systemd/logind.conf
修改关键参数:
IdleAction=ignore
HandleLidSwitch=ignore
系统状态验证
检查会话状态
loginctl list-sessions
预期输出示例:
SESSION UID USER SEAT TTY STATE
1 1000 user1 seat0 tty2 active # 确保状态非locked
```
实时监控命令
```bash
journalctl -f -u systemd-logind | grep -E 'SessionLock|SessionUnlock'
VNC服务优化配置
修改xstartup脚本
nano ~/.vnc/xstartup
添加以下内容:
#!/bin/bash
# 禁用GNOME自动锁屏
gsettings set org.gnome.desktop.screensaver lock-enabled false
exec gnome-session
关键命令速查表
场景 | 命令 |
---|---|
解锁指定会话 | loginctl unlock-session <SESSION_ID> |
解锁所有会话 | loginctl unlock-sessions |
查看锁定状态 | loginctl show-session |
禁用休眠功能 | systemctl mask sleep.target suspend.target |
检查最近锁屏记录:
journalctl -u systemd-logind --since "1 hour ago"
本文链接:
/archives/UHl7nJ0N
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
billy blog!
喜欢就支持一下吧
打赏
微信