【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 图标
相关推荐
学***54231 小时前
换新电脑如何迁移原有数据?4 种高效数据迁移方法详解
服务器·电脑·负载均衡
vortex56 小时前
Debian 包管理全指南:从底层 dpkg 到高层 apt 及其日志追踪
linux·运维·debian
偶尔上线经常挺尸7 小时前
《每日一命令08:scp——安全的远程复制》
linux·安全·scp·文件传输·运维基础·远程复制
计算机安禾7 小时前
【Linux从入门到精通】第17篇:日志系统——系统运行的黑匣子
linux·运维·服务器
l1t7 小时前
DeepSeek辅助解决windows 11 wsl2中Linux版Dbeaver显示中文
linux·运维·windows
pengyi8710159 小时前
独享IP+动态IP结合核心逻辑,破解稳定与灵活的矛盾
linux·运维·网络
阿祖zu9 小时前
本地到生产,解决 AI 全栈最后一公里——构建&部署&运维
运维·架构·aigc
拍客圈13 小时前
内容页底部 采集的同时 隐瞒封面图
服务器·php
MAVER1CK13 小时前
Install VNC in Docker container
运维·docker·容器
SECS/GEM14 小时前
SECS/GEM如何实现越南现场自定义消息
java·服务器·数据库