【Linux系列】在Pop!OS的启动器中添加自定义程序图标

news2024/11/18 8:16:19

在这里插入图片描述

文章目录

  • 前言
  • 一、创建快捷方式
  • 二、快捷方式参数
  • 三、添加右键菜单和注册MIME


前言

无论是在Windows上,还是Linux,或者安卓这些我们常用的操作系统上,一些应用程序的快捷方式放在桌面或者启动器,只需要简单的点击就可以启动,但是在Linux上,有相当多的程序是通过命令行启动的,这种方式对于某些人来说确实挺快,但是用惯了Windows就不太适应了,而且在桌面环境下,还是快捷图标更加友好,因此探索了一波Linux创建启动器图标。

由于本人使用的操作系统是Pop!OS,是Ubuntu发行版的一个分支,因此基本和Ubuntu是一致的。


一、创建快捷方式

在创建快捷方式之前,创建的快捷方式是所有用户都要看到还是仅自己可见,也就是说创建系统级图标还是用户级图标。

如果是用户级图标,那么路径为.local/share/applications/

如果是系统级图标,那么路径为/usr/share/applications

进入该路径以后,你会看到一堆.desktop文件

在这里插入图片描述
这些东西就是快捷方式的本来面目了。这里面有一些文件是需要了解一下的。

  1. context-menus文件夹是存放一些右键菜单的。
  2. pop-mimeapps.listgnome-mimeapps.listdefaults.list以及mimeapps.list都是指定文件的默认执行方式的。

你在系统级目录下新建desktop文件,创建的就是系统级图标,如果在用户级目录下新建desktop文件,那么创建的就是用户级图标。

二、快捷方式参数

以安装Jetbrains的Idea为例,我从官网下载了压缩包,并且解压到了/home/pang/workspace/env/idea-IU-232.8660.185路径,此时有个文件Install-Linux-tar.txt提示如何在Linux上安装,但是实际上也只说进入bin目录运行

./idea.sh

对于这种运行方式,使用体验是比较差的,因此需要创建个快捷方式启动,我选择的是系统级快捷方式,然后创建个idea.desktop,内容如下

[Desktop Entry]
Name[tr]=idea
Name[zh_CN]=idea
Exec=/home/pang/workspace/env/idea-IU-232.8660.185/bin/idea.sh
Terminal=false
Type=Application
Icon=/home/pang/workspace/env/Icon/idea.png
Comment=idea
Categories=Utility;

在这里插入图片描述
可见图标就创建好了,并且功能运行正常。

简单介绍下这个文件中参数的作用,

  1. Name代表显示名字,并且可以指定语言,比如Name[zh_CN]
  2. Exec是可执行文件,或者命令
  3. Terminal是否显示终端
  4. Type应用程序类型
  5. Icon图标
  6. Comment描述
  7. Categories分类

如果你想要查看所有相关的参数,建议查看大佬玩转智能机器人的文章,或者直接去官网查看(能看懂英文)。
官网https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

三、添加右键菜单和注册MIME

其实有很多功能是用不到的,所以挑两个可能用到的说一下,首先给出一份较为完整的文件例子

[Desktop Entry]
Version=1.0
Type=Application
Name=Foo Viewer
Comment=The best viewer for Foo objects available!
TryExec=fooview
Exec=fooview %F
Icon=fooview
MimeType=image/x-foo;
Actions=Gallery;Create;

[Desktop Action Gallery]
Exec=fooview --gallery
Name=Browse Gallery

[Desktop Action Create]
Exec=fooview --create-new
Name=Create a new Foo!
Icon=fooview-new

在这个文件中,MimeType=image/x-foo;注册了MIME,然后就可以在指定默认执行程序那写了
在这里插入图片描述
以及一些右键菜单也可以看出来是怎么写的,大概影响的是这几行

……
Actions=Gallery;Create;

[Desktop Action Gallery]
Exec=fooview --gallery
Name=Browse Gallery

[Desktop Action Create]
Exec=fooview --create-new
Name=Create a new Foo!
Icon=fooview-new

Action指定有几个菜单选项,然后下面用[Desktop Action ActionName]来指定,且有三个参数

  • Exec 执行的命令
  • Name 显示名字
  • Icon 图标

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】串联所有单词的子串【滑动窗口】

题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。例如,如果 words ["ab","cd","ef"], 那么 "abcd…

Unity 编辑器篇|(十一)Gizmos (全面总结 | 建议收藏)

目录 1. 前言2 参数总览3 Gizmos绘制3.1 立方体:DrawCube3.2 视锥:DrawFrustum3.3 贴图:DrawGUITexture3.4 图标:DrawIcon3.5 线段:DrawLine3.6 网格:DrawMesh3.7 射线:DrawRay3.8 球体&#xf…

PBR材质背光面太暗优化

图形学中漫反射光照遵循兰伯特光照模型,它的公式如下 其中: :漫反射光颜色 :入射光颜色 :材质的漫反射系数 :法线方向 :光源方向 由于背光面的法线方向和光源方向的点积为负数,因此…

为什么 Golang Fasthttp 选择使用 slice 而非 map 存储请求数据

文章目录 Slice vs Map:基本概念内存分配和性能Fasthttp 中的 SliceMap性能优化的深层原因HTTP Headers 的特性CPU 预加载特性 结论 Fasthttp 是一个高性能的 Golang HTTP 框架,它在设计上做了许多优化以提高性能。其中一个显著的设计选择是使用 slice 而…

golang 中使用 statik 将静态资源编译进二进制文件中

