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. 两个Web应用必须的Servlet Filter

    其实原文是一个英文文章“Two Servlet Filters Every Web Application Should Have” 文章说了2个Filter: GzipFilter ChcheFil ...

  2. vfd with stm8

    2018-01-14 22:50:26 之前写了pt6311的驱动,要做时钟考虑使用stm8做主控,于是乎将之前的驱动移植到stm8上. 顺带熟悉了stm8的操作2333. 上源码: #ifndef ...

  3. 走进netty

    三月份开始看公司RPC框架的源码,发现如果要折腾明白,网络通讯这块知识必不可少.于是从如下几点开始逐步研究. 一.基础知识篇 1.Unix下5种I/O模型 Linux的内核将所有外部设备都看作一个文件 ...

  4. 利用分支限界法求解单源最短路(Dijkstra)问题

    分支限界法定义:采用Best fist search算法,并使用剪枝函数的算法称为分支界限法. 分支限界法解释:按Best first的原则,有选择的在其child中进行扩展,从而舍弃不含有最优解的分 ...

  5. EF Core Model更新迁移

    EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. ...

  6. 转 Web用户的身份验证及WebApi权限验证流程的设计和实现

    前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...

  7. PAT1008:Elevator

    1008. Elevator (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The highest ...

  8. cmd登录系统用户

    1.  sqlplus /nolog 2.  conn system/密码 as sysdba  或conn / as sysdba  或conn sys/密码 as sysdba 注:system系 ...

  9. java 修饰符的访问权限

    private,public,protected,默认不写(firendly) 1.Class类的访问权限: public:可以供所有的类访问. 默认:默认可以称为friendly但是,java语言中 ...

  10. Python实现批量新建SecureCRT Session

    最近因为工作需要,我需要在ssh的时候保存几千台网关的session,工作量相当大(也就是ssh的时候需要记住用户名和密码,然后还要再session选项中录入enable密码,相当繁琐),而且设备的用 ...