上接(UOS打包deb教程):

http://t.csdn.cn/ymEbD

一、图标

1.注意图标不要太大,否则显示不出来。 256x256就够了
2.UOS图标在desktop文件(桌面)中连接,abc.desktop文件:

[Desktop Entry]
Categories=Application;Development;
Comment=客户端
Encoding=UTF-8
Exec=/opt/apps/abc/files/bin/abc.sh %f
Icon=/opt/apps/abc/entries/icons/hicolor/256x256/abc.png      #此处写图标路径,方便找
name=abc
StartupNotify=false
Terminal=false
Type=Application
X-Deepin-Vendor=user-custom

3.下边任务栏图标:需要将desktop复制一份到:/usr/share/applications/abc.desktop.
检查一下有没有,没有的话需要在制作安装包时在脚本中指定这个复制。

二、文件与程序关联并
(1)需求:双击某一类文件时可以自动打开我的应用程序,并且让文件显示应用程序的图标(例如文件后缀为.ab)

(2)linux系统有一个mime记录文件类型,刚好可以用来实现此需求。
参考:

总结: https://blog.csdn.net/weixin_42525189/article/details/116821601
图标: https://blog.csdn.net/nahancy/article/details/126079402
xdg-mime: https://linux.die.net/man/1/xdg-mime
https://specifications.freedesktop.org/shared-mime-info-spec/latest/

(3)解决:

  1. 写一个xml文件(这个是用于告诉mime我有一个新的文件类型),名为:程序名-文件后缀.xml(例如:office-docx.xml),填写如下内容,然后将其放到你放程序的同目录下(我以程序名abc,文件后缀ab为例)
    第三行(type)是文件类型,我的ab属于application类,也有别的类型如text,可以去/usr/share/mime/globs中查看,第5行是文件要用的图标的名字,
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'><mime-type type="application/ab">      <comment>File for YeecohReader</comment><generic-icon name="application-x-ab"/><glob pattern="*.ab"/>    </mime-type>
</mime-info>

2.在debian文件夹(上篇博文提到的)中新建一个postinst文件(这是deb包能识别的一个脚本文件,无后缀名),在其中填写:

#!/bin/bash
xdg-mime install /opt/apps/abc/files/abc-ab.xml       #上面那个xml文件xdg-mime default /opt/apps/yeecohreader/entries/applications/yeecohreader.desktop application/rxf     #将文件与应用联系起来#放置图片
xdg-icon-resource install --size 16 --context mimetypes /opt/apps/abc/entries/icons/hicolor/16x16/mimetypes/abc.png application-x-rxf
xdg-icon-resource install --size 32 --context mimetypes /opt/apps/abc/entries/icons/hicolor/32x32/mimetypes/abc.png application-x-rxf
xdg-icon-resource install --size 48 --context mimetypes /opt/apps/abc/entries/icons/hicolor/48x48/mimetypes/abc.png application-x-rxf
xdg-icon-resource install --size 64 --context mimetypes /opt/apps/abc/entries/icons/hicolor/64x64/mimetypes/abc.png application-x-rxf
xdg-icon-resource install --size 128 --context mimetypes /opt/apps/abc/entries/icons/hicolor/128x128/mimetypes/abc.png application-x-rxf
xdg-icon-resource install --size 256 --context mimetypes /opt/apps/abc/entries/icons/hicolor/256x256/abc.png application-x-rxfgtk-update-icon-cache /usr/share/icons/hicolor/        #给文件类型添加图标
update-mime-database -V /usr/share/mime/   #更新文件类型数据库
update-mime-database /usr/share/mime/
update-desktop-database /usr/share/applications/

上面几行相近的语句是把不同大小的文件图标放到合适的位置,并将名字改为:application-x-ab,与xml中的名字对应,改图片大小的网站:改图宝

  1. 很重要! 在desktop文件的最后加上下面这句语句,用于让应用程序知道它与文件关联。另外,在desktop问价中exec那一行的后面要加上:%U或%F或%f,这样安装后的应用程序就可以出现在文件的“打开方式”列表里了
MimeType=application/ab

然后重新生成deb包,再安装就会发现文件有图标了,也能点击文件进入程序了

