为什么许多 Linux 应用程序开发人员不希望发行版使用主题

您可以将 Linux 与使您的桌面看起来随心所欲的自由联系在一起,但 GNOME 并非如此。 至少,不是不知道要安装哪些扩展或如何阅读代码。 默认情况下,GNOME 旨在以某种方式呈现和感觉,如果 Linux 发行版不使用主题更改其应用程序的外观,许多开发人员会更喜欢。

当您在自己的个人机器上更改主题时会出现问题吗? 不,你知道你自己在做什么。 但是,当自定义体验作为默认设置出现时,可能会出现混淆。

GTK 是为主题设计的吗?

GNOME 使用 GTK 图形工具包来管理应用程序界面。 在 GNOME 2.x 时代,几乎每个基于 GNOME 的发行版都带有自定义主题。 这有助于让许多用户产生这样一种观念,即更改主题很简单,无需应用程序开发人员的额外努力。

加上其他 Linux 桌面环境仍然大量使用主题。 KDE Plasma、Xfce、Cinnamon 和其他工具通常有几个选项供您选择。

许多上述桌面环境也使用 GTK,但 GTK 3 实际上并没有主题 API。 平台和应用程序开发人员使用了 CSS 样式表。 默认的 GNOME 主题“Adwaita”实际上并不是一个主题,而是平台样式表的名称。 Adwaita 是梵文“唯一”的意思。

当像 Ubuntu 这样的发行版带有不同的默认主题时,它实际上带有一组手动重写的自定义样式表。 这不是一个简单的过程。 Ubuntu 21.04 没有与 GNOME 40 一起提供的部分原因是 Ubuntu 桌面团队想要更多时间来使主题兼容。

尽管如此,与 Microsoft Windows 或 Apple macOS 相比,GNOME 仍然相对容易定制和调整。

主题的缺点

有时主题会破坏应用程序设计。 通常它只是这里或那里的一个小怪癖,例如反转的颜色,一个图标以这样的方式更改,设置不再有意义,或者按钮周围的额外边框。

但有时损坏很严重,例如整个按钮丢失或间距被丢弃到界面元素不再正确排列的程度。

然后是品牌问题。 许多应用程序开发人员在他们的图标上投入了大量精力,并在桌面上使用一致的品牌。 更改该图标会使开发人员对其品牌的控制权减少,并可能导致某些用户感到困惑。

主题和应用程序制造商面临的挑战

在 Linux 生态系统中,通常无法立即明确向谁报告错误。 许多用户向应用程序开发人员报告错误,当应用程序开发人员从未打算支持的主题真正引入问题时,他们认为应用程序有问题。

这使应用程序开发人员处于不得不支持主题的令人沮丧的境地,因为许多用户来自预装了自定义主题的桌面,例如 Ubuntu 和 Pop!_OS。

同时,主题设计师为每个应用手动调整主题。 这在桌面应用程序很少的情况下是可以管理的,但随着 Linux 获得更多应用程序,它很快就会变得难以管理。

主题不是什么大不了的事吗?

现在,在 GNOME 上进行主题化对用户来说似乎相对简单,因为我们没有看到开发人员或主题制造商为修复主题导致的错误所做的所有工作。

发行版维护者和主题爱好者可能会高度重视拥有自己的外观和感觉的好处,以至于他们将偶尔出现的问题视为小问题。 然而对于其他用户来说,这些相同的问题可能表明 Linux 桌面尚未完成、不专业,并且不能替代专有操作系统。 许多 GNOME 开发人员对此感到沮丧并不奇怪。

虽然许多 GNOME 开发人员已经在 停止主题化我的应用程序 网页上,他们并没有正式代表整个 GNOME 社区,其中还包括从事那些选择发布自定义主题的发行版的成员。 社区的各个成员,比如 GNOME 用户自己,对这个问题有不同的看法。