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

文章目录


前言

无论是在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目录运行

shell 复制代码
./idea.sh

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

ini 复制代码
[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 图标
相关推荐
^yi6 分钟前
【Linux系统编程】对操作系统的理解
linux·运维·服务器·操作系统·系统调用·os
Kina_C22 分钟前
LVS-NAT 负载均衡实验从环境搭建到规则持久化
linux·运维·服务器·负载均衡·lvs
小肝一下35 分钟前
7. 库制作与原理
linux·c语言·操作系统·bash·shell·动静态库
Android洋芋1 小时前
PrintFriendly网页文章转PDF插件工具及技术分析
运维·服务器·pdf·网页转pdf
Elastic 中国社区官方博客1 小时前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
大数据·运维·前端·人工智能·elasticsearch·搜索引擎·全文检索
RoboWizard1 小时前
金士顿高速闪存盘 单双接口适配多元存储需求
大数据·运维·人工智能·智能手机·云计算
2601_964702891 小时前
Claude Opus 5 API 开发实战:对话、文本生成与结构化输出
java·服务器·前端
聚焦前沿1 小时前
水动力优化导流罩:原理、数据与实船验证
大数据·服务器·数据库·人工智能
hkj88081 小时前
Ubuntu 20.04 安装 OpenJDK 17
linux·运维·ubuntu
huainingning1 小时前
防火墙重启后ssl登录提示证书过期临时解决方法
linux·服务器·ssl