deepin系统修改原生锁屏界面
UOS/DEEPIN修改原生DDE-LOCK
本文部分内容来源于deepin官方github,地址:https://github.com/linuxdeepin
10/14/2021 4:35:01 PM
资源列表:
- DTK API 文档:
DTK
的API
接口中文说明,自动同步更新 - Deepin 社区文档:核心为
DTK
团队的文档积累,社区爱好者的作品展示、技术交流 - QtExamples:个人积累,为
DTK
的源码架构一些理解和实战 - Deepin Wiki:
Deepin
在GitHub
上某些仓库都有写Wiki
。虽零碎,但有惊喜 - DTK 相关 PPT :《DTK 框架分享.pptx》 《DTK 框架介绍、优势对比.pptx》
1 DTK介绍
DTK(deepin tool kit)全称是 深度工具套件;是基于 Qt5 开发一整套界面美观且实用的 UI 图形库。
DTK包括以下内容:
- dtk 仓库的集合(集合 = dtkwidget + dtkgui + dtkcore + qt5integration)
- 偶也指 dtkwidget 这个仓库项目(仓库的名就叫 dtkwidget)
- deepin tool kit 是一个深度工具构建集合。
- 是 deepin/uos 系统开发应用软件,使用非 Qt 原生的样式控件的集合的开发环境
- dtk 也是构建 deepin/uos 全家桶的基石
###1.1 DTK历史:
- 2015 年 ,开发 v15 ,因开发控制中心(基于 Qt Widgets),开发的过程中抽象出了 dui 控件库(约三个月),仅有部分通用性的控件,仓库名称为 dui 。
- 2016 年初,随后开发其他项目,dui 中加的东西越来越多,也不仅限于 ui 方面的控件,之后就改名为了 deepin-tool-kit 项目。
- 2017 年底,随后成为了 DDE 桌面环境的底层开发库,封装了桌面组件和上层应用的通用型窗口、控件、工具类,随着项目过大,编译过慢,拆分为 dtkcore、dtkwidget、dtkwm,旧的 deepin-tool-kit 仓库地址处于废弃状态。
- 2019 年,新增 dtkgui 模块,废弃了 dtkwm(不可跨平台,强依赖 X11,因此废弃),此后分为 dtkcore、 dtkgui、dtkwidget,角色分别对应 Qt core、gui、widgets 模块。
- 2020 年,按照如今的理解为,dtk = dtkwidget + dtkgui + dtkcore + qt5integration
###1.2 DTK架构:
DTK 目前分为三个模块,dtkcore、dtkgui,dtkwidget,主要功能如下:
2 DDE介绍
DDE(deepin desktop environment) 简称 深度桌面环境;是采用 qt 作为前端,go 为后端,gala 作为 wm,lightdm 作为 dm 的独立开发的桌面环境。
2.1 架构总览
官方提供的DDE UI包括dde ui component + ddepin-policykit-agent + deepin-gtk-theme
其中dde ui component 主要是指dde-session-shell这个项目,该项目为QT项目,github开源。
2.2 dde-session-shell
dde-session-shell 项目为dde-ui-component组件,该开源项目提供deepin/uos的锁屏界面、登录界面、关机界面、桌面低栏、控制中心等界面程序,界面为QT语言开发,详细编译出的程序如下:
- dde-dock
- dde-launcher
- dde-control-center
- dde-osd
- dde-lock
最新代码只输出:
- dde-lock
- lightdm-deepin-greeter
主要界面被合并到dde-lock程序中,通过dbus或者消息通知界面完成显示切换。
2.3 deepin-policykit-agent
该项目为deepin系统授权弹窗程序,该程序功能为读取配置文件,显示授权输入窗体,完成程序授权操作。
2.4 deepin-gtk-theme
该项目为deepin提供系统主题。
3 dde-session-shell 实践
3.1准备
源码地址:
- https://github.com/linuxdeepin/dtkcore
- https://github.com/linuxdeepin/dde-session-shell
首先下载源码,尽量保证所下源码版本和系统已装deb版本一致,避免不兼容问题。
源码下载方法可以使用github地址下载,手动选择匹配tab;或者使用apt source dtkcore 来自动下载与系统匹配的源码。
编译顺序为 dtkcore -> dde-session-shell,因为dtkcore为dde桌面组件提供基础库。
其次安装依赖库:
- 使能/etc/apt/source.list第二行的注释,该源地址提供更多库
sudo apt-get udpate
sudo apt install qt5-default qtcreator cmake g++ git
sudo apt install libdtkwidget-dev libdtkgui-dev libdtkcore-dev
3.2 编译dtkcore
源码编译:
cd dtkcore
sudo apt build-dep dtkcore
; 生成相应依赖库mkdir build;cd build
qmake ..
make
sudo make install
命令行安装:
官方说也可以直接apt安装dtkcore,但是我安装后没有起作用;
sudo apt install deepin-sdk qtcreator-template-dtk
3.3 编译dde-session-shell
在dtkcore安装的基础上,源码编译dde-session-shell;
cd dde-session-shell
mkdir build
cmake ..
make
注意:在cmake 步骤,会不断的提示有依赖包未发现,根据提示,使用sudo apt-get install libXXX-dev
命令,即可解决依赖问题。
在make完毕,build目录会生成lightdm-deepin-greeter 、dde-lock、tests
依赖包未发现,根据提示,使用sudo apt-get install libXXX-dev
命令,即可解决依赖问题。
在make完毕,build目录会生成lightdm-deepin-greeter 、dde-lock、tests
替换/usr/bin/dde-lock程序,即完成锁屏界面替换。
deepin系统修改原生锁屏界面相关推荐
- 《SystemUI》修改SystemUI锁屏界面时间格式
要求:修改SystemUI锁屏界面时间格式 Android P 上Sysyemui锁屏界面上的日期显示不在DateView处理了,使用KeyguardSliceProvider来处理,继承Conten ...
- 修改win7锁屏界面背景
修改win7锁屏界面背景步骤: 1.打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\L ...
- android 系统 锁屏界面,在安卓手机系统使用Ubuntu漂亮的锁屏界面攻略
如果你了解Ubuntu系统,那么绝对会被它那漂亮的锁屏界面所吸引.今天我们就让广大Android用户能够提前感受一下Ubuntu系统的锁屏界面,并且不会有任何功能上的影响,所有的通知与信息都可以正常显 ...
- 网易云音乐锁屏界面实现
2019独角兽企业重金招聘Python工程师标准>>> ######最终效果: #完整的实现思路: App如果需要在锁屏界面上显示相关的信息和按钮, 必须先开启远程控制事件(Remo ...
- win8系统如何修改锁屏界面壁纸
1,进入设置----电脑和设备 2,进入锁屏界面----浏览,选择喜欢的桌面壁纸
- android 原生分享界面_手机资讯:省时省力!直接在锁屏界面打开应用App
如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道省时省力!直接在锁屏界面打开应用App,那么既然现 ...
- 【2022年】Win11修改锁屏界面、登录界面背景图片方法(亲测有效)
最近想给自己的电脑换个壁纸,桌面壁纸自定义已经玩的很熟了,就想设置一个登录界面的壁纸.毕竟每次锁屏(win+L),或者是开机输密码的时候都是那个大蓝色背景(见图1),看久了也累了.故作此文. 起因 本 ...
- linux系统lockscreen,iOS 5.1.1 锁屏界面(LockScreen)仿 HTC Sense 天气插件
以前转了一个 iOS 利用 HTC Weather Animated PerpageHTML 实现仿 HTC 天气时钟的帖子: 这天气更新了 iOS 5.1.1 的完美越狱,现在发现以前放在 Page ...
- 怎么更改锁定计算机背景图片,Win7系统怎么更改锁屏壁纸?注册表如何修改锁屏壁纸?...
Win7系统怎么更改锁屏壁纸?很多第三方软件都可以做到,但我们该如何手动设置锁屏壁纸呢?本文将配合使用注册表修改Win7系统的锁屏壁纸的步骤进行一个详细的讲解,具体步骤请看下文. Win7系统更改锁屏 ...
最新文章
- NLP之NBGBT:基于朴素贝叶斯(count/tfidf+网格搜索+4fCrva)、梯度提升树(w2c+网格搜索+4fCrva)算法对IMDB影评数据集进行文本情感分析(情感二分类预测)
- anaconda中安装xgboost_Anaconda是什么?Anconda下载安装教程 - python基础入门(16)
- HTML+CSS+JS实现 ❤️slicebox酷炫3d图片轮播切换❤️
- 原力值13872,不知道排名多少
- linux执行命令在哪,在linux终端中执行root命令有哪些方法
- ae效果英文版翻译对照表_AE CS6 最全特效中英翻译
- 多数据源配置MyBatisPlus(十八)
- 阿里云 mysql 创建数据库 账户密码 外网连接等
- 桃花院长:怎么找对象?相亲过来人告诉你...
- centos部署hadoop完全分布式
- 4.基于Android 12 分析系统启动过程
- MarkDown: 为字体添加颜色
- 2022.7.14 花旗银行外包面试
- 微信支付之01------获取订单微信支付二维码的接口------Java实现
- ITE平台开发 chapter5之jperf测试网络吞吐量
- 网络客户/服务器程序
- 电脑无法连接micro:bit的USB
- 西电计算机学院名誉院长,杨孟飞院士受聘为西电计科院名誉院长及讲席教授
- 利用cookie和jsp写一个简单的登录判断的网页,并获取上次的登录的时间。
- 硬盘 不属于Rom RAM