Avalonia UI程序打包为deb安装包

2023-11-04

相关依赖安装

  1. 全局安装打包工具
dotnet tool install --global dotnet-deb
  1. 向工程中安装相关打包依赖

将CMD命令行或PowerShell定位到工程所在目录

dotnet deb install

打包前操作

  1. 图标相关配置
    将程序Asset下的Logo图标,替换为自己的图标,然后修改工程文件(.csproj),添加如下代码:
  <ItemGroup>
    <Content Include="Assets\logo.png" CopyToPublishDirectory="PreserveNewest">
      <LinuxPath>/usr/share/icons/logo.png</LinuxPath>
    </Content>
  </ItemGroup>

这里面各个字段含义:
Include:图标文件的相对路径
CopyToPublishDirectory:图标文件复制方式:如果较新则复制
LinuxPath:安装包在Linux安装后,图标文件的路径

  1. 桌面快捷方式配置
    将程序目录下添加工程名称.desktop文件,然后修改工程文件(.csproj),添加如下代码:
  <ItemGroup>
    <Content Include="AvaloniaTest.desktop" CopyToPublishDirectory="PreserveNewest">
      <LinuxPath>/usr/share/applications/AvaloniaTest.desktop</LinuxPath>
    </Content>
  </ItemGroup>

.desktop文件内容如下:

[Desktop Entry]
Name=Test Software
Name[zh_CN]=测试软件
Type=Application
Terminal=false
Categories=Applicaltion;
Exec=/usr/share/AvaloniaTest/AvaloniaTest %U
Icon=/usr/share/icons/logo.png
comment[zh_CN]=中科时代RTE控制软件

其中,需要注意Exec的路径只可改动工程名字,因为deb默认安装位置就是/usr/share/
Icon为图标文件所在位置,一定要与上述图标相关配置中的Linux路径一致,否则不会显示图标

关于.dektop文件的相关说明,请参考Desktop文件说明

进行打包

  1. 还原工程
dotnet restore -r linux-x64
  1. 进行打包
dotnet msbuild AvaloniaDemo.csproj /t:CreateDeb /p:RuntimeIdentifier=linux-x64 /p:Configuration=Release

运行完成后,则可以在输出目录中,生成相应的deb包

关于快捷方式的说明

关于快捷方式,有几点需要注意,不然容易出问题

  1. 快捷方式在Linux下的路径必须为/usr/share/applications/目录下,否则,开始菜单不会显示安装的软件
  2. 快捷方式文件(.desktop)文件编码最好为Utf-8,结尾使用LF,不要使用CRLF,否则快捷方式会看不到,且无法运行软件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Avalonia UI程序打包为deb安装包 的相关文章

