Ubuntu / Debian 创建快捷方式启动提权

简述

在 Linux 系统中,.desktop 文件是 桌面入口文件,用于在桌面环境(如 GNOME、KDE)中定义应用程序的启动方式、图标、名称等信息。当你执行 touch idea.desktop 时,实际上创建了一个空的 .desktop 文件(例如为 JetBrains IDEA 或其他软件创建快捷方式)

  1. .desktop文件的作用

    • 图形化快捷方式:让应用程序出现在系统菜单、桌面或 Dock 中
    • 自定义启动参数:指定启动命令、工作目录、环境变量等
    • 统一管理应用入口:标准化应用在 Linux 桌面环境中的集成
  2. 文件内容结构

    一个典型的 .desktop 文件需要包含以下关键字段
[Desktop Entry]
Type=Application
Name=IntelliJ IDEA Community Edition
Icon=/home/idea-IC-202.7660.26/bin/idea.svg # 自己idea的icon位置
Exec=sudo /home/idea-IC-202.7660.26/bin/idea.sh # 自己idea的脚本位置,前面要加sudo
Comment=Capable and Ergonomic IDE for JVM
Categories=Development;IDE;
Terminal=true # 如果没有给自己账户root权限就需要这里设为true来启动终端输入密码
StartupWMClass=xxxx  # 需要使用命令查询填充
字段说明
Type=Application固定值,表示这是一个应用程序入口
Name显示在菜单中的应用程序名称
Exec实际执行的命令或脚本路径(必须绝对路径)
Icon应用程序图标的路径(支持 PNG、SVG 等格式)
Categories应用分类(如 Development、IDE),影响菜单归类
Terminal是否在终端中运行(true/false)
StartupWMClass将应用程序窗口与桌面入口(快捷方式)精准关联(避免任务栏/启动器中出现重复图标 / 精准匹配窗口类名),启动应用后,运行终端xprop WM_CLASS命令,然后点击对应窗口,得到 WM_CLASS(STRING) = “Navigator”, “firefox”,取第二个字符串
  1. 正确创建 .desktop 文件的步骤

    • 创建并编辑文件(内容如上)
      vim idea.desktop
      
    • 赋予执行权限
      chmod +x idea.desktop
      
    • 放置到标准目录
      • 用户级快捷方式(仅当前用户生效)
        mv idea.desktop ~/.local/share/applications/
        
      • 系统级快捷方式(所有用户生效)
        sudo mv idea.desktop /usr/share/applications/
        
  2. 常见问题

    • 问题 1:快捷方式不显示或无法启动
      • 原因:路径错误、权限不足或文件格式错误
      • 解决:
        • 检查 Exec 和 Icon 的路径是否正确;
        • 确保文件有可执行权限:chmod +x idea.desktop;
        • 验证文件语法:desktop-file-validate idea.desktop
    • 问题 2:图标不显示
      • 原因:图标路径错误或格式不支持
      • 解决:
        • 使用绝对路径指向图标文件(如 /opt/idea/bin/idea.png)
        • 确保图标文件存在且格式为 PNG/SVG

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/75261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ISIS报文

IS-IS 报文 目录 IS-IS 报文 一、报文类型与功能 二、报文结构解析 三、核心功能特性 四、典型应用场景 五、抓包数据分析 六、总结 IS-IS(中间系统到中间系统)协议报文是用于链路状态路由协议中网络设备间交换路由信息的关键载体,其设…

beikeshop多商户跨境电商独立站最新版v1.6.0版本源码

一.介绍 beikeshop跨境电商独立站最新版V1.6.0源码 多商户 多商家 多语言 多币结算 本博主亲测搭建代码全开源质量相对来说很稳定的 二.服务器环境 系统:CentOS、 环境:PHP7.4 Nginx 1.21 MySQL 5.6 常见插件:fileinfo ; re…

Redis批量操作详解

