背景
我正在尝试在 Linux Mint 19(不再提供)上运行 KDE。我按照这个帖子将 Kubuntu KDE 桌面添加到 Mint:
- 首先在连接到笔记本电脑的 USB 硬盘上全新安装 Mint 19 Mate。
- 更新了 APT 仓库缓存。
sudo apt install kubuntu-desktop kde-plasma-desktop kscreen
这不是完整的 KDE 安装,主要是 Plasma DE 和一些标准 KDE 实用程序,如 Dolphin。Kubuntu 是 v18.04,Plasma 是 v5.12。
然后我卸载了 Mate DE(但不是卸载了所有与 Mate 相关的东西;我不知道 Mint 在 Mate 软件包中包含了什么,也不想留下重要的漏洞)。我还删除了冗余和不需要的应用程序,并添加了一些软件包,包括 Xscreensaver。
现在我遇到了一个幻影屏幕锁5 分钟不活动后会弹出并锁定屏幕。这是一个通用密码输入屏幕,与您手动锁定屏幕时出现的内容相同:
我在最后列出了详尽的诊断。我跟踪了数十个关于在 KDE、Kubuntu 和 Mint 中禁用屏幕锁定的 Google 搜索结果,从当前版本到旧版本,并排除了 Xscreensaver 或正常屏幕锁定设置和控件的任何问题。基本上,安装中没有任何与基于不活动的屏幕锁定相关的设置,也没有专用的、可识别的屏幕锁定软件。问题指向了这一点:
推测:
我从 Kubuntu 加载的 KDE 组件并非 Kubuntu 中包含的 KDE 的全部内容。它可能缺少与此问题相关的某些内容(例如,包含屏幕锁定控件的系统设置元素)。
我可能保留了一些与问题相关的 Mate 组件,或者删除了与 Mate 捆绑在一起的一些关键内容,而这些内容不会被加载的有限 KDE 内容所取代。我遵循的说明保留了两个 DE 的安装;删除 Mate 是我自己的决定。但 Mate 中的任何内容都不应在 KDE 下运行。
Mint 可能包含一些基本的屏幕锁定功能,这些功能通常被 KDE 条款取代或控制。锁定屏幕图形与 KDE 主题不一致,这表明它可能是 Mint 功能。如果 Kubuntu 组件不完整,Mint 组件可能会以某种默认模式运行。
问题
我如何识别使用该命令行从 Kubuntu 加载时可能缺少的系统设置模块(或其他关键组件),或者 Mint 中任何可能导致问题的屏幕锁定器?
更新
为了进行比较,我创建了一个全新安装的 Kubuntu。
KDE 锁屏使用相同的通用模板,但经过了定制(KDE 壁纸、KDE 图标而非用户图标、密码字段和解锁按钮为黑色而非白色)。这表明幻影屏幕锁是 Mint 的功能。
Kubuntu 系统设置包含一个专用
Screen Locking
模块,其中Desktop Behavior
包含相关控件。我的安装中缺少该模块。可能是缺少代码模块或缺少系统设置 UI 的配置信息。
补充文件
(阅读其余部分并不重要;主要是为了预先回答“你想到这个了吗?”)
诊断
我知道这不是 Xscreensaver;那里没有设置锁。如果我设置的时间足够短,可以在幻影屏幕锁激活之前进入屏幕保护程序模式,它就会正常工作(并且屏幕锁不会激活)。如果屏幕锁先触发,Xscreensaver 就不会运行。
我从未使用过 Xscreensaver 来锁定屏幕,但测试过它只是为了看看屏幕会是什么样子。它不会锁定屏幕,所以这不是原因。Xscreensaver-demo 是用于设置选项的前端 UI。当我在终端中打开它时,无论是否设置了锁定,它都会在终端中生成一条错误消息:
$ xscreensaver-demo
(xscreensaver-demo:3766): libglade-WARNING **: 05:11:30.894: 无法加载对“gnome”的支持:libgnome.so: 无法打开共享对象文件:没有此文件或目录
我甚至不确定这是否相关。
我在 KDE 文件杂乱中找到了 Kscreensaver 插图(图标),但没有任何可执行文件,而且图标与上面屏幕上的任何内容都完全不同。万一真的有 KDE 屏幕保护程序隐藏在某个地方,我创建了一个配置文件来禁用它(这并没有改变任何东西)。 没有捆绑 KDE 屏幕保护程序的迹象在正常系统设置中。
系统设置中没有屏幕锁定设置,而 Plasma 5 应该有。除此之外,KDE 屏幕锁定设置在系统设置中移动了位置(例如,
Desktop Behavior | Activities
;Desktop Behavior | Screen Locking
;Power Management
;Display and Monitor
等)。我在网上搜索了所有关于它曾经出现过的位置的参考资料,还在系统设置中搜索了lock
、screen
和其他相关术语。 系统设置中没有屏幕锁定设置。我禁用了所有电源管理设置与屏幕或任何形式的暂停有关(包括电池电源设置,即使我使用墙上电源运行,也要不遗余力);没有影响。
在某些版本中,有一个屏幕锁在桌面配置中设置(通过右键单击桌面)。有一个选项可以手动锁定屏幕,但没有设置,包括在
Configure Desktop
该菜单中。在某些版本中,“腰果”中存在屏幕锁定程序,其与右键菜单基本相同。腰果已被“汉堡包”取代,并且不包含任何屏幕锁定设置。
有一个隐私菜单在不同版本中的不同位置包含屏幕锁定设置(不再按此方式组织)。在某些情况下,屏幕锁定设置与屏幕亮度设置(没有)。
Plasma 的各个版本都屏幕锁定器配置位置例如
~/.kde/share/config/kscreensaverrc
,您可以在其中添加一行Lock=false
。我创建了该文件,因为它不存在,并添加了该行(无效果)。我搜索了根目录和主目录以查找与此相关的每个配置文件,以及包含“screenlocker”、“screensaver”等的文件名。 似乎没有安装专门的屏幕锁定程序除了 Xscreensaver 之外(但这并不排除屏幕锁定被埋在其他代码中,或以神秘的方式命名)。
我发现 2010 年的一项参考资料似乎已弃用,但仍然存在。有一个文件
/etc/default/acpi-support
与休眠相关的内容。其中有一行LOCK_SCREEN=true
可以注释掉(没有效果)。启动时不会自动加载任何内容与此相关的(程序或服务)。
在所有配置更改之后,我登出用户会话并重新登录,或重新启动,根据更改,以确保更改处于活动状态。
答案1
长话短说,通过这种方法安装为 Kubuntu 选定的 DE 包会留下一些重要的漏洞,这是我在将其与 Kubuntu 安装进行比较后发现的。
然后我在包管理器中搜索了“screenlocker”。结果显示有一个未安装的包,看起来很有希望,结果发现是缺少为屏幕锁定器提供用户控制的模块: kde-config-screenlocker
。这使我能够在 下的系统设置中设置或禁用屏幕锁定器Desktop Behavior
。
仍有一些缺失的部分(屏幕锁仍缺少 KDE 自定义和其他零碎部分就是明证)。最好安装软件包,而不是复制和粘贴缺失的文件,因为软件包管理器会处理依赖关系。
Ubuntu 有一个方便的 Web 服务,可以进行反向查找以识别文件来自哪个包:https://packages.ubuntu.com/。我根据名称包含“screenlocker”的文件进行搜索。它生成了文件名匹配列表及其父包。在包管理器中检查这些包后,我又一次幸运了。 kubuntu-settings-desktop
结果发现它缺失了,并且它对迄今为止发现的所有其他缺失的功能负责。
如果您尝试使用相同的方法将 KDE 添加到 Mint,则可以在原始命令中将这两个包添加到安装列表中。否则,您可以随后从终端使用以下命令安装这两个包:
sudo apt install kde-config-screenlocker kubuntu-settings-desktop