随机推荐

  • Transformer《Attention Is All You Need》精读

    文章目录 1 研究背景 2 研究动机 3 模型结构 3 1编码器 3 2 解码器 3 3 Attention 3 4 Multi Head Attention 3 5 模型中Attention的应用 3 6 Position wise Fe
  • 计算机指令——从纸带说起

    前言 其实很多时候我都会感叹计算机的伟大 通过一个个电路就完成了如今各种系统 通过各种各样的语言就能够指挥设备完成不同的动作 当写下第一个hellow world的时候我就在想他什么怎么出现 今天搞明白其中的原理 我在这和大家分享 打孔卡
  • 使用ROS连接两台电脑时,只能看到对方设备的IP,但是订阅不到ros消息

    ROS连接两台设备 利用Ros通信 两台电脑需要处于同一局域网下 1 查看主机 从机 ip hostname ifconfig 查看ip 如果电脑连接的时有线网 则显示结果中 etho 部分的 inet addr 后面就是该电脑的 IP 地
  • java kotlinlang_Kotlin与Java互操作

    1 Kotlin 调用Javaimport java util fun demo source List val list ArrayList for item in source list add item for i in 0 sour
  • redis基本命令

    转 https www cnblogs com woshimrf p 5198361 html 目录 全局操作 1 redis是key value存储的 放在内存中 并在磁盘持久化的数据结构存储系统 2 redis提供原子自增操作incr
  • 学习算法之路(转载)

    第一阶段 练经典常用算法 下面的每个算法给我打上十到二十遍 同时自己精简代码 因为太常用 所以要练到写时不用想 10 15分钟内打完 甚至关掉显示器都可以把程序打 出来 1 最短路 Floyd Dijstra BellmanFord 2 最
  • Recent Advances in Deep Learning for Object Detection

    Recent Advances in Deep Learning for Object Detection Abstract 1 Introduction 2 Problem Settings 3 Detection Components
  • python修饰器原理_Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator 当你看到这个英文名的时候 你可能会把其跟Design Pattern里的Decorator搞混了 其实这是完全不同的两个东西 虽然好像 他们要干的事都很相似 都是想要对一个已有的模块做一些
  • 【RDMA】降低CPU除了RDMA (vbers)还是VMA ?

    前言 看介绍 像是mellonx针对其kernel bypass网卡 RDMA网卡 提供的一个lib库 该lib库对外提供socket api 使得用户的程序不需要修改就可以直接使用kernel bypass网卡 如RDMA网卡 我们都知道
  • FPGA内部结构及时序分析

    FPGA时序分析 FPGA内部基本结构 查找表概述 数据传输路径 时序分析模型 知识补充 注 本文内容来源于B站UP主小梅哥爱漂流的视屏内容 本人整理出来前三节课的视频笔记 对视频内容感兴趣的同学可以去看看小梅哥的视频 视频链接为https
  • String数组的创建

    string数组的定义有三种写法 String arr new String 10 创建一个长度为10的String 类型数组 String arr new String 10 String arr 张三 李四 前面两种写法是一样的 可以互
  • Window下编译FFmpeg(生成ffplay)

    第一步 百度或者官网下载mingw https ddd2 pc6 com xy1 mingw5 1 6 rar 解压后安装到c MinGW下 就是默认安装路径 注意安装时选择全部安装 避免有些东西没安装上 如下图 第二步 官网下载msys
  • opencv-python 银行卡卡号识别

    模板 银行卡 主要思路 用遮盖法 将无关紧要的上面和下面部分截掉 保留银行卡号差不多的位置 然后用opencv做图像处理 得到四个 连着数字的小框框 然后再在四个小框框里面提取出每一个单个的数字和模板里面的数字进行对比 难点是 如何使用op
  • 关于PCB走线及过孔的过流能力

    一 关于PCB走线的过流能力 PCB走线的过流能力都与哪些因素有关 目前考虑有走线线宽 铜箔厚度 走线长度 温升这些因素 下面我们逐个分析及整体分析 1 走线线宽 铜箔厚度以及走线长度对过流能力的影响 通过网上的收集及整理 统计出了下面的表
  • Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现

    今天是2013年的最后一天了 这里首先提前祝大家新年快乐 同时 本篇文章也是我今年的最后一篇文章了 因此我想要让它尽量有点特殊性 比起平时的文章要多一些特色 记得在今年年初的时候 我写的第一篇文章是模仿360手机卫士的桌面悬浮窗效果 那么为
  • 在Vue组件中使用js(script标签)转换13位UTC格式的时间戳

    声明 代码来源AI 非本人原创 经测试实际可用
  • websocket-sdk 解决本地服务与浏览器之间的连接, 以及浏览器与服务器之间的数据传输

    最近由于项目业务需求 需要利用websocket完成本地服务与浏览器之间的数据传输 为了满足这个需求 这里自行封装了websocket sdk 这个工具 一 首先介绍下websocket sdk 它的作用 websocket sdk 已经处
  • 十条法则,让企业减少90%的勒索病毒攻击,勒索病毒解密,数据恢复

    建立完善的安全管理体系 企业应该建立完善的安全管理体系 包括安全策略 安全培训 应急响应等 确保每个员工都了解安全意识和操作规范 定期备份数据 企业需要建立定期备份机制 备份关键数据和系统 确保在发生勒索病毒攻击时 能够迅速恢复数据和系统
  • std::shared_ptr 与普通指针的转换

    shared ptr 是一个类 用模板支持很多类型 1 shared ptr到普通指针 shared ptr
  • Avalonia UI程序打包为deb安装包

    目录 相关依赖安装 打包前操作 进行打包 关于快捷方式的说明 相关依赖安装 全局安装打包工具 dotnet tool install global dotnet deb 向工程中安装相关打包依赖 将CMD命令行或PowerShell定位到工