我不喜欢现代操作系统中的“最近的文件/最近的应用程序/最近的地点”功能。特别是,我不想要/不需要
- 跳转列表,显示最近使用特定应用程序打开的文件(例如 Okular、VLC Player、LibreOffice 等),
- A ”最近的地方“文件资源管理器中的选项卡显示了我在之前的会话中浏览过的文件夹,或者在我上次关闭资源管理器实例时所在的位置打开的文件夹,
- A ”最近的文件“文件打开/文件保存对话框中的选项卡,显示最近访问/保存的文件任何程序在任何其他程序,
- ”最近的应用程序“跟踪我使用的程序的功能。
首先也是最重要的是,从隐私角度来看,无论是在私人环境还是在专业环境中,这些功能对我来说都是麻烦。但它们也妨碍了我的个人工作流程:我知道要使用哪些应用程序和程序来完成手头的任务,以及要在哪些位置创建、打开和保存哪些文件。任何关于我的启发式的建议可能想要使用来作为一种令人困惑的干扰。
所以我想,在 Linux 操作系统上,与 Windows 相比,禁用这些功能应该很容易,在我的例子中是 Manjaro(使用 KDE Plasma),但事实证明这比我预期的要困难得多。这是我所做的(我将许多项目从非英语设置翻译成英语,因此它们可能不是英语设置中的确切项目名称,但应该足够接近):
- 在“工作区/桌面行为/最近文件”下的 Manjaro KDE 系统设置中,我将“记住打开的文档”从“所有应用程序”切换为“不记住”。我注意到这没有任何影响。
- 再次在系统设置中,在“工作区/桌面行为/活动”下,我打开“标准”设置(我唯一的活动配置文件),并打开设置“隐私:不记录此活动的使用情况”。当右键单击任务栏上打开的程序时,这会禁用存储在“recentlyused:/files/”和“recentlyused:/folders/”下的文件和位置,以及跳转列表中的“最近文件”部分。
那么,如果我仍然需要为每个活动停用它,为什么“工作区/桌面行为/最近文件”中有一个(大概是“全局”)设置呢?
不管怎样,这仍然给我留下了一些“打开文件”对话框中的“最近文件”填充列表,例如在 VS Code 中。我发现这些对话框实际上是一些 Gnome/GTK/Qt 对话框,而不是 KDE 文件选择器,并且最近使用的项目列表保存在“~/.local/share/recently-used.xbel”中。互联网上有关于如何禁用此集合的各种答案。
一种方法是告诉程序使用 KDE 文件选择器。似乎设置环境变量“GTK_USE_PORTAL=1”可以实现这一点,尽管根据我发现这一点的原始帖子,某些 GTK 程序可能不遵守此设置。但即使程序确实接受此设置,它也只是不再在其对话框中显示最近的文件集合,但仍然会创建“~/.local/share/recently-used.xbel”中的集合。
表面上,改变 gnome 设置,特别是
gsettings set org.gnome.desktop.privacy remember-recent-files false
gsettings set org.gnome.desktop.privacy remember-app-usage false
gsettings set org.gnome.desktop.privacy recent-files-max-age 0
应该停止收集,但它对我没有任何影响。
另一个建议是为 gtk 后端设置设置(全部单独...),即在“~/.config/gtk-3.0/settings.ini”和“~/.config/gtk-4.0/settings.ini”中添加[设置]下的“gtk-recent-files-enabled=0”。这为我从“打开文件”对话框中删除了最近的文件选项卡,但它并没有阻止系统收集最近使用的.xbel 中的最近文件信息。
另一个建议是完全删除最近使用的.xbel 文件,并创建一个符号链接:
ln -vs /dev/null ~/.local/share/recently-used.xbel
。但就我而言,大约花了一天时间才删除此链接并创建一个新的最近使用的.xbel 文件并再次开始填充。gnome-control-center 在“文件历史记录和垃圾”下有一个设置“文件历史记录”,它应该启用/禁用最近使用的项目的集合。xbel,但此设置对我不起作用,它仍然即使设置已关闭,也会收集最近使用的.xbel 中的项目。然而,它确实提供了一个按钮来擦除历史记录,并留下最近使用的.xbel,其中包含标题但没有项目。但是,随着下一个打开的文件的出现,该列表将再次填充。
所以这些选项都不适合我。我所做的是使用 gnome-control-center 清空文件“recently-used.xbel”(见上文),然后
chattr +i ~/.local/share/recently-used.xbel
使该文件不可变,以避免被任何没有 root 权限的程序修改或删除。这是唯一对我一直有效的选择。许多程序都有自己的文件历史记录功能,通常可以通过某种方式禁用这些功能。
- 在 Dolphin 中,我删除了“最近使用的文件”和“最近位置”选项卡,并在 Dolphin 设置中将其设置为在我的主文件夹中打开,而不是上次打开的位置。
- 在“界面/主界面/Qt”的 VLC 播放器设置中,我取消选中“在菜单中保存最近播放的对象”。
- 在“LibreOffice/Advanced/Expert settings/org.openoffice.Office.Common”的 LibreOffice 选项中,我将“History”的值设置为 0,这使最近的文件列表保持为空。
这就是我现在所处的位置,大部分功能都被禁用,但我问自己是否错过了什么。我想知道为什么它如此复杂,因为我觉得给整个事情一个单一的开关或几个开关但都在某个系统设置管理器的一个地方应该不难。我知道,如果任何具有自己逻辑的程序跟踪打开的文件,那么系统无法真正阻止它,但其他所有内容都应该比我遇到的更好地访问。为什么上面列出的这么多选项根本没有按照他们所说的那样去做?漏洞?我的愚蠢/天真?很抱歉这篇文章很长,但我想证明这确实是多么麻烦。
翻译:博士:
为什么以“最近的文件/最近的应用程序/最近的地点”为幌子禁用使用情况跟踪功能如此困难?