开发者如何向 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 是扩展在平台上的唯一标识,提交后一般不应随意更改。
提交步骤
- 注册并登录:打开 extensions.gnome.org,点击 Register 创建账户,然后用 Username or email 和密码登录。
- 阅读 Developers Guide:从导航栏进入 Developers Guide,确认当前的开发规范、支持的 Shell 版本和提交要求。
- 打包扩展:把扩展文件打成 zip 包,确保
metadata.json位于压缩包根目录,且 UUID 与内容一致。 - 进入 Add yours:登录后点击导航栏的 Add yours,进入提交页面。
- 上传并填写信息:上传 zip 包,按页面要求填写名称、描述、版本、支持的 Shell 版本等信息。
- 等待审核:提交后扩展会进入审核流程,审核通过后才会在站点上公开可见。
验证提交是否成功
提交完成后,可以在自己的账户下查看扩展状态。审核通过后,扩展会出现在站点的扩展列表中,其他用户可以通过搜索或直接访问扩展页面进行安装。如果状态长期停留在待审核,通常需要检查是否符合 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。