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的更多相关文章

  1. Ubuntu18.04的下载与安装(全过程纪录)

    unbuntu18.04的下载与安装 注:由于大部分过程是以图片形式说明,所以可能会导致网页浏览不流畅 前言 有时候由于个人计算机中文件的频繁移动,导致虚拟机的镜像文件有时候莫名删除了或者不见了(说到 ...

  2. Ubuntu18.04教程

    pre.ctl { font-family: "Liberation Mono", monospace } h1 { margin-bottom: 0.21cm } h1.west ...

  3. Ubuntu18.04下给PyCharm创建快捷方式

    Ubuntu18.04下给PyCharm创建快捷方式 该方法 WebStorm.PyCharm.Clion 等都适用. 步骤 终端输入: sudo gedit /usr/share/applicati ...

  4. 在Ubuntu18.04下将应用程序添加到启动器

    # 在启动器里面给应用程序添加一个快捷方式 在linux(ubuntu)平台下,很多小伙伴发现,自己去官网下载解压的软件不能自动添加到启动器,每次启动的时候需要再次进入软件目录输入命令,非常不方便.本 ...

  5. Ubuntu18.04下的 Android Studio 3.1.2

    Android Studio安装 参考官网上的安装说明 # 安装依赖 :i386 lib32z1 libbz2-1.0:i386 安装openjdk (Update 2018-08-21: 这次重装U ...

  6. Ubuntu18.04 使用过程遇到的问题记录

    索引: 1.Ubuntu 18.04 安装搜狗输入法 2.在 Ubuntu 18.04 中将第三方软件添加至 favorite 菜单栏 3.在 VMware workstation 中为虚拟机安装 V ...

  7. ubuntu18.04 与 python

    Ubuntu安装pycharm专业破解版方法 首先我们要下载pycharm的安装包, 地址为https://www.jetbrains.com/pycharm/download/#section=li ...

  8. 安装ubuntu18.04.3全过程

    目录 一.安装ubuntu18.04.3操作系统 二.系统设置 三.非开发常用软件安装 四.开发常用软件安装 五.ubuntu相关知识 六.参考文章链接 正文 一.安装ubuntu18.04.3操作系 ...

  9. 记 Win10 + Ubuntu18.04 安装

    目录 一.准备(一)环境(二)镜像(三)优盘 (四)启动项管理软件EasyBCD(五)启动优盘制作软件(六)分区二.安装 (一)优盘启动(二)安装windows10(三)安装ubuntu18.04(四 ...

随机推荐

  1. php namespace与use

    实验代码 ~/aa.php ~/bb.php 1.命名空间与文件加载的关系 本人在命名空间与文件加载上一直有一个误区,用了命名空间文件不用加载了? 实验1:去掉requre语句 可以看到就算使用命名空 ...

  2. 2T以上的盘怎么分区, 利用parted创建 linuxTB硬盘GPT分区

    parted创建GPT分区(fdisk不支持创建GPT分区,GPT支持大于2TB分区,MBR不支持) 介绍2种分区表: MBR分区表:(MBR含义:主引导记录) 所支持的最大卷:2T (T; tera ...

  3. element.dispatchEvent is not a function的解决

    Firebug中的出错提示: element.dispatchEvent is not a function element.dispatchEvent(event); prototype.js (第 ...

  4. JSF-受管Bean与EL表达式

    受管Bean与EL表达式 1)编写Bean:①有一个不带形参的构造方法 ②getXxx.setXxx ③一般要实现io.Serializable接口 2)声明受管Bean:①bean名称为外界访问其属 ...

  5. php进阶篇

    字符串调用: $name = 'eco'; echo $name; //eco //双引号会解析变量 echo "$name"; //eco //单引号不会解析变量 echo '$ ...

  6. windows系统命令行

    使用   命令+/?就可显示命令的详细说明. 比如   ping/?就可知道ping命令的详细使用说明 netstat /?就可知道ping命令的使用说明

  7. 1 Numpy-科学计算

    在Python中,使用list可以保存一组值,可以作为数组使用,但是比较浪费内存和时间.类似的array模块,不支持多维,也没有各种函数运算,因此也极其不方便. 为解决这一问题,Python提供了Nu ...

  8. 使用on-my-zsh时,php 输出内容后面多个%号

    今天用php写个命令行的小工具时,突然发现在echo输出后,总是会多个%号,开始以为是代码的问题,然后新建了一个代码文件: <?php echo 'hello world'; 输出结果: hel ...

  9. Flask构建微电影(二)

    第三章.项目分析.搭建目录及模型设计 3.1.前后台项目目录分析 微电影网站 前台模块 后台模块 前台(home) 数据模型:models.py 表单处理:home/forms.py 模板目录:tem ...

  10. python_日历

    >>> import datetime>>> Today=datetime.date.today()>>> Todaydatetime.date( ...