状态通知项:标准与非标准撕裂Linux桌面
StatusNotifierItem: Standard Non-Standards Tear Linux Desktops Apart

原始链接: https://hackaday.com/2025/06/17/statusnotifieritem-how-standard-non-standards-tear-linux-desktops-apart/

Linux GUI 应用开发的复杂性源于其“标准”的碎片化。尽管 Freedesktop 旨在提供一致性,但其规范往往是草案或第三方约定。一个关键的例子是系统托盘图标的 StatusNotifierItem 规范,这是 Windows 和 macOS 中常见的功能,用于快速访问和状态更新。 尽管它很有用,但 Gnome 等 Linux 环境却反对系统托盘图标,引发了诸多争论。虽然 KDE 已实现第一方支持,但 StatusNotifierItem 在 Freedesktop 上仍处于“草案”状态,其作为标准的合法性内部争论不断。这种分歧突显了 Linux 桌面体验缺乏共识。缺乏像已失效的 Linux 标准基准 (LSB) 那样强大的统一努力,导致开发者和用户在冲突的愿景中摸索,影响了应用程序的一致性和可用性。

Hacker News new | past | comments | ask | show | jobs | submit login StatusNotifierItem: Standard Non-Standards Tear Linux Desktops Apart (hackaday.com)8 points by mzehrer 1 day ago | hide | past | favorite | discuss Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4 Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:
相关文章

原文

Theoretically when you write a GUI-based application for Linux there are standards to follow, with these all neatly documented over at the Freedesktop website. However, in reality, Freedesktop is more of a loose collection of specifications, some of which are third-party specifications that have somehow become the de facto standard. One example of this is the StatusNotifierItem spec that provides a way for applications to create and manage a ‘system tray’ icon.

This feature is incredibly useful for providing a consistent way to users for quickly accessing functionality and to see application status. Unfortunately, as [Brodie Robertson] notes in a recent video, not everyone agrees with this notion. Despite that Windows since 95 as well as MacOS/OS X and others provide similar functionality, Gnome and other Linux desktop environments oppose such system tray icons (despite a popular extension), with an inevitable discussion on Reddit as a result.

Although the StatusNotifierItem specification is listed on the Freedesktop website, it’s under ‘Draft specifications’ along with another, apparently internal-but-unfinished System tray proposal. Meanwhile DEs like KDE have integrated first-party support (KStatusNotifierItem) for the specification. There’s currently an active Freedesktop Gitlab discussion on the topic, whether StatusNotifierItem should even be in the list, or become an approved specification.

With the specification mired in bureaucracy and multiple camps pushing their own idea of what ‘the Linux desktop’ should look like, it feels like a real shame that the Linux Standard Base effort died a decade ago. Users and developers just want their desktop environment to come with zero surprises, after all.

联系我们 contact @ memedata.com