开发者如何向 GNOME Shell Extensions 提交自己的扩展?

在 extensions.gnome.org 上提交扩展的入口是导航栏里的 Add yours,前提是你已经注册并登录账户。提交前需要先按 GNOME Shell 的扩展规范完成开发,并参考站内的 Developers Guide 准备代码与元数据。网站本身只提供提交与分发入口,不代替你完成开发或审核。

提交前需要准备什么

一个可用的账户

网站导航栏提供 登录 入口,字段为 Username or email 和密码,旁边有 Forgot your password? 与 Register 链接。也就是说,没有账户的开发者要先通过 Register 注册,再登录后才能进入提交流程。

一个符合规范的扩展

站点导航中包含 Developers Guide,这是开发与提交的官方指引入口。扩展需要符合 GNOME Shell 的规范与审核要求,这部分以 Developers Guide 的内容为准,不要凭经验假设。

扩展的基本构成

一个 GNOME Shell 扩展通常至少包含:

  • metadata.json:声明扩展的 UUID、名称、描述、支持的 Shell 版本等
  • extension.js:扩展的主逻辑
  • 可选的 prefs.js、样式表、图标等资源

UUID 是扩展在平台上的唯一标识,提交后一般不应随意更改。

提交步骤

  1. 注册并登录:打开 extensions.gnome.org,点击 Register 创建账户,然后用 Username or email 和密码登录。
  2. 阅读 Developers Guide:从导航栏进入 Developers Guide,确认当前的开发规范、支持的 Shell 版本和提交要求。
  3. 打包扩展:把扩展文件打成 zip 包,确保 metadata.json 位于压缩包根目录,且 UUID 与内容一致。
  4. 进入 Add yours:登录后点击导航栏的 Add yours,进入提交页面。
  5. 上传并填写信息:上传 zip 包,按页面要求填写名称、描述、版本、支持的 Shell 版本等信息。
  6. 等待审核:提交后扩展会进入审核流程,审核通过后才会在站点上公开可见。

验证提交是否成功

提交完成后,可以在自己的账户下查看扩展状态。审核通过后,扩展会出现在站点的扩展列表中,其他用户可以通过搜索或直接访问扩展页面进行安装。如果状态长期停留在待审核,通常需要检查是否符合 Developers Guide 中的要求,而不是重复提交。

常见卡点

  • 未登录就找提交入口:Add yours 需要登录后才可用,未登录时可能看不到或无法操作。
  • UUID 冲突或格式错误:UUID 必须唯一,且与 metadata.json 中的声明一致。
  • Shell 版本不匹配:metadata.json 中声明的 shell-version 必须覆盖目标 GNOME Shell 版本,否则用户无法启用。
  • 压缩包结构错误:metadata.json 不在根目录会导致平台无法识别扩展。
  • 忽略 Developers Guide:规范会随 GNOME Shell 版本变化,直接照搬旧教程容易在审核阶段被拒。

关于这个平台

extensions.gnome.org 是 GNOME 官方的 GNOME Shell 扩展分发站点,由 GNOME Project 运营,页面版权标注为 2005‒2026,内容采用 CC-BY 许可,托管于 Red Hat,基于 Django 和 SweetTooth 构建。站点同时提供 Installed extensions、About、Developers Guide 等入口,开发者提交扩展的起点就是其中的 Add yours。

extensions.gnome.org