在Linux桌面系统中,如果需要自己添加一个应用程序,如果是标准的bin, lib, share结构,我通常将其放在/usr/local/bin中。如果非这样,或者程序文件很多,易造成Linux系统目录结构混乱,我通常把应用程序放在/opt目录下。然后给该程序添加开始菜单快捷方式图标、图标文件、MIME配置等。文件权限均为rw-r--r--。

图标文件放在 /usr/share/icons

MIME配置文件放在 /usr/share/mime

启动图标(.desktop)文件放在 /usr/share/applications

最后为了使desktop文件及mime找到图标,必须更新图标缓存,通过

gtk-update-icon-cache /usr/share/icons/hicolor

更新。

以WPS Office软件Linux版本为例,需要添加的文件及路径:

.
├── applications
│   ├── wps-office-et.desktop
│   ├── wps-office-wpp.desktop
│   └── wps-office-wps.desktop
├── icons
│   └── hicolor
│   ├── 16x16
│   │   ├── apps
│   │   │   └── wps-office-kingsoft.png
│   │   └── mimetypes
│   │   ├── wps-office-doc.png
│   │   ├── wps-office-dot.png
│   │   ├── wps-office-dps.png
│   │   ├── wps-office-dpt.png
│   │   ├── wps-office-et.png
│   │   ├── wps-office-ett.png
│   │   ├── wps-office-pot.png
│   │   ├── wps-office-ppt.png
│   │   ├── wps-office-wps.png
│   │   ├── wps-office-wpt.png
│   │   ├── wps-office-xls.png
│   │   └── wps-office-xlt.png
│   ├── 256x256
│   │   ├── apps
│   │   │   ├── wps-office-etmain.png
│   │   │   ├── wps-office-wppmain.png
│   │   │   └── wps-office-wpsmain.png
│   │   └── mimetypes
│   │   ├── wps-office-doc.png
│   │   ├── wps-office-dot.png
│   │   ├── wps-office-dps.png
│   │   ├── wps-office-dpt.png
│   │   ├── wps-office-et.png
│   │   ├── wps-office-ett.png
│   │   ├── wps-office-pot.png
│   │   ├── wps-office-ppt.png
│   │   ├── wps-office-wps.png
│   │   ├── wps-office-wpt.png
│   │   ├── wps-office-xls.png
│   │   └── wps-office-xlt.png
│   ├── 32x32
│   │   ├── apps
│   │   └── mimetypes
│   │   ├── wps-office-doc.png
│   │   ├── wps-office-dot.png
│   │   ├── wps-office-dps.png
│   │   ├── wps-office-dpt.png
│   │   ├── wps-office-et.png
│   │   ├── wps-office-ett.png
│   │   ├── wps-office-pot.png
│   │   ├── wps-office-ppt.png
│   │   ├── wps-office-wps.png
│   │   ├── wps-office-wpt.png
│   │   ├── wps-office-xls.png
│   │   └── wps-office-xlt.png
│   └── 48x48
│   ├── apps
│   │   ├── wps-office-etmain.png
│   │   ├── wps-office-wppmain.png
│   │   └── wps-office-wpsmain.png
│   └── mimetypes
│   ├── wps-office-doc.png
│   ├── wps-office-dot.png
│   ├── wps-office-dps.png
│   ├── wps-office-dpt.png
│   ├── wps-office-et.png
│   ├── wps-office-ett.png
│   ├── wps-office-pot.png
│   ├── wps-office-ppt.png
│   ├── wps-office-wps.png
│   ├── wps-office-wpt.png
│   ├── wps-office-xls.png
│   └── wps-office-xlt.png
└── mime
└── packages
├── wps-office-et.xml
├── wps-office-wpp.xml
└── wps-office-wps.xml

