当前位置: 首页 > news >正文

Linux系统将Mint 便签源码打包成deb包并进行安装

网上有提供Ubuntu安装Mint便签的命令,此处不再赘述。而是通过Github Mint便签的说明书,对Mint便签的源码打包成deb包并进行安装。作为练习,方便以后对其他源码进行打包安装。

一、Mint Sticky的介绍

Sticky是一款适用于Linux桌面的笔记应用程序,它模拟了桌面上传统的“便签”风格文具。它的一些功能包括基本的文本格式(粗体、斜体、等宽等)、拼写检查、用于控制笔记可见性的托盘图标、彩色笔记、手动和自动备份,以及将笔记组织成组的管理器。Sticky是用Python编写的,并使用GTK3工具包

二、dpkg-buildpackage是什么

我们常常使用dpkg-buildpackage工具来编译代码并生成debian安装包。dpkg-buildpackage规定了相应的文件结构和制作流程。dpkg-buildpackage一个很强大有功能是能够自动检测如何编译相关代码,比如,它首先知道如何去调用相应的Makefile文件来编译源程序,然后将编译结果放置在指定的目录中,最后将编译结果打包成deb格式的安装包。
对于一个已有的工程,会涉及到如何更改其安装选项,比如,可以通过DESTDIR指定编译结果存放的目录,默认是debian/tmp目录。如果需要更改deb安装包中文件的安装目录,则需要修改对应模块Makefile中的prefix。dpkg-buildpackage在制作安装包的过程中,会将编译结果安装prefix指定的目录格式存放在DESTDIR指定的目录下。还可以通过control文件修改deb安装包的依赖选项。

三、如何build和安装

1、下载源代码并进入源代码目录

(1) 进入/opt目录,git clone sticky源码

cd /opt
git clone https://github.com/collinss/sticky.git

(2) 进入sticky目录

cd sticky

2、安装Debian软件包开发工具以及各种依赖,对源码进行打包成deb包,最后安装

尝试着build它。如果失败,可能是由于缺少依赖关系。
注意这些软件包:dpkg-dev,debhelper,dh-python meson。你的系统可能会缺少这些软件包,使用sudo apt-get install或者sudo aptitude install安装它们。
此处我选择sudo aptitude install安装上述软件包
如果缺少依赖, 请执行:sudo apt --fix-broken install

(1) 安装Debian软件包开发工具,含有dpkg-buildpackage命令
sudo aptitude install dpkg-dev

(2) 安装dpkg-buildpackage命令的依赖包
sudo aptitude install debhelper
sudo aptitude install dh-python meson

(3) sticky源文件打包成deb包,在建包过程中会自动make和build
dpkg-buildpackage --no-sign

(4) 如果还缺少依赖,请执行
sudo apt --fix-broken install

再执行打包命令:

dpkg-buildpackage --no-sign

(5) 打包成功后,退出sticky目录,安装在/opt目录下打包好的sticky*.deb包

cd ..
sudo dpkg -i sticky*.deb

(6) 在打包过程中还会提醒缺少依赖,请执行
sudo apt --fix-broken install

再安装打包好的sticky*.deb包

sudo dpkg -i sticky*.deb

(7) 通过whereis sticky,可以看到安装到以下目录
$ whereis sticky
sticky: /usr/bin/sticky /usr/lib/sticky /usr/share/sticky

经过上述执行,已经可以在开始菜单看到Mint Sticky了。

在首选项进行如下设置:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • HCL实验1:两台PC通过交换机ping通
  • 支持AI的好用的编辑器aieditor
  • 网络爬虫必备工具:代理IP科普指南
  • 科普文:深入理解ElasticSearch体系结构
  • Elasticsearch(ES)版本升级
  • 生成式AI在金融领域的研究与应用
  • openfoam中的空气导热系数是怎样确定的,并没有直接kappa的指定
  • python ix什么意思
  • MTK6983/MT6983天玑9000芯片详细性能参数_MTK联发科5G方案定制
  • 复阻抗压缩总结(一)
  • web基础及nginx搭建
  • Web前端:HTML篇(七)表单
  • angular入门基础教程(五)父子组件的数据通信
  • 七天打造一套量化交易系统:Day6-人工智能在量化投资中的应用
  • 【建议收藏】大数据Hadoop实战入门手册,配套B站视频教程1小时速通
  • [deviceone开发]-do_Webview的基本示例
  • 2017 年终总结 —— 在路上
  • C++类中的特殊成员函数
  • js继承的实现方法
  • Vim 折腾记
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 从0到1:PostCSS 插件开发最佳实践
  • 区块链将重新定义世界
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 使用 QuickBI 搭建酷炫可视化分析
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 问题之ssh中Host key verification failed的解决
  • 一道面试题引发的“血案”
  • Java性能优化之JVM GC(垃圾回收机制)
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • (4.10~4.16)
  • (9)STL算法之逆转旋转
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (HAL库版)freeRTOS移植STMF103
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (分布式缓存)Redis哨兵
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (篇九)MySQL常用内置函数
  • (十八)Flink CEP 详解
  • (算法)Travel Information Center
  • (算法)区间调度问题
  • (原)Matlab的svmtrain和svmclassify
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)linux下的时间函数使用
  • (转)德国人的记事本
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...