Avalonia桌面应用发布到Ubuntu22.04

avalonia创建的桌面应用在部署到linux系统时,需要进行一些指令处理和桌面入口配置,不像windows程序可以直接发送快捷键到桌面。

1、发布为linux-x64程序

发布配置如下,选择的是linux-x64,如果是嵌入式树莓派等选择linux-arm64

因为我的项目名称为AvaloniaApplication1.Desktop,后缀没有参考意义,找项目名称就行了,当时通常我们创建的跨平台程序,Avalonia模板都会包含.Desktop

2、Ubuntu22.04 中配置应用程序

2.1、配置文件

拷贝到Ubuntu系统中**/home/.local/share/applications/** 目录下,可以创建一个新的文件夹myapp。

此时我们需要新建一个入口文件:myapp.desktop文件,以及一个程序图标文件myapp.png

cs 复制代码
/home/.local/share/applications/myapp/
目录下:
AvaloniaApplication1.Desktop //可执行文件 程序
myapp.desktop   //程序入口文件
myapp.png       //程序图标

myapp.desktop内容如下:

cs 复制代码
[Desktop Entry]
Version=1.0
Type=Application
Name=AvaloniaApp
Comment=这是一个测试应用
Exec=/home/.local/share/applications/myapp/AvaloniaApplication1.Desktop
Icon=/home/.local/share/applications/myapp/myapp-icon.png
Categories=Utility;
Terminal=false

2.1、注册软件

做好上述文件配置之后,在myapp文件夹右键打开终端:

bash 复制代码
//告诉系统这个文件是一个可以执行的程序入口
chmod +x myapp.desktop

//使用系统自带的 desktop-file-validate工具检查文件的语法是否正确
desktop-file-validate myapp.desktop

//手动更新数据库让其生效
update-desktop-database ~/.local/share/applications/

之后你就会在开始菜单看到自己的应用程序图标

相关推荐
yunwei3732 分钟前
eBPF 入门实践教程第五十篇:使用 TCX Link 实现可组合的流量控制
linux·云原生·开源
2401_8275012844 分钟前
Linux系统移植
linux·arm开发·单片机
2601_965798471 小时前
Build a Consulting Site in 2026: Nifty Theme Practical Review
java·linux·数据库
加油码1 小时前
共享内存详解:原理、系统调用与高性能进程间通信
linux·c语言·c++
枳实-叶2 小时前
Linux 环境下段错误出现的原因及调试方法
linux·运维·服务器
Dawn-bit2 小时前
Linux文本处理三剑客之sed详解
linux·运维·服务器·云计算·运维开发
dok122 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (9)manual_cdev
linux·运维·驱动开发
Cx330❀2 小时前
【Linux网络】深入 HTTP 协议(五):从 Cookie/Session 原理到 C++ 源码实战
linux·运维·服务器·开发语言·网络·c++·http
keyipatience3 小时前
Socket编程3个版本
linux·运维·服务器·开发语言·网络·ubuntu
小小、码农4 小时前
Linux进程概念
linux·服务器·网络