语境:
我目前正在 VirtualBox 上设置 Ubuntu 24.04.1 LTS VM。早些时候,我注意到 gedit 不再是默认的文本编辑器;我本来可以更换编辑器,但 gnome-text-editor 似乎缺少 gedit 的许多有用功能(例如注释快捷方式之类的插件)。
我第一次安装 gedit 时,无法打开“首选项”;应用程序似乎冻结了,但实际上它只是消耗了大量内存。最后,我收到了无响应的通知,过了一会儿,程序完全崩溃了。
最后,我想起插件需要从外部安装(sudo apt-get install gedit-plugins
),所以我运行了它,然后能够打开“首选项”。过了一会儿,我又遇到了同样的问题。经过一些故障排除后,我注意到我现在有 2 个不同的 gedit(请参阅下面的一些屏幕截图)。
在我的环境中,黄色变体无法使用 - 除了上述的首选项问题之外,当我尝试在其中执行任何操作时,我经常收到无响应的通知。
我已将蓝色变体固定在仪表板上,但在“显示应用程序”窗口中我看到的是黄色。此外,正如您在下面看到的,我无法将蓝色变体配置为任何程序的默认程序。
TLDR:有没有办法让黄色变体可用?
编辑:已经确定一个版本(不可用的版本)是 snap,另一个版本(未沙盒化的版本)是 apt。我曾假设推荐的应用程序将被沙盒化,因为它们似乎可以在“设置”中配置,但后来有人指出,新的系统默认程序(gnome-text-editor)也不是沙盒化/可配置的。因此,坚持使用 apt 可能是最好的前进方式。
附加信息:清除 apt 后发现了以下残留软件包:
gedit-common gedit-plugins-common gir1.2-amtk-5 gir1.2-ggit-1.0
gir1.2-gtksource-300 gir1.2-gucharmap-2.90 gir1.2-tepl-6 libgedit-amtk-5-0
libgedit-amtk-5-common libgedit-gtksourceview-300-0
libgedit-gtksourceview-300-common libgit2-1.7 libgit2-glib-1.0-0
libgucharmap-2-90-7 libhttp-parser2.9 libssh2-1t64 libtepl-6-4
libtepl-common python3-gi-cairo python3-netifaces
此外,gedit 的缓存策略表明它是来自http://ca.archive.ubuntu.com/ubuntu-noble/universe-amd64-Packages的 46.2-2 (由于部分自动链接,我用破折号替换了空格)。
在 Ubuntu 24.04 中,用文本编辑器(也称为 GNOME 文本编辑器)替换 gedit 作为默认文本编辑器的理由与现代安全和沙盒实践有关。当 GNOME 文本编辑器作为 Flatpak 安装时,它会遵守严格的沙盒规则。在我的 Ubuntu 24.04 设置应用程序 ->应用程序-> gedit 中,它显示“应用程序未沙盒化”(默认),我无法更改此默认设置。当我单击信息图标(第二张屏幕截图中的 ⓘ)时,它显示:“无法完全强制执行未沙盒化的应用程序设置。这些应用程序可能使用未显示的权限。”我的设置应用程序 ->应用程序-> gedit 文本编辑器中也显示了相同的文本。在 Ubuntu 24.04 中,从沙盒化的角度来看,gedit apt 包和文本编辑器都是相同的,但 gedit Flatpak 包则不同。
gedit snap 包比未沙盒化的 apt 包提供了更强大的沙盒功能,而 Flatpak 包比 snap 包提供了更细粒度的权限管理。
您安装了两个 gedit 应用程序,分别是 apt 包和 snap 包。如果 gedit snap 包无法使用,而您又不得不使用它,那么不妨将其卸载。您可以使用以下命令卸载 gedit snap 包,之后剩余的 gedit apt 包将成为默认包。
这不是你想要的。你想保留无法运行的 gedit 版本,但在 Ubuntu 24.04 中,有时如果同一应用程序的两个版本之一无法运行,你就必须使用另一个版本。