Ubuntu18.04 Desktop Entry
1.Desktop Entry 是什么?
我们都知道,在Windows里软件在安装的时候都会询问是不是要在开始菜单和桌面创建快捷方式,这样就不用在使用软件的时候去安装目录启动,而是直接去开始菜单点击相应的软件快捷方式即可。在Linux中也有类似的功能:Desktop Entry文件,Linux GNOME等桌面桌面系统就是使用Desktop Entry文件来描述程序的启动与配置信息。
我这里使用的Ubuntu18.14(前两天刚发布就装上了,比起16.04漂亮了不少啊,哈哈),使用下面的命令cd到系统保存Desktop Entry文件的目录
cd /usr/share/applications
ls一下看看application目录下的文件:

如上图所示,Desktop Entry 文件以".desktop"为后缀名,这些文件就描述了Ubuntu18.04上安装的应用程序的启动信息等(非常类似于Win上的开始菜单里的快捷方式)。
打开所有应用程序浏览器(Ubuntu版开始菜单),我们能看到很多应用图标,点击相应图标就能打开这个应用,其实这里的每一个应用图标都对应上图中application目录下的一个“.desktop”文件,举个栗子:只有在/usr/share/applications有一个叫firefox.desktop的配置文件,应用程序浏览器里才会有该软件的图标,我们才能通过应用程序浏览器打开FireFox浏览器。

也就是说,系统会去/usr/share/applications目录下读取“.desktop”文件,然后根据文件配置在应用程序浏览器中添加上启动应用程序的快捷方式。
那么问题来了:
Desktop Entry文件的格式是什么样的?
我自己手动安装的软件会自动出现在这里吗?
2.Desktop Entry文件格式
以firefox浏览器为例,使用cat命令查看下firefox浏览器对应的“.desktop”文件是什么样子的:
cat firefox.desktop

其实就是一堆赋值的信息,重要的一些字段如下:
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Comment=Browse the World Wide Web
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
Exec=firefox -new-window
Actions=new-window;new-private-window;
其实只看名字也能知道个大概了,Name是名字,Version是版本,Icon是图标~~~
关于全部的字段意义,可以去本文章最后的参考链接中查找,这里就不列举了。
3.手动安装的软件如何添快捷方式加到应用程序管理器
遗憾的是Ubunt上我们自己安装的软件并不会自动添加到应用程序管理器,比如Eclipse,解压出来就能用,根本不像Win一样有一个setup.exe帮你把所有的事情做完了。
那么,怎么添加上呢?
很简单,在/usr/share/applications目录下建立一个“.desktop‘文件就好了。
第一步:如下图,我安装了Eclipse

第二部:在/usr/share/applications目录下新建一个名为”eclipse.desktop“的文件,根据实际内容(软件安装的位置、类型等)填写字段。

这时候,应用浏览器中就会有Eclipse的快捷图标了(右上角)

