一、问题背景
如下图所示,每次登录桌面一段时间,就会因为自动锁定机制而锁定账户。
重新去激活账户时,输入正确的密码,回车确定,之后就停留在上面那个界面了。
二、 解决方案
2.1 重启xrdp服务
这个方法,有下面几点弊端:
- 如果其他用户也正在使用,那么你重启服务的时候会打断他的工作
- 如果你的桌面上已经运行了软件,并且正在工作,那么重启服务也会打断你的工作(例如仿真计算)
- 当你重启服务之后,你再连接xrdp,得到的不是一个接续上一次登录的界面,而是一个全新的软件都没打开的界面
所以,重启之前还是需要谨慎,万不得已不要重启。
不过我还是把锦囊发给大家,不到危急时刻千万别拆开使用!!!
sudo systemctl restart xrdp
2.2 关闭linux系统的自动锁屏设置
在尝试本方案前,我是通过GPT-4生成的本文的3.2方案,但是尝试之后不生效。
于是乎,还是用搜索引擎找到一个用GUI设置的方式来取消自动锁屏的方案。
在设置里找到隐私Privacy
左边点击Screen,右边出来screen lock设置选项,将Automatic Screen Lock的拨钮改成不启动。
这里我再解释一下其他选项的含义:
1.Blank Screen Delay:这里是黑屏时间,意思是你没有操作多久就会黑屏
2.Automatic Screen Lock Delay:你黑屏之后过多久,账户就会锁定
三、尝试过的无效方案
3.1 更改桌面环境(从gnome改到xfce)
如何更改xrdp远程桌面的桌面环境,这个问题你们详见我以前发的博客。
在配置startwm.sh文件之后,然后重启xrdp服务,即可生效。
所以这个方法,逃不了重启服务,也就避免不了对现有工作任务的中断。
关键是,这个方法,并不能解决账户锁定之后输入正确密码进不去桌面的问题。
3.2 关闭linux系统的自动锁定/锁屏设置
-------下面的方案,我测试时,发现过一段时间我的xrdp桌面还是会自动锁定----------。
要确保远程 XRDP 桌面账户永远不被锁定,可以设置 PAM(Pluggable Authentication Modules)来禁用自动锁定功能。不希望在长时间无操作的情况下锁定用户,可以通过调整 PAM(可插入身份验证模块)配置中的会话超时设置来实现。
在 Ubuntu 和其他基于 Debian 的 Linux 发行版中,通常可以在 /etc/security/time.conf
文件中配置会话超时设置。
步骤 1:编辑 time.conf 文件
打开 /etc/security/time.conf
文件进行编辑:
sudo vi /etc/security/time.conf
步骤 2:添加或修改设置
在文件末尾添加或修改类似于以下的设置:
* - - - - :0
这里,*
表示所有服务,-
表示所有终端,-
表示所有用户,-
表示所有时间。:0
表示不设置会话超时限制。
保存文件并退出编辑器。
步骤 3:修改 PAM 配置以启用 time.conf
现在需要在 PAM 配置中启用 /etc/security/time.conf
文件。打开 /etc/pam.d/common-session
文件进行编辑:
sudo vi /etc/pam.d/common-session
在文件末尾添加以下行:
session required pam_time.so
保存文件并退出编辑器。
完成这些更改后,即使很长时间没有操作,用户会话也不会锁定。