【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 图标
相关推荐
tntxia14 小时前
linux curl命令详解_curl详解
linux
扛枪的书生16 小时前
Linux 网络管理器用法速查
linux
SkyWalking中文站18 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸19 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ21 小时前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森1 天前
NumPy 数值计算基础入门
运维
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux