【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)

目录

0.背景+环境

1、原理

2、详细步骤

 1)创建.desktop快捷方式

2) 给test.desktop快捷方式增加可执行权限

3)编辑test.desktop内容和参数

4)修改快捷方式属性为双击可执行

5)将桌面快捷方式发送到桌面


0.背景+环境

ubuntu 16.04

项目需求,目前有一个可执行程序(test.sh),test.sh这个脚本是执行了某个命令打开应用,但是把.sh放在桌面也不好看(图标是默认的),所以希望制作一个桌面快捷方式,有自己的图标,并且双击可以打开

原本是这样的图标

 制作后是这样的图标,是个.desktop桌面快捷方式(可执行程序)

你需要准备:

  • test.sh可执行程序(实现好的,本文不关注.sh的内容)
  • 一张作为快捷方式的图片

1、原理

首先要理解,这个名叫“C10”的本质是一个.desktop桌面快捷方式,双击可执行,需要在这个文件内部编写一些相关参数,如执行.sh脚本的位置和自己想使用的图标。

.desktop相关参数如下,需要什么参数可以自己加,我下文的例子中只展现比较基础的参数(少,但是够用,满足大多数情况)

在这里插入图片描述

 详细信息的网址:Desktop Entry Specification (specifications.freedesktop.org)

2、详细步骤

 1)创建.desktop快捷方式

注意:一定要在此目录下创建【/usr/share/applications】

因为这个目录是系统自动创建桌面快捷方式的路径,保存格式为xxxx.desktop

(我试过在桌面创建,图片会无法显示)

打开命令行,输入命令:进入此路径,然后用touch创建一个叫test的快捷方式(此名字其实不重要,因为后期显示的是写进去参数中的名字Name)

cd /usr/share/applications
sudo touch test.desktop

2) 给test.desktop快捷方式增加可执行权限

sudo chmod +x test.desktop

3)编辑test.desktop内容和参数

先用vim打开这个文件,如果没有vim,用vi也可以

 

然后将内容复制进去(注意,等号后的内容要替换为你自己的,如名字,可执行程序位置,图片等

[Desktop Entry]
Type=Application
Name=C10
GenericName=C10
Comment=test
Exec="/home/wangyunuo/test.sh" %f
Icon=/home/wangyunuo/testImg.png
Terminal=true
Categories=X-Application;

 参数解读

Type为了允许将来添加新类型,实现应该忽略具有未知类型的桌面条目。共三种:应用程序(Application)、链接(Link)、目录(Directory),因为我希望运行应用程序,所以我这个字段用了Application
Name

应用程序的特定名称。我的名字是“C10”

GenericName应用程序的通用名称
Comment

条目的工具提示。右键可执行程序,在属性里可以看到

Exec

Exec是可执行文件或脚本文件(.sh)的路径。我的可执行脚本.sh在【/home/wangyunuo/test.sh】这个路径

需要注意:Exec字段的值需要用引号括起来,并加上“ %f”

Icon

图片位置,我用的这张图片在【/home/wangyunuo/testImg.png】这个路径,直接把路径写在=后面就行

Terminal程序是否在终端窗口中运行。通常是不需要打开终端的,false是不在终端中运行,true是在终端中运行。
Categories 条目应显示在菜单中的类别。

 好了,参数都替换成你自己的之后,就可以保存退出了

4)修改快捷方式属性为双击可执行

【/usr/share/applications】这个目录下,找到你刚写完的文件(注意,此时的名字已经替换为Name参数后的名字,不是最开始的test.desktop),右键,选择属性

 在【Permissions】权限中选择把这个Execute勾上

 此时就已经在默认路径下配置完成了,双击试一下,看是否能执行你的.sh程序

如果能执行的话,我们将他发送到桌面上,更方便点击

5)将桌面快捷方式发送到桌面

右键-选择“复制到”-选择桌面

 然后就被发送到桌面了

