Kali应用程序快捷方式分析

kali默认使用Gnome桌面环境,所以给kali添加应用程序快捷方式就是给Gnome添加应用快捷方式。

在/usr/share/applications目录下有很多的.desktop文件,每个文件就代表了一个应用的快捷方式。下面就是一个模拟的例子。

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Sample Application Name
Comment=A sample application
Exec=application
Icon=application.png
Terminal=false

需要说明的是以上的Key和Value都是区分大小写的。

接下来我们看看都有哪些可以进行设置的项,并且这些项都是什么作用。

  • [Desktop Entry] 每个桌面项文件的第一行和每节的开头,标识与桌面集成的键值对块,是桌面正确识别文件所必须的。
  • Type 快捷方式的类型。
  • Encoding 描述此桌面文件中的编码
  • Name 主菜单和任何启动器中您的应用程序的名称。
  • Comment 描述这个应用程序。使用的是工具提示。
  • Exec 从 shell 中启动此应用程序的命令,可以有参数。
  • Icon 与此应用程序关联的图标名。
  • Terminal 说明程序是否在终端中运行。
  • Categories 在菜单中显示的应用类型。

我们来看一个实际的例子(这个例子也就是为什么我需要了解本文的内容的原因,安装网易云后点击图标不能打开程序!):

[Desktop Entry]
Version=1.0
Type=Application
Name=NetEase Cloud Music
Name[zh_CN]=网易云音乐
Name[zh_TW]=網易雲音樂
Comment=NetEase Cloud Music
Comment[zh_CN]=网易云音乐
Comment[zh_TW]=網易雲音樂
Icon=netease-cloud-music
Exec=sudo netease-cloud-music %U --no-sandbox
Categories=AudioVideo;Player;
Terminal=false
StartupNotify=true
StartupWMClass=netease-cloud-music
MimeType=audio/aac;audio/flac;audio/mp3;audio/mp4;audio/mpeg;audio/ogg;audio/x-ape;audio/x-flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;

如果应用程序可以接受命令行参数,那么Exec可以接受以下代码参数。

代码 描述
%f 单个文件名
%F 多个文件名。每个文件被解析为执行程序所附带的参数。可以在统一时刻打开多个文件。
%u 单个 URL。
%U 多个 URL。每个URL被解析为执行程序所附带的参数。
%c 翻译名称。
%k 用来表示桌面项文件位置的 URI 或本地文件名。
%i 将Icon这个Key扩展为两个参数,即--icon和Icon的值。(如果没有Icon的Key,则不可扩展)

如果你觉得以上内容不够全面,或者解释的不够清楚,那么可以来官网查看:

https://developer.gnome.org/desktop-entry-spec/
例如我们下载了一个WebStorm的免安装的包,解压后如下:

一般情况我们都需要来执行里面的webstorm.sh来启动这个程序,如果我们想要添加桌面快捷方式,那么就可以这样写:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=WebStorm
Comment=WebStorm
Exec=/root/chong/software/WebStorm/bin/webstorm.sh
Icon=/root/chong/software/WebStorm/bin/webstorm.svg
Terminal=false

文件可以命名为WebStorm.desktop,放在/usr/share/applications下,这样系统就会添加对应的桌面快捷方式了:

kali 创建快捷方式的方法的更多相关文章

  1. C#两种创建快捷方式的方法

    C#两种创建快捷方式的方法http://www.cnblogs.com/linmilove/archive/2009/06/10/1500989.html

  2. Ubuntu系统应用程序创建快捷方式的方法

    大家安装了最新版的Ubuntu 14.0系统之后可能觉得很不习惯,因为Ubuntu的桌面干干净净没有任何快捷方式,任务栏的图标拖不下来,右键点击程序图标也没有创建快捷方式的菜单选项: 那如何把自己经常 ...

  3. Ubuntu 创建快捷方式的方法

    ln -s  /要创建快捷方式的地方/ /创建在哪里/

  4. 使用C#创建快捷方式

    在Windows中创建快捷方式很简单,直接用右键点击文件或文件夹,选择创建快捷方式即可.如果想用C#代码的方式创建,就没有那么方便了,因为.NET框架没有提供直接创建快捷方式的方法. 首先我们看一下快 ...

  5. matlab2013a for linux/Ubuntu 安装步骤及创建快捷方式(ubuntu14.04下安装)

    1.挂载安装镜像:sudo mount -o loop myfile.iso /media/mnt   #挂载ISO文件,使用參数 -o loop      mnt为已经建立好的文件夹. 2.运行安装 ...

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

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

  7. winform创建快捷方式

    /// <summary> /// 创建快捷方式 /// </summary> public class Lnk { /// <summary> /// 创建快捷方 ...

  8. vc++ windows 快速启动栏创建快捷方式

    创建快速启动栏 在windows软件开发中,软件安装过程中总是需要在快速启动栏创建快捷方式,下面介绍一种快速启动栏创建快捷方式的方法,具体代码如下:(该方法不支持win10,目前还没有找到win10的 ...

  9. 警告1909。无法创建快捷方式VMware Workstation Pro.Ink。解决方法(附 VMware_workstation 12的安装方法)

    电脑之前装过VMware 10,很长时间没用就卸载了,也没有在意卸载的干不干净,直到最近需要用Linux系统,重新安装了VMware 12,就出现下面这样的情况: 警告1909.无法创建快捷方式VMw ...

随机推荐

  1. 洛谷P4064 加法 [JXOI2017] 贪心

    正解:贪心 解题报告: 传送门! 首先最小值最大显然考虑二分?然后就二分一个值mid,从左往右考虑,对于小于等于mid的点显然可以求出这个点至少要加几次,然后找到覆盖这个点的右端点max的区间区间加上 ...

  2. 洛谷P1966 火柴排队 贪心+离散化+逆序对(待补充QAQ

    正解: 贪心+离散化+逆序对 解题报告: 链接在这儿呢quq 这题其实主要难在想方法吧我觉得?学长提点了下说用贪心之后就大概明白了,感觉没有很难 但是离散化这里还是挺有趣的,因为并不是能很熟练地掌握离 ...

  3. 【PyQt5-Qt Designer】液晶显示屏(QLCDNumber)

    液晶显示屏(QLCDNumber) 总体介绍 QLCDNumber小部件显示一个类似LCD的数字. 它可以显示任何大小的数字.它可以显示十进制,十六进制,八进制或二进制数字.使用display()槽连 ...

  4. CAS 原理

    基础模式 1. 访问服务:  客户端发送请求访问应用系统提供的服务资源. 2. 定向认证:  客户端会重定向用户请求到 服务器. 3. 用户认证:用户身份认证. 4. 发放票据: 服务器会产生一个随机 ...

  5. what's the python之异常处理

    what's the 异常 python程序中会出现异常,即bug.若出现异常程序就报错,异常之后的代码就不会继续往下执行,这是一个正常程序不允许出现的,但是在某些程序交互的时候难免会因为用户输入问题 ...

  6. 20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算

    20165236 2017-2018-2 <Java程序设计>结对编程练习_四则运算 结对小组:叶佺.郭金涛 一.需求分析: 1.能随机生成n道四则运算题目,n由使用者输入: 2.支持多种 ...

  7. Java的transient关键字(转)

    Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的同一 ...

  8. eslint 代码规范2

    eslint 规则修改 需要修改规则:文件[.eslintrc.js] 在句末是不能有分号的,若想加分号, 报错: 添加代码: 'semi': ['error', 'always'] 不要使用制表符. ...

  9. [django]django权限简单实验

    djagno https://www.jianshu.com/p/01126437e8a4 开始我一直没明白内置的view_car 怎么实现view 只读库的. 后来发现这个api需要在views.p ...

  10. 339A

    #include <iostream> #include <string> #include <algorithm> using namespace std; #d ...