Xubuntu - 挂起后在锁定屏幕前可见桌面

Xubuntu - 挂起后在锁定屏幕前可见桌面

Xubuntu 21.10 是一款非常可靠的系统,有很多优点。不过,还是有一些小问题让人摸不着头脑。我遇到的一个问题是,从挂起状态恢复时,桌面(以及任何打开的应用程序)会显示近半秒钟,然后锁屏才会启动。已提交错误报告几年前,该问题曾被提出,并于 2020 年发布了修复程序。不幸的是,这个问题仍然存在。

一个帖子在 XFCE 论坛上建议使用systemd钩子在恢复时暂停一秒钟:

#!/bin/sh
case $1/$2 in
  pre/*)
    #enter sleep
    ;;
  post/*)
    #exit sleep
    sleep 1
    ;;
esac

虽然这确实会将桌面可见的时间缩短几分之一秒,但眼尖的人仍然能够阅读屏幕上显示的任何内容。将值sleep从更改1为更高的值并不能解决问题。

我还能做些什么让屏幕在进入睡眠状态之前变黑,以便人们访问笔记本电脑时首先看到的是锁定屏幕?

硬件:

联想 ThinkPad X1 Carbon
CPU:英特尔酷睿 i5-7200U
内存:16GB

操作系统:

Xubuntu 21.10
内核:5.13.0-22-generic

答案1

多年来我一直受此困扰。最近一次是在xfce4-screensaver安装了 Xubuntu 20.04 后,尽管在电源管理中启用了“睡眠时锁定屏幕”。当我从挂起状态恢复时,我经常发现一个看起来像解锁的屏幕,我的桌面和鼠标都可见。但实际上,它仍然被锁定,解锁屏幕只是看不见,我不得不盲目地输入密码。令人烦恼和不安。

感谢 hslin 的帮助提示关于upower-glib,这个问题现在已经解决了,但是我使用了对我来说更简单的重新编译方法xfsettingsd

首先,确保您没有upower-glib安装任何开发文件——您可以在 Synaptic 中搜索。您可能没有。另一种方法是在编译期间禁用它的包含,但我不需要。然后,从 Github 获取代码,并签出标签 v4.14.4(4.14 系列中的最后一个版本,也是 Xubuntu 20.04 中安装的库支持的最后一个版本):

git clone https://gitlab.xfce.org/xfce/xfce4-settings.git
cd xfce4-settings
git checkout xfce4-settings-4.14.4
./autogen.sh

当然,你需要build-essentials,以及其他几个开发库,但所需的版本应该都可以通过 apt 获得(或者只需使用 Synaptic 搜索)。逐个安装它们,直到configure成功完成。确保它报告upower支持已被禁用。然后只需:

make
sudo make install

打开一个新终端,然后运行xfsettingsd -V以检查新编译的版本是否已成功安装。应该是4.14.4(*ubuntu 20.04 中的当前默认值是4.14.3)。终止现有xfsettingsd进程并重新启动它,或者直接调用xfsettingsd --replace

就是这样。现在恢复时应始终立即显示锁定屏幕,而不会显示桌面。

答案2

我在 Linux Mint 21(基于 22.04)上遇到了同样的问题,并找到了一个适合我的解决方案。问题似乎出在对upower-glibin的支持上xfce4-settings,正如所写这里.XFCE不久前禁用了 upower-glib但是由于某种原因,Debian 和 Ubuntu 软件包仍然编译了对它的支持。

要重新编译软件包,请执行以下操作(我的软件包版本是xfce4-settings_4.16.2-1ubuntu2_amd64,因此您的版本号/架构可能会有所不同,具体取决于您所运行的 Ubuntu 版本):

  1. 启用deb-src软件包条目。最简单的方法是通过 GUI 中的软件和更新 →Ubuntu 软件然后勾选源代码盒子。

  2. 下载源代码xfce4-settings

    mkdir tmp
    cd tmp
    apt-get source xfce4-settings
    cd xfce4-settings-4.16.2
    
  3. 安装一些通用的构建依赖项:

    sudo apt-get install build-essential pbuilder
    
  4. 安装构建依赖项xfce4-settings

    sudo apt-get build-dep xfce4-settings
    
  5. 编辑文件debian/rules并删除显示 的行--enable-upower-glib \。此行通常会启用upower-glib支持,但我们不想要。

  6. 重新编译包:

    debuild -i -us -uc -b
    
  7. xfce-settings用我们刚刚编译的包替换已安装的版本:

    cd ..
    sudo dpkg -i -B xfce4-settings_4.16.2-1ubuntu2_amd64.deb
    

请记住,如果xfce4-settings将来某个时候软件包更新,则必须重复此操作。您可以运行sudo apt-mark hold xfce4-settings以防止发生这种情况,但那时您将不会获得此软件包的任何更新。

答案3

只需添加一点hslin 的上一条帖子:对于我的 Xubuntu 20.04 xfce4-settings-4.14.3,在步骤 5 中我必须添加--disable-upower-glib \debian/rules

这为我解决了这个问题。

相关内容