[AI Development Lab] 【deepin插件开发活动】dde-dock-reboot-plugin 重启插件
Tofloor
poster avatar
hotime
deepin
2026-08-16 00:49
Author

dde-dock-reboot-plugin

作品简介

dde-dock-reboot-plugin 是一款 DDE 任务栏「重启」托盘插件(活动方向二:任务栏托盘插件):一键重启至其他系统(如 Windows、其他 Linux 发行版等)。通过托盘卡片中点击目标系统 → 自动设置下次启动项并重启。

功能特性

  • 一键重启:左键托盘图标,弹出 rEFInd 风格卡片面板,点击目标系统经 polkit 授权后重启
  • 卡片式面板:大图标 + 简称显示,横向滑动/滚轮浏览,悬停显示完整启动项名称
  • 编辑模式:点击标题栏「编辑」按钮进入,支持修改启动项名称、更换 OS 图标
  • 内联名称编辑:点击卡片文字区域直接编辑,Enter 保存 / Esc 取消 / 点击外部提交
  • 图标选择:点击卡片图标区域跳转图标选择页,单击即生效,支持自定义图标导入
  • 右键菜单:控制启动项显隐(系统设置/修复/回退/当前系统)、编辑按钮显隐、图标风格切换(Color / WhiteSur)
  • 图标风格切换:内置两套 OS 图标(WhiteSur 默认 / Color),右键菜单切换即生效
  • 控制中心集成:可在「控制中心 → 个性化 → 任务栏 → 插件区域」显示/隐藏
  • 亮暗主题自适应:DCI 图标内置 light/dark 双主题,随系统主题自动切换
  • 多语言支持:简体中文、繁体中文(台湾/香港)、英文

安装

从 deb 包安装

sudo apt install ./dde-dock-reboot-plugin_*.deb

使插件生效

killall dde-shell 2>/dev/null; killall trayplugin-loader 2>/dev/null

在控制中心显示

打开 控制中心 → 个性化 → 任务栏 → 插件区域,开启「重启至其他系统」。

使用

重启至其他系统

  1. 左键点击任务栏托盘区域的重启图标
  2. 在弹出的卡片面板中,点击目标系统的卡片
  3. 在弹出的授权对话框中输入密码
  4. 系统将重启至选定的操作系统

卡片面板支持横向滑动浏览,滚轮也可滚动。

面板常态

面板常态hover

鉴权

右键菜单

右键点击托盘图标,可以:

  • 启动菜单:控制特殊启动项的显隐(系统设置、修复模式、回退系统、当前系统)
  • 图标风格:切换 OS 图标风格(WhiteSur / Color,WhiteSur 为默认)
  • 面板设置:显示/隐藏编辑按钮

右键菜单

编辑模式

点击标题栏的 编辑 按钮进入编辑模式:

编辑模式

修改启动项名称

  1. 在编辑模式下,点击系统卡片上的文字区域
  2. 在出现的输入框中修改名称
  3. 按 Enter 保存,按 Esc 取消,或点击编辑框外任意位置提交

名称编辑

更换图标

  1. 在编辑模式下,点击系统卡片上的图标区域
  2. 在图标选择页面中,点击想要使用的图标
  3. 图标立即生效,点击 返回 按钮回到主面板

图标选择

添加自定义图标

  1. 将 PNG/JPG/SVG 格式的图标文件(建议 64×64)放入用户图标目录,可点击右上角按钮打开:

    ~/.local/share/deepin/dde-dock-reboot-plugin/icons/
    
  2. 在图标选择页面中即可看到并选择新图标

图标选择空态

恢复默认

在编辑模式下,点击标题栏的 重置 按钮,清除全部自定义(名称和图标)。

恢复默认

图标风格

插件内置两套 OS 图标风格,右键菜单切换即生效:

风格 说明
WhiteSur(默认) 圆角矩形背景,简洁现代
Color 圆形单色背景

Color 风格

技术实现

  • 启动项获取:通过 deepin Grub2 DBus 服务(org.deepin.dde.Grub2)获取启动项标题列表(root 运行)
  • 重启流程:grub-reboot "<启动项标题>" 设定下次启动项,成功后通过 deepin Shutdown 服务重启
  • 授权机制:root helper(org.deepin.dde.Reboot1)polkit 授权,D-Bus 按需激活 + systemd 管理
  • 架构:三层分离——入口层编排 → 面板层渲染(常态页/编辑页/图标选择页)→ 数据层持久化
  • 图标体系:托盘 DCI 图标(亮暗双主题);OS 图标按风格分子目录(os/{color|whitesur}/);支持用户自定义图标
  • 配置存储:~/.config/deepin/dde-dock-reboot-plugin/config.json

常见问题

插件未显示

  1. 确认已安装:dpkg -l | grep dde-dock-reboot-plugin
  2. 确认已在控制中心开启
  3. 重启任务栏:killall dde-shell 2>/dev/null; killall trayplugin-loader 2>/dev/null

重启失败

  • 「未找到 GRUB 配置」→ 确认使用 GRUB 引导
  • 授权失败 → 确认当前用户有管理员权限

图标不显示

  • 系统图标按风格存储在 /usr/share/dde-dock-reboot-plugin/icons/os/{color|whitesur}/
  • 用户自定义图标存储在 ~/.local/share/deepin/dde-dock-reboot-plugin/icons/
  • 支持格式:PNG、JPG、JPEG、SVG

卸载

sudo apt remove dde-dock-reboot-plugin

卸载后重启任务栏使更改生效。

开发过程说明(deepin Skills 辅助开发)

**本项目全程使用 **deepin Skills(dde-tray-development 等)辅助开发,覆盖:

  • 插件接口规范(PluginsItemInterfaceV2)、托盘图标加载链路、右键菜单协议、refreshIcon/icon() 约定;
  • DCI 图标规范(deepin-specifications 图标文件规范)、svgs2dci 工具(SVG → DCI);
  • deepin 配置/许可惯例(REUSE、LGPL-3.0 代码 + GPL-3.0 图标数据合规);
  • 关键排错:D-Bus 激活(systemd 激活 vs 直接 Exec)、polkit 授权(服务端 CheckAuthorization)、DCI 亮暗主题切换(DDciIcon 显式渲染)等。

11.png

12.png

13.png

14.png

15.png

源码与协议

  • 源码仓库: https://atomgit.com/hotime/dde-dock-reboot-plugin
  • 开源协议:LGPL-3.0(插件代码,与 dde-dock 插件接口一致);os 图标为 GPL-3.0(独立数据文件,来源于 grub2-themes);
  • 支持平台: deepin 25 / UOS 25(DTK ≥ 6.7、dde-daemon ≥ 6.1)。
Reply Favorite View the author
All Replies
avatar
𰻞𰻝面
deepin
2026-08-16 10:44
#1

这个好玩,就像电视盒子重启到游戏机一样

Reply View the author
avatar
骑🐖追帅哥bot
Moderator
2026-08-16 13:14
#2

tail

Reply View the author