qt程序打包(5) linux(UOS)应用程序图标以及 文件关联应用程序相关推荐

  1. Linux下的图标与文件关联机制:freedesktop

    Linux下的图标与文件关联机制:freedesktop 目前主流的Linux发行版中,使用的桌面基本都是基于GNOME.KDE.Xfce等环境,这几种桌面环境中,关于桌面图标,文件关联,应用程序启动 ...

  2. Linux文件关联详解 linux 修改默认文件关联打开程序

    linux 修改默认文件关联打开程序 从总体上讲 /etc/gnome/defaults.list 保存了全局的打开方式 /.local/share/applications/mimeapps.lis ...

  3. pyqt打包成linux可执行程序,PyQtopencv图像处理(5):python程序打包成可执行文件...

    让我们稍微休息一下,来把我们目前写好的小程序打包成.exe文件. python程序打包有一些方法,py2exe和pyinstaller.其中py2exe的安装比较方便,但是打包起来比较麻烦:而pyin ...

  4. python购物车程序详解用字典_使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

  5. eclipse将程序打包放到linux运行

    http://jingyan.baidu.com/article/4dc40848b5a8c9c8d946f139.html https://blog.csdn.net/skylin19840101/ ...

  6. python pdb 安装_Python MMTK“没有与..pdb文件关联的程序,请安装合适的查看器”

    我对编程和计算机世界还不熟悉.我想用MMTK研究生物分子模拟.在 我在Windows 7中运行,并且已经安装了此软件:python-2.5.4 numpy-1.6.2-win32-superpack- ...

  7. 关于win7注册表中文件关联应用程序的规则

    最近在做一个关于应用程序和文件图标的工具,过程中需要了解windows如何给文件选择展示图标和默认打开方式的问题,各种论坛上有关资料查了很多,但是自己一旦尝试过后就会发现所讲的都很表面,不能代表win ...

  8. 统信UOS,使用命令设置文件关联和修改关联失败的解决方法

    前言 在UOS中,修改文件的默认关联,最简单的方法,是在要修改的文件上点击右键,选择"打开方式"->"选择默认程序" 然后在弹出的列表中选择默认的程序,勾 ...

  9. qt客户端打包_悬赏问答 - QT 类似QQ的 服务器与客户端程序 程序打包+数据库问题...

    这个服务器可不可以移动(从一个电脑到另一个电脑)? 如果可以,那么移动到另一台电脑上时,是不是对这个电脑有要求(比如说数据库)? 写了一个QT的服务器 带有MySql数据库 然后想打包发布出去 但是想 ...

最新文章

  1. [置顶] 电信系统方案 电信Boss系统
  2. gsoap初始化释放_通过gsoap使用webservice
  3. 2022年移动应用趋势洞察白皮书
  4. wap移动网页开发rem用法
  5. 联想高校AI精英挑战赛移师冰城,哈工大上演人工智能创业大秀
  6. 阿里巴巴2020首发136道Java高级岗面试题(含答案)
  7. Cocos2dx之UI组件
  8. 在firefox 2.0.0.3中使用onenote 2007收集资料
  9. GandCrab勒索病毒
  10. - 麦田守望者 -读后感
  11. 从外包月薪5K到阿里月薪15K,大厂面试必备技能
  12. 视频直播:职场如何升职加薪?
  13. AT指令表(中文详解)
  14. 协方差及协方差矩阵的理解
  15. 贵有恒,若事事勤思善问,何患不一日千里?--惭愧
  16. 比较一下 Spring Security 和 Shiro 各自的优缺点
  17. fiddler抓取不了PC端微信小程序的包解决方法
  18. c++ memset函数
  19. 手机外接usb摄像头软件下载_细思极恐,手机软件会偷偷打开摄像头?
  20. python文件.csv和.dta格式互转

热门文章

  1. 产品经理需要具备哪些素质?
  2. 全志h2参数_全志H2怎么样 H2芯片参数介绍
  3. 【BUAA_CO_LAB】计组p2碎碎念
  4. 科普 | 元宇宙 | 体验完“元宇宙入口”,我有点晕
  5. python实现共轭梯度法
  6. 微信公众号给女友推送消息,无需手写代码(超全)
  7. 芬兰ZYFRA公司在首届中俄创新大赛中获胜
  8. usb disconnect
  9. 论文检测系统如何选择?
  10. 网络营销实战课-微博实操