Linux自定义应用程序及其菜单图标的更多相关文章

  1. ionic3之自定义tabs菜单图标

    请参考以下链接 ionic3之自定义tabs菜单图标

  2. VS2010制作网站自定义安装程序 转

    最近在把一个网站打包成安装程序,这方面的文章网上有很多,也看了不少,但因为开发环境的不同,遇到了一些问题,便写下这篇文章记下整个流程(有很多资源都来自互联网,由于条目颇多,所以无法说明其来处,敬请谅解 ...

  3. 使用XMing+putty运行linux图形界面程序

    起因接下去的工作要作一些数值模拟,于是到师兄的工作站上开了个帐号.工作站运行的是RHEL4,要说远程SSH,就算是FTerm也足够胜任,不过,因为我要用的查看计算结果的软件需要使用图形界面,这一点就比 ...

  4. Customize the Application UI and Behavior 自定义应用程序UI和行为

    In XAF, the business model defines the database structure and UI appearance. Changes to your persist ...

  5. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

  6. linux系统设置服务开机启动3种方法,Linux开机启动程序详解

    linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图     方法2:利用命令行chkconfig命令进行设置 简要说明 ...

  7. Linux下C程序的编辑,编译和运行以及调试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  8. visual Studio 2017 扩展开发(二)《菜单图标详解》

    在上一篇我们在菜单栏创建了一个菜单,菜单上显示了一个图标跟文本.那么我们自己创建的菜单如何修改自定义的菜单图标呢.下面娓娓道来..... 首先你要有一个图,创建一个32位的位图.这个位图的像素是16p ...

  9. linux 自定义信号

    从来没试过linux自定义信号,查了下,说是系统只提供了SIGUSR1和SIGUSR2两个,就两个够吗?更要命的是如果要自定义信号如#define SIG_MYSIG   ....的话要改内核才行,哥 ...

随机推荐

  1. 1:django models

    重温django model 1:many-to-many 的额外属性 一般情况下,many-to-many直接就可以满足我们的要求,考虑这样一种情况: 音乐家和乐团是many-to-many的关系, ...

  2. JVM内存分配与回收

    1.内存分配与回收策略 内存自动管理:自动化的解决了对象内存分配和回收对象内存的问题. 一般在堆上分配对象,也可能经过JTI编译后间接在栈上分配. 主要分配在新生代的Eden区,如果启动了本地线程分配 ...

  3. Django web框架之模板继承

    模板继承 (extend) Django模版引擎中最强大也是最复杂的部分就是模版继承了.模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 block ...

  4. DEADBEEF

    “DEADBEEF”是什么?可能很多人都没有听说过.DEADBEEF不是“死牛肉”的意思,而是一个十六进制数字,即0xDEADBEEF.最初使用它的是IBM的RS/6000系统.在该系统中,已分配但还 ...

  5. LeetCode解题报告—— Combination Sum & Combination Sum II & Multiply Strings

    1. Combination Sum Given a set of candidate numbers (C) (without duplicates) and a target number (T) ...

  6. [你必须知道的.NET]第二十八回:说说Name这回事儿

    发布日期:2009.3.18 作者:Anytao © 2009 Anytao.com ,原创作品,转贴请注明作者和出处. 1 缘起 老赵在谈表达式树的缓存(2):由表达式树生成字符串中提到,在描述Ty ...

  7. prometheus 结合 kubernetes时,提示User cannot list services at the cluster scope.如何解决?

    这表示认证这一阶段已通过,赋权未到位. 但kube-prometheus是一体化,全家桶安装,我试过几次自定义clusterRole,binding,都解决不完全. 于是来个快刀. 搞定. kubec ...

  8. AC日记——[Hnoi2017]影魔 bzoj 4826

    4826 思路: 主席树矩阵加减+单调栈预处理: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 ...

  9. 前端读者 | 由setTimeout引发的JS引擎运行机制的研究

    本文来自 @xiaoyuze88 链接:http://xiaoyuze88.github.io/ 太久没碰代码了,那天想到关于循环调用setTimeout实现每隔一秒输出递增的数的那个问题,搞了搞,发 ...

  10. 京东前端:PhantomJS 和NodeJS在网站前端监控平台的最佳实践

    1. 为什么需要一个前端监控系统 通常在一个大型的 Web 项目中有很多监控系统,比如后端的服务 API 监控,接口存活.调用.延迟等监控,这些一般都用来监控后台接口数据层面的信息.而且对于大型网站系 ...