当前位置: 首页 > news >正文

为 Ubuntu 安装的软件创建桌面图标

如何为 Ubuntu 安装的软件创建桌面图标(.desktop 启动器)

在 Ubuntu 或其他 Linux 发行版中,我们常常通过压缩包(如 .tar.gz)或官方二进制方式安装软件。这种安装方式虽然灵活方便,但默认并不会将软件添加到系统菜单中,也没有快捷方式或图标。为了提升使用体验,我们可以手动创建 .desktop 启动器,将其添加到桌面或应用菜单中。

本文以 Postman 为例,介绍如何手动为一个非 APT 安装的软件创建桌面图标。


一、准备工作

假设你已经下载了 Postman-linux-x64.tar.gz,并解压到了如下目录:

~/tools/Postman/

该目录下有一个可执行文件:Postman


二、创建 .desktop 文件

.desktop 文件是 Linux 桌面环境识别的快捷方式格式,它定义了应用的名称、图标、可执行路径等。

步骤如下:

  1. 打开终端,输入以下命令创建桌面文件:
nano ~/.local/share/applications/postman.desktop
  1. 填入以下内容(根据你的实际路径调整):
[Desktop Entry]
Name=Postman
Comment=Postman API Tool
Exec=/home/yourname/tools/Postman/Postman
Icon=/home/yourname/tools/Postman/app/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
StartupNotify=true

注意:

  • Exec 是你的 Postman 可执行文件的绝对路径。
  • Icon 是一个 .png 格式图标文件,最好是 256x256 或更大,路径同样使用绝对路径。
  • yourname 替换为你的用户名。
  1. 保存并关闭(Nano 中按 Ctrl + O 保存,Ctrl + X 退出)。

三、赋予可执行权限

.desktop 文件添加可执行权限:

chmod +x ~/.local/share/applications/postman.desktop

四、刷新系统应用菜单

运行以下命令刷新图标缓存(可选):

update-desktop-database ~/.local/share/applications

现在你可以在 应用菜单 中搜索并启动 Postman 了。


五、可选:固定到启动器或桌面

  • 添加到桌面:

    cp ~/.local/share/applications/postman.desktop ~/Desktop/
    chmod +x ~/Desktop/postman.desktop
    
  • 固定到 Dock(启动器):

    启动一次 Postman,然后右键点击图标,选择“添加到收藏夹”即可。


六、遇到图标不显示怎么办?

  • 确保 Icon= 路径正确,并指向一个真实存在的 .png 文件。
  • 图标路径不支持 ~,一定要使用绝对路径,例如 /home/yourname/xxx.png
  • 确保 .desktop 文件权限为可执行。

总结

通过创建 .desktop 文件,你可以将任何手动安装的软件集成到 Ubuntu 的图形界面中,实现和系统应用一样的启动体验。这种方法不仅适用于 Postman,也适用于其他如 Android Studio、JetBrains 系列、VSCode 手动版等非系统软件。

如果你希望再进一步,也可以通过 xdg-mimexdg-icon-resource 来注册 MIME 类型和图标。


如果你喜欢这类 Linux 教程,欢迎点赞、收藏和关注我 😉。如有问题,欢迎留言交流!

http://www.xdnf.cn/news/708067.html

相关文章:

  • qt结构化绑定的重大缺陷:只能创建局部变量
  • Knife4j框架的使用
  • WPF的布局核心:网格布局(Grid)
  • 【海康USB相机被HALCON助手连接过后,MVS显示无法连接故障。】
  • forward(转发)和redirect(重定向)
  • Spring AI(9)——MCP客户端
  • HackMyVM-Dejavu
  • Spark-Core Project
  • scp 命令
  • Unity开发之Webgl自动更新程序包
  • 4.1.1 Spark SQL概述
  • spark在执行中如何选择shuffle策略
  • Java开发经验——阿里巴巴编码规范实践解析6
  • 【Linux篇】叩响新世界的大门:线程
  • 【stm32开发板】原理图设计(电源部分)附:设计PCB流程
  • SmolVLM2: The Smollest Video Model Ever(七)
  • Kafka核心技术解析与最佳实践指南
  • BPE、WordPiece 与 Unigram:三种主流子词分词算法对比
  • 关于测试小记
  • flutter项目迁移空安全
  • ADQ36-2通道2.5G,4通道5G采样PXIE
  • 5G-A时代与p2p
  • 晶振频率稳定性:5G 基站与航天设备的核心竞争力
  • Axios 如何通过配置实现通过接口请求下载文件
  • 网络渗透基础:信息收集
  • thinkphp 5.1 部分知识记录<一>
  • t013-集团门户网站设计与实现 [基于springboot+Vue 含材料及源码]
  • 机器学习算法--随机森林
  • 13 接口自动化-框架封装之 csv 数据驱动封装和日志
  • SOC-ESP32S3部分:18-串口