关于 Categoruies这个字段要说一下:
cat /etc/xdg/menus/application.menu
cd /usr/share/desktop-directories
参考本文最后脚本之家
-----------------------------------
参考链接:
IBM:https://www.ibm.com/developerworks/cn/linux/l-cn-dtef/index.html
脚本之家:http://www.jb51.net/os/RedHat/523235.html
Ubuntu18.04 Desktop Entry的更多相关文章
- Ubuntu18.04的下载与安装(全过程纪录)
unbuntu18.04的下载与安装 注:由于大部分过程是以图片形式说明,所以可能会导致网页浏览不流畅 前言 有时候由于个人计算机中文件的频繁移动,导致虚拟机的镜像文件有时候莫名删除了或者不见了(说到 ...
- Ubuntu18.04教程
pre.ctl { font-family: "Liberation Mono", monospace } h1 { margin-bottom: 0.21cm } h1.west ...
- Ubuntu18.04下给PyCharm创建快捷方式
Ubuntu18.04下给PyCharm创建快捷方式 该方法 WebStorm.PyCharm.Clion 等都适用. 步骤 终端输入: sudo gedit /usr/share/applicati ...
- 在Ubuntu18.04下将应用程序添加到启动器
# 在启动器里面给应用程序添加一个快捷方式 在linux(ubuntu)平台下,很多小伙伴发现,自己去官网下载解压的软件不能自动添加到启动器,每次启动的时候需要再次进入软件目录输入命令,非常不方便.本 ...
- Ubuntu18.04下的 Android Studio 3.1.2
Android Studio安装 参考官网上的安装说明 # 安装依赖 :i386 lib32z1 libbz2-1.0:i386 安装openjdk (Update 2018-08-21: 这次重装U ...
- Ubuntu18.04 使用过程遇到的问题记录
索引: 1.Ubuntu 18.04 安装搜狗输入法 2.在 Ubuntu 18.04 中将第三方软件添加至 favorite 菜单栏 3.在 VMware workstation 中为虚拟机安装 V ...
- ubuntu18.04 与 python
Ubuntu安装pycharm专业破解版方法 首先我们要下载pycharm的安装包, 地址为https://www.jetbrains.com/pycharm/download/#section=li ...
- 安装ubuntu18.04.3全过程
目录 一.安装ubuntu18.04.3操作系统 二.系统设置 三.非开发常用软件安装 四.开发常用软件安装 五.ubuntu相关知识 六.参考文章链接 正文 一.安装ubuntu18.04.3操作系 ...
- 记 Win10 + Ubuntu18.04 安装
目录 一.准备(一)环境(二)镜像(三)优盘 (四)启动项管理软件EasyBCD(五)启动优盘制作软件(六)分区二.安装 (一)优盘启动(二)安装windows10(三)安装ubuntu18.04(四 ...
随机推荐
- JVM笔记8-虚拟机性能监控与故障处理工具
1.JDK命令行工具 Java开发人员肯定都知道JDK的bin目录有“java.exe”,"javac.exe"这两个命令行工具,但并非所有程序员都了解过JDK的bin目录之中其他 ...
- Zabbix如何设置脚本告警
设置告警脚本的路径 # vim /etc/zabbix/zabbix_server.confAlertScriptsPath=/usr/lib/zabbix/alertscripts 创建脚本 在这里 ...
- 提升现代web app中页面性能
提升现代web app的中的页面性能 前言,本文翻译自https://docs.google.com/presentation/d/1hBIb0CshY9DlM1fkxSLXVSW3Srg3CxaxA ...
- Golang中WaitGroup使用的一点坑
Golang中WaitGroup使用的一点坑 Golang 中的 WaitGroup 一直是同步 goroutine 的推荐实践.自己用了两年多也没遇到过什么问题.直到一天午睡后,同事扔过来一段奇怪的 ...
- 如何在 Docker 容器中运行 Kali Linux 2.0
https://linux.cn/article-6103-1.html Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统.它带有大量安全相关的程序,这让它很容易用于渗透测试.最近 ...
- Lintcode397 Longest Increasing Continuous Subsequence solution 题解
[题目描述] Give an integer array,find the longest increasing continuous subsequence in this array. An in ...
- C#语言中的XmlSerializer类的XmlSerializer.Deserialize (Stream)方法举例详解
包含由指定的 XML 文档反序列化 Stream. 命名空间: System.Xml.Serialization程序集: System.Xml(位于 System.Xml.dll) 注意: 反序 ...
- threesum
算法题 问题描述:在一些给定的数中,找到三个数,他们相加的和是0,并且这三个数的组合是不能重复的 例子: input [-1, 0, -1, 2, 1] Output [[-1, 1 ,0], [-1 ...
- eclipse配置tomcat后启动报内存错误解决方法
一.双击tomcat服务,打开配置界面 二.打开launch configuration窗口,在Argument最后面加入:-Xms256m -Xmx512m -XX:PermSize=256M -X ...
- java数据库基本操作(sqlserver 2000为例)
一.环境搭建 1.下载对应数据库连接驱动包并引入. 2.如果在web中调用必须在tomcat中也放入对应的驱动包. 3.在jre的lib\ext中也加入对应的驱动包. 二.连接数据库 public s ...