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
来源: http://www.bubuko.com/infodetail-2579512.html