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/

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

相关推荐
运维栈记8 小时前
API Error: 400 Request body format invalid
linux·ai
小白兔奶糖ovo8 小时前
【Leetcode】231. 2的幂
linux·算法·leetcode
s_w.h9 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
顺风尿一寸9 小时前
深入Linux内核:mkdir系统调用的完整实现解析
linux
用户2367829801689 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux
无足鸟ICT10 小时前
【RHCA+】boxes命令(艺术框)
linux
_Voosk10 小时前
FreeBSD 使用代理运行命令
linux·运维·freebsd
G_dou_10 小时前
Linux 搭建 Rust 开发环境:从 rustup 安装到 Cargo 镜像
linux·rust
bsauce11 小时前
【kernel exploit】CVE-2026-23271 perf_event竞态UAF漏洞-ROP提权
linux·linux内核·内核漏洞·内核漏洞利用
Hehuyi_In12 小时前
从优雅到爆烈 —— Linux全力回收内存的一生
linux·内核·内存·memory·回收