至此,我们已经为test.sh这个可执行程序制作了一个桌面快捷方式,双击即可执行.sh 

参考:

ubuntu 编写.desktop文件及调试方法_张亦可918011的博客-CSDN博客

unbuntu手动创建桌面快捷方式desktop文件详解_startupnotify_玩转智能机器人的博客-CSDN博客

--END--

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/65878.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023全新UI好看的社区源码下载/反编译版

2023全新UI好看的社区源码下载/反编译版 这次分享一个RuleAPP二开美化版(尊重每个作者版权),无加密可反编译版本放压缩包了,自己弄吧!!! RuleAPP本身就是一款免费开源强大的社区,基…

交替方向乘子

目录 一,交替方向乘子ADMM 1,带线性约束的分离优化模型 2,常见优化模型转带线性约束的分离优化模型 3,带线性约束的分离优化模型求解 4,交替方向乘子ADMM 本文部分内容来自教材 一,交替方向乘子ADMM …

Linux计划任务管理at、crond

一、单次任务at at命令可以设置在一个指定的时间执行一个指定任务,只能执行一次,使用前确认系统开启了atd服务。 例如:定时执行某命令或脚本, 1、输入at 19:00,回车; 2、输入需要执行的命令或脚本文件&am…

如何给Google Chrome增加proxy

1. 先打开https://github.com/KaranGauswami/socks-to-http-proxy/releases 我的电脑是Liunx系统所以下载第一个 2. 下载完之后把这个文件变成可执行文件,可以是用这个命令 chmod x 文件名 3. 然后执行这个命令: ./sthp-linux -p 8080 -s 127.0.0.1:…

c#设计模式-创建型模式 之 工厂模式

前言: 工厂模式(Factory Pattern)是一种常用的对象创建型设计模式。该模式的主要思想是提供一个创建对象的接口(也可以是抽象类、静态方法等),将实际创建对象的工作推迟到子类中进行。这样一来&#xff0c…

APT80DQ40BG-ASEMI快恢复二极管APT80DQ40BG

编辑:ll APT80DQ40BG-ASEMI快恢复二极管APT80DQ40BG 型号:APT60DQ20BG 品牌:ASEMI 封装:TO-3P 恢复时间:≤50ns 正向电流:80A 反向耐压:400V 芯片个数:双芯片 引脚数量&…

SpringBoot之Actuator基本使用

SpringBoot之Actuator基本使用 引入分类常用接口含义healthbeansconditionsheapdumpmappingsthreaddumploggersmetrics 引入 <!-- actuator start--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

基于Azure OpenAI Service 的知识库搭建实验⼿册

1.概要 介绍如何使⽤Azure OpenAI Service 的嵌⼊技术&#xff0c;创建知识库&#xff1b;以及创建必要的资源组和资源&#xff0c;包括 Form Recognizer 资源和 Azure 翻译器资源。在创建问答机器⼈服务时&#xff0c;需要使⽤已部署模型的 Azure OpenAI 资源、已存在的…

Openlayers实战:使几何图形适配窗口

Openlayers开发的项目中,有一种应用非常重要,就是绘制或者显示出几何图形后,让几何图形居中并适配到窗口下,这样能让用户很好的聚焦到所要看的内容中去。 这里使用了fit的这个view 的方法,具体的操作请参考示例源代码。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozh…

【C# 基础精讲】循环语句:for、while、do-while

循环语句是C#编程中用于重复执行一段代码块的关键结构。C#支持for、while和do-while三种常见的循环语句&#xff0c;它们允许根据条件来控制代码块的重复执行。在本文中&#xff0c;我们将详细介绍这三种循环语句的语法和使用方法。 for循环 for循环是一种常见的循环结构&…

每天一道leetcode:剑指 Offer 32 - III. 从上到下打印二叉树 III(中等广度优先遍历)