现在的很多程序都会提供一个 Dashboard 类似的页面用于查看程序状态并进行一些管理的功能,通常都不会很复杂,但是其中用到的图片和网页的一些静态资源,如果需要用户额外存放在一个目录,也不是很方便,如果能打包进程序发…

shell编程-3

文章目录 shell学习第三天while 循环第一天的小游戏练习: 编写抽同学回答问题的脚本要想让这个脚本永久有效如何知道两个文件里的内存一样?如何判断某个人已经抽过了 文本处理相关命令seqxargsuniqsorttrcutawkpastesplitcoljoin小结一下作业 小知识点写脚本的流程怎…

基于SkyEye仿真飞腾处理器:运行U-Boot并加载Phytium-FreeRTOS

仿真平台在帮助提升研发效率、加快产品面市时间上的作用已得到诸多验证,通过对处理器进行仿真来支持嵌入式系统及软件的虚拟化开发、测试和验证成为目前应用较为广泛的方法。天目全数字实时仿真软件SkyEye是一款基于可视化建模的硬件行为级仿真平台,在众…

找免费PPT素材、模板,就上这6个网站。

这6个PPT模板网站,免费下载,可商用,赶紧来下载。 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYxMjky 菜鸟图库是一个设计、办公、媒体等素材非常齐全的网站,站内有几百万的庞大素材库,其中PP…

Python 异源mesh裁剪融合实现与优化

Python 异源mesh裁剪融合实现与优化 一、项目需求二、解决方案1. 代码2. 结果3. 耗时 三、优化探索0. 分析1. 在体素边界处进行裁剪2. 用mesh分块进行裁剪3. 用缓冲区的思路裁剪 一、项目需求 对mesh进行裁剪,但发现若非mesh是致密的,那么裁剪边会出现锯…

用通俗易懂的方式讲解:使用Llama-2、PgVector和LlamaIndex,构建大模型 RAG 全流程

近年来,大型语言模型(LLM)取得了显著的进步,然而大模型缺点之一是幻觉问题,即“一本正经的胡说八道”。其中RAG(Retrieval Augmented Generation,检索增强生成)是解决幻觉比较有效的…

Linux网络引导自动安装centos7

目录 一、部署PXE远程安装服务 1. 系统装机的三种引导方式 2. pxe概述 3. 实现过程 4. 搭建过程中服务介绍 4.1 TFTP服务 4.2 vsftp:安装系统镜像文件获取方式 4.3 syslinux 4.4 DHCP服务 5. 操作过程 二、实现Kickstart无人值守安装 1. 安装Kickstart图…

vue项目执行依赖安装(npm i或npm install )报ls-remote -h -t异常

从git拉取的vue项目执行依赖安装时一直报错, 报错如下图:首先,查看了node版本、npm配置的镜像地址均没找到解决办法。 在命令行中直接输入git发现提示于是从网上搜到了一个博文https://blog.csdn.net/weixin_49159364/article/details/118198…

ycsb压测mongodb

下载解压 https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-mongodb-binding-0.17.0.tar.gz tar -zxvf ycsb-mongodb-binding-0.17.0.tar.gzycsb提前已经在workload文件夹下准备好了几个压测场景分别对应workload[a:f] workloads/workloada 样例 …

【Linux】Linux系统编程——pwd命令

文章目录 1.命令概述2.命令格式3.常用选项4.相关描述5.参考示例 1.命令概述 pwd(Print Working Directory)命令用于显示用户当前工作目录的完整路径。这是一个常用的命令,帮助用户确定他们目前所在的目录位置。 2.命令格式 基本的 pwd 命令…

CVer从0入门NLP(二)———LSTM、ELMO、Transformer模型

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…

恒创科技:云存储和网盘怎么区分出来?

随着互联网的发展,数据存储已成为人们日常生活中不可或缺的一部分。云存储和网盘是经常被人们提及的两种存储方式,均通过网络进行数据存储和访问的服务。但,它们在技术实现、数据安全性、访问方式和数据容量等方面存在一定的差异。要区分&…

DAY04_Spring—Aop案例引入代理机制

目录 1 AOP1.1 AOP案例引入1.1.1 数据库事务说明 1.2 Spring实现事务控制1.2.1 代码结构如下1.2.2 编辑User1.2.3 编辑UserMapper/UserMapperImpl1.2.4 编辑UserService/UserServiceImpl1.2.5 编辑配置类1.2.6 编辑测试类 1.3 代码问题分析1.4 代理模式1.4.1 生活中代理案例1.4…

赋能客户不停歇,卓翼飞思职业院校无人智能装备师资培训圆满落幕

1月10日-15日,卓翼飞思在北京研发中心成功举办职业院校无人智能装备高级师资培训。来自湖南汽车工程职业学院(以下简称:湖南汽车职院)的10名师生&技术人员参与此次培训,针对无人智能集群应用开发进行系统性的培训及…

图卷积GCN实战基于网络结构图的网络表示学习实战

下面的是数据: from,to,cost 73,5,352.6 5,154,347.2 154,263,392.9 263,56,440.8 56,96,374.6 96,42,378.1 42,58,364.6 58,95,476.8 95,72,480.1 72,271,419.5 271,68,251.1 134,107,344.0 107,130,862.1 130,129,482.5 227,167,1425.7 167,298,415.7 298,209,42…

(vue)键值对结构数据展示

(vue)键值对结构数据展示 效果: 数据结构: this.formInline.algorithmText [{algorithmParameters: {参数名1: "111",参数名2: "121,122",},algorithmName: "算法1",algorithmId: 9,},{algorithmParameters: {参数名1:…