一、原生批量命令(MSET) 适用场景:所有键的过期时间相同或无过期设置,且无需条件判断。 方法: 将多个SET命令合并为MSET命令,但需要注意MSET的局限性(无法设置过期时间,且所有键值对…

Spring Boot 集成实战:AI 工具如何自动生成完整微服务模块

在数字化转型的浪潮中,开发效率和质量是企业竞争力的关键要素。飞算 JavaAI 作为一款创新的 AI 工具,能在 Spring Boot 开发中,自动生成完整微服务模块,极大提升开发效率。下面,我们就详细介绍如何借助飞算 JavaAI&…

算法 | 2024最新算法:斑翠鸟优化算法原理,公式,应用,算法改进研究综述,matlab代码

基于斑翠鸟优化算法的原理、应用及改进研究综述 一、算法原理 斑翠鸟优化算法(Pied Kingfisher Optimizer, PKO)是2024年由Bouaouda等人提出的一种新型仿生智能优化算法,其灵感来源于斑翠鸟的捕食行为与共生关系。算法通过模拟斑翠鸟的栖息悬停、潜水捕鱼及与其他生物的共生…

RabbitMQ高级特性--重试特性

目录 1.重试配置 2.配置交换机&队列 3.发送消息 4.消费消息 5. 运行程序观察结果 6. 手动确认 注意: 在消息传递过程中, 可能会遇到各种问题, 如网络故障, 服务不可用, 资源不足等, 这些问题可能导致消息处理失败. 为了解决这些问题, RabbitMQ 提供了重试机制, …

Vue 组件通信 - 中央事件总线

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue组件通信 - 中央事件总线 目录 中央事件总线 图示 准备工作 设置页面元素 创建组件 总结 中央事件总线 使用vue的监听和触发来实现中央事件总线方式。 on监听 emit触发,组件按钮绑定点击事件&#xff0c…

5.0 WPF的基础介绍1-Grid,Stack,button

WPF: Window Presentation Foundation. WPF与WinForms的对比如下: 特性WinFormsWPF技术基础基于传统的GDI(图形设备接口)基于DirectX,支持硬件加速的矢量渲染UI设计方式拖拽控件事件驱动代码(简单但局限)…

QT软件设计可考虑回答

在Qt应用中是否引入抽象类需要根据具体场景权衡&#xff0c;以下是分层建议&#xff1a; 建议采用抽象类的3个典型场景&#xff1a; 传感器系统抽象&#xff08;强推荐&#xff09; class AbstractSensor { public:virtual ~AbstractSensor() default;virtual QVector<L…

pytorch学习(b站小土堆学习)

1 环境配置 参考链接 2. dir 和 help函数 dir()&#xff1a;用于查看某一模块函数的方法 help()&#xff1a; 用于查看某方法的使用方法 3. dataset类实战 利用Image对象打开图片&#xff0c;利用os模块的地址拼接组成图片路径 当我们用方括号访问元素对象时&#xff0c;…

Unity TextMeshPro 实现文本逐字淡出效果

Unity TextMeshPro 实现文本逐字淡出效果 前言项目思路场景布置代码编写 前言 在处理角色对话时经常会用到一些文本动画&#xff0c;正好记录一下。使用 TextMeshPro&#xff0c;我们可以直接操作文本的顶点数据&#xff0c;实现诸如渐变、动画等效果&#xff0c;为游戏界面和…

Mathtype无法插入到Word中

在word工具栏上有没有出现Mtahtype&#xff0c;会出现以下两种情况&#xff1a; 1. 没有出现Mtahtype 2. 出现Mtahtype&#xff0c;但是点击会出现弹窗 “ Couldnt find the MathPage.wll ” 解决方案 首先查看word版本是32位还是64位&#xff0c;这个位数是office安装位数…

责任链模式_行为型_GOF23

责任链模式 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;核心思想是将多个处理请求的对象连成一条链&#xff0c;请求沿链传递直到被处理。它像现实中的“多级审批流程”——请假或报销时&#xff0c;申请会逐级提交给…

Qt图形化界面为何总被“冷落“?

在Qt开发者的IDE中&#xff0c;Qt Designer总像一个被遗忘的角落——即便它有着直观的拖拽式界面设计功能。通过分析GitHub上超过5000个Qt项目发现&#xff0c;仅有17%的项目使用.ui文件构建界面。这个数据背后&#xff0c;隐藏着开发者群体对GUI构建方式的集体选择。我们不禁要…

SQL Server从安装到入门一文掌握应用能力。

本篇文章主要讲解,SQL Server的安装教程及入门使用的基础知识,通过本篇文章你可以快速掌握SQL Server的建库、建表、增加、查询、删除、修改等基本数据库操作能力。 作者:任聪聪 日期:2025年3月31日 一、SQL Server 介绍: SQL Server 是微软旗下的一款主流且优质的数据库…

简单视图函数

视图函数 文章目录 视图函数[toc]一、什么是视图函数二、简单视图函数三、返回错误视图 一、什么是视图函数 所谓视图函数&#xff08;简称视图&#xff09;&#xff0c;本质上就是一个Python函数&#xff0c;用于接收Web请求并且返回Web响应。Web响应可以包含很多类型&#x…

QT文件操作(QT实操学习3)

1.项目架构 1.UI界面 1.新建文本文档 2.打开文件 3.另存为文件 2.mainwindow.h​ #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QFileDialog> #include <QMessageBox> #include <QDebug> QT_BEGIN_NAMESPACE namespa…

HX324双运算放大器:赋能万物互联时代的信号处理基石

一、运算放大器行业的技术演进与市场需求 在全球半导体市场规模突破6000亿美元的背景下&#xff0c;模拟芯片作为电子系统的"感官神经"&#xff0c;正迎来智能化升级浪潮。据IC Insights数据显示&#xff0c;2023年全球运算放大器市场规模达32.7亿美元&#xff0c;其…

C++ 结构体与函数

一.结构体 1.概念&#xff1a; 结构体&#xff08;struct&#xff09;是一种用户自定义复合数据类型&#xff0c;其中可以包含不同类型的不同成员 2.结构体的应用场景&#xff1a; 我们在使用多个变量描述一个对象时&#xff0c;虽然也可以做到&#xff0c;但是难免显得杂乱…

Python数据可视化-第1章-数据可视化与matplotlib

环境 开发工具 VSCode库的版本 numpy1.26.4 matplotlib3.10.1 ipympl0.9.7教材 本书为《Python数据可视化》一书的配套内容&#xff0c;本章为第1章 数据可视化与matplotlib 本文主要介绍了什么是数据集可视化&#xff0c;数据可视化的目的&#xff0c;常见的数据可视化方式…