DDE 控制中心自启动管理插件可单独编译、集成至 DDE 控制中心、集中展示并管理Deepin
系统中软件开机自启动设置。
本项目参加2023全国大学生计算机系统能力大赛操作系统设计赛-功能挑战赛,选题为proj223-control-center-startup-management-plugin。
参赛小组:
- 复旦大学 朱元依
- 复旦大学 沈扬
- 复旦大学 朱俊杰
指导老师:
- 复旦大学 张亮
- 复旦大学 陈辰
- 企业导师 王子冲
项目文档位于根目录的决赛报告.md
。
博客地址:https://y-aang.github.io (题目:DDE 控制中心自启动管理插件)
任务 | 完成情况 |
---|---|
(必须)完成一个控制中心插件,能够展示当前所有开机启动项的列表 | 完成 |
(必须)插件以单独的仓库提供,并能够单独构建,不需要合并入 dde-control-center 项目 | 完成 |
(必须)能够在插件中,通过用户界面的交互来管理(添加、删除、启用、禁用)开机启动项 | 完成 |
(必须)编写博客,记录开发过程的心得与体会,并将博客投递至 planet.deepin.org | 完成博客编写,待deepin官方审核 |
功能展示视频链接:
链接:https://pan.baidu.com/s/1YgvhbZ8pypE4CFhuBYw3eg 提取码:rwcc
插件图标:
自启动管理窗口:
添加自启动应用选择界面:
开发环境:Deepin V23Beta版
系统架构:x86
镜像下载链接:https://mirrors.ustc.edu.cn/deepin-cd/releases/23-Beta/
虚拟机平台:WMware Workstation 16Pro
操作系统环境搭建参考博客:https://blog.csdn.net/qq_44133136/article/details/105887560
安装依赖包:
sudo apt build-dep .
sudo apt install -y qt5-default
sudo apt-get install dde-control-center-dev
sudo sh shell.sh
安装成功后,打开控制中心,会看到以下自启动插件图标,即为安装成功:
此时,如果进入/usr/lib/x86_64-linux-gnu/dde-control-center/modules/
文件夹,看到编译出的.so
文件已经被下载到该文件夹中:
sudo sh uninstall.sh
重启控制中心,可以看到原本的“自启动管理”图标消失,即为卸载成功。
朱元依:插件前端开发
沈扬:环境配置,编写配置文件
朱俊杰:后端接口开发(添加、删除、启用、禁用)
- 调研
Deepin
、dde-dock
、QT
框架等相关内容 - 设计项目方案
- 分工
- 搭建主体插件类的框架
- 设计启动项管理窗口的前端展示页面
- 开发部件类接口
- 完善插件类功能
- 插件类右键功能开发
- 完成配置文件
- Debug
- 撰写文档
(以上DDE-Dock自启动插件开发均在初赛完成,项目地址见末尾)
- 调研
DDE Control Center
框架等相关内容 - 设计前端界面
- 分工
- 编译教程中的
Hello World
控制中心插件 - 设计插件架构
- 配置环境,编译V20示例插件
- 设计后端接口
- 修改
window
、operation
、category
下的文件
- 配置环境,编译
Default-App
与Self Start-up
插件 - Debug
- 修改翻译、文字颜色问题
- 撰写文档
Qt 插件标准:https://wiki.qt.io/Plugins
deepin V23 dde-control-center
文档:dde-control-center: dde-control-center (linuxdeepin.github.io)
dde-control-center
控制中心插件开发示例:控制中心插件 - deepin开发者平台
qt-5
手册:https://doc.qt.io/qt-5/
deepin 应用自启动说明:https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html
【说明】 由于控制中心的插件对于外观的统一性具有较高的要求,因此,我们仓库中的include/interface
,include/widgets
,src/interface
,src/widgets
,src/frame
下的文件均来自dde-control-center源代码仓库,以保证插件接口的一致性和外观的统一性。
关于deepin
开机自启动项的讨论:https://bbs.deepin.org/zh/post/169824、https://blog.csdn.net/qq_21137441/article/details/124825726
dde-control-center
仓库:https://github.com/linuxdeepin/dde-control-center.git
其他开发者的插件项目:https://github.com/linuxdeepin/dde-network-core/tree/master
除控制中心自启动插件外,我们还编写了DDE-Dock自启动插件,将自启动管理功能集成入DDE-Dock中,提供更为轻便快捷的管理界面。