【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 图标
相关推荐
wangsir.10 分钟前
linux之进程信号
linux·信号处理
King's King28 分钟前
自动化立体仓库与堆垛机单元的技术参数
运维·自动化
Dola_Pan29 分钟前
Linux文件IO-基础知识了解及文件描述符
linux·运维·服务器
妖怪喜欢风1 小时前
Linux 5.0在start_kernel之前做了什么事?(以aarch64为例)
linux·汇编
DaphneOdera171 小时前
Linux | 安装最新版 neovim
linux·服务器·vim
加油,旭杏1 小时前
【Linux】Linux进程的概念
linux·运维·服务器·进程·冯诺依曼体系结构·管理·pcb
Kika写代码2 小时前
【Linux】【Hadoop】大数据基础实验一
大数据·linux·hadoop
AiBoxss2 小时前
提升效率的AI工具集 - 轻松实现自动化
运维·人工智能·自动化
学技术的大胜嗷2 小时前
pycharm连接远程linux服务器上的docker进行深度学习训练
linux·服务器·pytorch·python·深度学习·神经网络·pycharm
secret_to_me2 小时前
电脑远程启动Wol
linux·电脑