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. oracle中varchar2(2)存不了一个汉字的原因

    错误提示: 一个汉字占了三个字节,而不是两个,这跟字符集有关. 查一下字符集:select userenv('language') from dual; 结果显示,本机Oracle的字符集是UTF-8 ...

  2. 'react-scripts' is not recognized as an internal or external command

    React项目在执行npm start的时候报下面的错误: 解决办法:把项目目录中node_modules文件夹删掉,重新npm install一下,然后再执行npm start

  3. 自动化工具之三:pywinauto

    Python自动化工具:pywinauto 一.pywinauto的安装 (1)安装命令 pip install -U pywinauto/pip3 install -U pywinauto (2)验 ...

  4. Oracle下SQL学习笔记

    主机字符串:as sysdba alter user scott account unlock;//解锁scott,不会就谷歌检索 DML语句,增.删.查.改 select语句:熟悉表结构 desc ...

  5. 关于SimpleDateFormat时间转换总是显示1970年的问题

    今天遇到了一个奇怪的问题, long time = 1488606363; Date date = new Date(time); java.text.SimpleDateFormat sDateFo ...

  6. Linux-pkill命令

    pkill命令可以按照进程名杀死进程.pkill和killall应用方法差不多,也是直接杀死运行中的程序:如果您想杀掉单个进程,请用kill来杀掉. 语法:pkill(选项)(参数) 选项 -o:仅向 ...

  7. JDK 1.8源码阅读 ArrayList

    一,前言 ArrayList是Java开发中使用比较频繁的一个类,通过对源码的解读,可以了解ArrayList的内部结构以及实现方法,清楚它的优缺点,以便我们在编程时灵活运用. 二,ArrayList ...

  8. sklearn.svm.LinearSVC文档学习

    https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html#sklearn.svm.LinearSVC 1 ...

  9. [LeetCode] Backtracking Template for (Subsets, Permutations, and Combination Sum)

    根据issac3 用Java总结了backtracking template, 我用他的方法改成了Python. 以下为template. def backtrack(ans, temp, nums, ...

  10. shell实现SSH自动登陆【转】

    前言 公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错.作为一个懒人,肯定要找一个取巧的方式,查 ...