【QGC】把QGroundControl地面站添加到Ubuntu侧边菜单栏启动

embedded/2024/10/9 11:17:34/

QGroundControl地面站添加到Ubuntu侧边菜单栏启动

    • 简介
    • 准备工作
    • 步骤 1: 创建 Desktop Entry 文件
    • 步骤 2: 编辑 Desktop Entry 文件
    • 步骤 3: 刷新应用程序菜单
    • 步骤 4: 将 QGroundControl 固定到侧边栏

环境:

Ubuntu :20.04 LTS

简介

QGroundControl 是一个广泛使用的开源地面控制站,它支持多种无人机系统(如 PX4、ArduPilot)。如果您想快速访问 QGroundControl,可以将其添加到 Ubuntu 的侧边菜单栏Ubuntu Dock)中。以下指南将一步步引导您完成这一操作。

在这里插入图片描述

准备工作

首先,确保您已经下载了 QGroundControl.AppImageQGC.png 文件,我把这两个文件放到了 ~/QGC 这个文件夹中。

步骤 1: 创建 Desktop Entry 文件

打开终端并输入以下命令来创建一个新的 desktop 文件,这将打开一个文本编辑器 gedit,并创建一个名为 QGC.desktop 的文件。

gedit ~/.local/share/applications/QGC.desktop

步骤 2: 编辑 Desktop Entry 文件

在文件中输入以下内容。

[Desktop Entry]
Name=QGroundControl
Comment=Run QGroundControl
Exec=/home/hccwb/QGC/QGroundControl.AppImage
Icon=/home/hccwb/QGC/QGC.png
Terminal=false
Type=Application
Categories=Development;IDE;
  • Name: 这是应用程序在菜单中显示的名称。
  • Comment: 这是应用程序的简短描述,在某些菜单中可能会显示。
  • Exec: QGroundControl.AppImage 的完整路径,这就是启动该应用程序的命令。
  • Icon: 图标文件的完整路径,将显示在菜单和侧边栏中。
  • Terminal: 设为 false,表示不在终端中运行应用程序。
  • Type: 指定此文件为一个应用程序。
  • Categories: 定义应用程序的分类,可帮助您在应用程序菜单中组织和查找。

保存并关闭 gedit 编辑器。

步骤 3: 刷新应用程序菜单

在终端中,输入以下命令来刷新应用程序菜单。

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

QGroundControl__62">步骤 4: 将 QGroundControl 固定到侧边栏

现在,您可以通过按 Win 键打开应用程序菜单,搜索您刚刚创建的应用程序。

在这里插入图片描述

当应用程序图标出现时,右键点击它并选择 添加到收藏夹,它将被固定到左侧的菜单栏中。

在这里插入图片描述

现在,您可以在 Ubuntu 的侧边菜单栏中轻松启动 QGroundControl 地面站了。每次需要启动时,只需点击侧边栏中的图标即可,无需每次都进入文件夹或终端手动执行。


http://www.ppmy.cn/embedded/112996.html

相关文章

【Linux】环境变量

【Linux】环境变量 基本概念命令行参数环境变量认识常见的环境变量PATH环境变量PWD环境变量USER环境变量HOME环境变量 系统中查看所有的环境变量 环境变量的特性export导出环境变量main函数的第三个参数 获取环境变量的方法使用main函数的传参的方式通过getevn函数获取单个环境…

【Python】基本使用

目录 变量的类型 整数 int 浮点数 float 字符串 str 字符串长度 格式化字符串 布尔类型 动态类型 注释 获取输入 浮点数比较 多元赋值 for循环 函数的定义和调用 创建函数/定义函数 调用函数/使用函数 列表 创建列表 切片操作 遍历列表 新增元素 判断元…

Uniapp的alertDialog返回值+async/await处理确定/取消问题

今天在使用uniui的alertDialog时,想添加一个确定/取消的警告框时 发现alertDialog和下面的处理同步进行了,没有等待alaertDialog处理完才进行 查询后发现问题在于 await 关键字虽然被用来等待 alertDialog.value.open() 的完成,但是 alertDi…

探索轻量级语言模型 GPT-4O-mini 的无限可能

随着人工智能技术的日益发展,语言模型正逐渐成为人们日常生活和工作中不可或缺的一部分。其中,GPT-4O-mini 作为一个轻量级大模型,以其强大的功能和易用性吸引了众多关注。本文将带您了解 GPT-4O-mini 的出色表现、应用场景以及如何免费使用这…

LeetCode[简单] 283.移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 思路:利用快慢指针,快指针遍历数组,慢指针是非零元素索…

C#学习 深入理解委托、匿名方法、Lamda表达式、Linq;

目录 一.委托 1.1 什么是委托 1.2 委托的使用 二.匿名方法和Lamda表达式 2.1 什么是匿名方法 2.2 Lambda表达式 三.Linq 3.1 Linq理解 3.2 Linq的扩展方法 一.委托 1.1 什么是委托 委托和类一样,是具有特定参数列表和返回值类型的方法函数的…

如何解决“json schema validation error ”错误? -- HarmonyOS自学6

一. 问题描述 DevEco Studio工程关闭后,再重新打开时,出现了如下错误提示: json schema validation error 原因: index.visual或其他visual文件中的left等字段的值为负数时,不能以”-0.x“开头,否则就会…

Mastering openFrameworks_第十一章_网络

网络 网络为多个设备之间的数据交换提供了一种方式。它是一个主要组成部分,允许远程控制移动和平板设备应用程序中的一些参数,也用于使交互式项目在多台计算机上同步工作。在本章中,您将学习如何在openFrameworks项目中实现和使用OSC和TCP协议,具体如下: 网络基础 使用O…