简介

我们在使用一个应用程序的时候,总是希望能方便快捷的启动,这时候就需要能在桌面有快捷方式,或者在活动软件列表能搜索到,但Linux系统很多软件不一定会带有这样的功能,我们以为知笔记(wiznote)这款软件为例,下面我们就看看应该如何手动创建吧!

实现步骤

  1. 在目录:/usr/share/applications 下创建 wizinote.desktop
cd /usr/share/applications
sudo vim wiznote.desktop

在wiznote.desktop文件中输入以下内容:

[Desktop Entry]
 Name=wiznote
 Comment=wiznote (0.1.56)
 Exec=/opt/WizNote/'generic_team_id[3541426]__id_8944163_8840353_latest_wiznote-desktop-0.1.56-linux-x86_64.AppImage'
 Icon=/opt/WizNote/wiz.png
 Terminal=false
 Type=Application
 Categories=Development;

其中Exec字段需要修改为这款应用的启动路径
Icon字段需要修改为这款应用的图标路径,其他字段可以默认,下文会再详解该文件。
2. 复制wiznote.desktop 到桌面,并给桌面的文件增加执行权限

sudo cp wiznote.desktop ~/Desktop
sudo chmod +x ~/Desktop/wiznote.desktop
  1. 好了,如果desktop文件执行路径正确,那么到这一步就可以在桌面双击文件进行打开应用程序啦!
  2. 如果需要在软件列表中显示该应用,就需要将wizinote.desktop文件复制到目录:
cd /usr/share/applications
sudo cp wiznote.desktop ~/.local/share/applications/
  1. 好了,到这一步按下键盘的win键,输入wiznote就可以搜索到该应用啦!

desktop文件详解

对于该文件的语法,我们不过多研究,一般也用不到,这里我们重点关注一下文件中不同字段的用途

  • 关键字"Version":[可选] 该数值指定了当前 Desktop Entry 文件所遵循的 Desktop Entry 文件标准版本。
  • 关键字"Encoding":[1.0 版本不推荐使用] 该数值指定了当前 Desktop Entry 文件中特定字符串所使用的编码方式。尽管Desktop Entry 文件标准 1.0 不再推荐使用该关键字,但由于历史原因该关键字仍然广泛出现在现有的 Desktop Entry 文件中。
  • 关键字"Name":[必选] 该数值指定了相关应用程序的名称
  • 关键字"GenericName":[可选] 该数值指定了相关应用程序的通用名称。
  • 关键字"Comment":[可选]
    该数值是对当前Desktop Entry的简单描述。
  • 关键字"Type":[必选]
    关键字"Type"定义了Desktop Entry文件的类型。常见的"Type"数值是"Application"和"Link"。"Type = Application"表示当前Desktop Entry文件指向了一个应用程序;而"Type = Link"表示当前Desktop Entry文件指向了一个URL (Uniform Resource Locator)。
  • 关键字"Exec":[可选]
    关键字"Exec"只有在"Type"类型是"Application"时才有意义。"Exec"的数值定义了启动指定应用程序所要执行的命令,在此命令是可以带参数的。
  • 关键字"URL":[可选]
    关键字"URL"只有在"Type"类型是"Link"时才有意义。"URL"的数值定义了该Desktop Entry文件指向的URL。
  • 关键字"Icon":[可选]
    该数值定义了当前Desktop Entry文件在应用程序浏览器或是在文件浏览器中所显示的图标。如果关键字"Icon"的数值是以绝对路径的格式给出,那么其数值所指定图标文件将被使用;反之,Linux系统将使用"Icon Theme Specification"[2]在系统指定图标目录下定位所需要使用的图标文件。
  • 关键字"StartupNotify":[可选]
    关键字"StartupNotify"的数值是布尔值(true 或是 false)。该关键字只有在"Type"类型是"Application"时才有意义。其数值的含义由规范"Startup Notification Protocol Specifications"[3]定义,在此不再详述。
  • 关键字"Terminal":[可选]
    和"StartupNotify"一样,关键字"StartupNotify"的数值也是布尔值,并且该关键字只有在"Type"类型是"Application"时才有意义。其数值指出了相关应用程序(即关键字"Exec"的数值)是否需要在终端窗口中运行。本文将在下一节中给出关键字"Terminal"的具体使用方法。
  • 关键字"Categories":[可选]
    关键字"Categories"只有在"Type"类型是"Application"时才有意义。"Categories"的数值指出了相关应用程序在菜单中显示的类别。
  • 关键字"OnlyShowIn"和"NotShowIn":[可选]
    这两个关键字分别定义了当前Desktop Entry是否在特定Linux 桌面系统(例如:Linux GNOME 或 Linux KDE)下显示(由"OnlyShowIn"定义),或不显示(由"NotShowIn"定义)。具体定义请参考"Desktop Specification Menu"[4]。
  • 关键字"X-SuSE-translate":[SUSE Linux特有]
    关键字"X-SuSE-translate"是SUSE Linux(http://www.novell.com/linux/)特有的。"X-SuSE-translate"符合SUSE RPM Package风格。“X-SuSE-translate"数值表示是否要对关键字"Name"和"GenericName"进行翻译。详情请参考"SUSE Package Conventions”[5]。
  • 本地化关键字"[LOCALE]"
    根据"Desktop Entry Specification"规范[1],在关键字后加上字符串"[LOCALE]"就可以对该关键字进行特定的本地化定义。

更多的关键字

更多信息,可以详细查看这个网页了解
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
这里我截取关键字部分的原文如下图:
在这里插入图片描述

·
·
·

欢迎各位老铁一键三连,本号后续会不断更新树莓派、人工智能、STM32、ROS小车相关文章和知识。

大家对感兴趣的知识点可以在文章下面留言,我可以优先帮大家讲解哦

欢迎大家光临我的淘宝小店【玩转智能机器人】,会定期推出教程中使用的物美价优的硬件,你的光临就是对我的支持

原创不易,转载请说明出处。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