今日份题目&#xff1a; 请实现一个函数按照之字形顺序打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右到左的顺序打印&#xff0c;第三行再按照从左到右的顺序打印&#xff0c;其他行以此类推。 示例 给定二叉树: [3,9,20,null,null,15,7…

【云原生】Kubernetes节点亲和性分配 Pod

目录 1 给节点添加标签 2 根据选择节点标签指派 pod 到指定节点[nodeSelector] 3 根据节点名称指派 pod 到指定节点[nodeName] 4 根据 亲和性和反亲和性 指派 pod 到指定节点 5 节点亲和性权重 6 pod 间亲和性和反亲和性及权重 7 污点和容忍度 8 Pod 拓扑分布约束 官方…

python几岁可以学零基础,python多大的孩子可以学

大家好&#xff0c;小编为大家解答多大的孩子可以学python的问题。很多人还不知道学python多大年龄可以学&#xff0c;现在让我们一起来看看吧&#xff01; python编程是现在很多孩子接触编程的好选择&#xff0c;它能够给孩子带来容易入门的效果。那么&#xff0c;python编程少…

如何识别手机是否有灵动岛(dynamic island)

如何识别手机是否有灵动岛&#xff08;dynamic island&#xff09; 灵动岛是苹果2022年9月推出的iPhone 14 Pro、iPhone 14 Pro Max首次出现&#xff0c;操作系统最低是iOS16.0。带灵动岛的手机在竖屏时顶部工具栏大于等于51像素。 #define isHaveDynamicIsland ({ BOOL isH…

docker 安装hive

记录一下使用docker快速搭建部署hive环境 目录 写在前面 步骤 安装docker 安装docker安装docker-compose配置docker国内镜像源&#xff08;可选&#xff09; 安装git & 配置github部署Hive docker-hive开始部署 使用Hive命令行收尾工作 安装vi、lrzsz关闭相关命令 END…

windows下以指定用户访问SMB服务器进行读写

一 概述 最近遇到一个问题&#xff0c;linux 的 smb服务器开启匿名访问&#xff0c;windows访问linux文件夹不需要用户名密码就可以进去使用&#xff0c;但是存在一个问题&#xff0c;ssh连接到linux 后修改的文件&#xff0c;在windows已smb方式下打开某个文件修改 是没有权限…

一周 AIGC 丨苹果下架多款 AIGC 应用,阿里云开源通义千问 70 亿参数模型

多个 AIGC 应用在苹果应用商店下架&#xff0c;包含数据采集和使用不够规范等问题。阿里云开源通义千问 70 亿参数模型&#xff0c;包括通用模型 Qwen-7 B 和对话模型 Qwen-7 B-Chat。腾讯混元大模型开始应用内测&#xff0c;内部多个业务线接入测试。百度智能云“千帆大模型平…

重试框架入门:Spring-RetryGuava-Retry

前言 在日常工作中&#xff0c;随着业务日渐庞大&#xff0c;不可避免的涉及到调用远程服务&#xff0c;但是远程服务的健壮性和网络稳定性都是不可控因素&#xff0c;因此&#xff0c;我们需要考虑合适的重试机制去处理这些问题&#xff0c;最基础的方式就是手动重试&#xf…

idea模板的使用(配置xml文件模板)

1. 问题的引出 我们在日常项目中可以发现&#xff0c;sql映射文件和mybatis主配置文件&#xff0c;以及application.yml文件中有很多固定不变的内容&#xff0c;为了方面使用&#xff0c;所以可以把这些xml文件设置为模板 2. 创建模板的步骤 按照图片一步一步进行即可 点击…

【Spring专题】手写简易Spring容器过程分析

前置知识 《【Spring专题】Spring底层核心原理解析》 思路整理 我们在上一节《【Spring专题】Spring底层核心原理解析》课里面有简单分析过一个Spring容器的一般流程&#xff0c;所以&#xff0c;本节课我们这里尝试写一下简易的Spring容器。 手写源码示例 一、手写前的准…