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/

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

相关推荐
誰能久伴不乏11 分钟前
深入理解 `poll` 函数:详细解析与实际应用
linux·服务器·c语言·c++·unix
倔强的石头10622 分钟前
Linux 进程深度解析(二):进程状态、fork 创建与特殊进程(僵尸 与 孤儿)
linux·运维·服务器
小李小李无与伦比34 分钟前
使用Simiki,部署.md文档
linux·运维·服务器
做人不要太理性39 分钟前
【Linux系统】ELF 文件格式的硬核揭秘
java·linux·服务器
怀旧,1 小时前
【Linux系统编程】12. 基础IO(下)
linux·运维·服务器
Winter_Sun灬1 小时前
CentOS 7 编译安卓 arm64-v8a 版 OpenSSL 动态库(.so)
android·linux·centos
ベadvance courageouslyミ1 小时前
系统编程之进程
linux·进程·pcb结构体
松涛和鸣1 小时前
29、Linux进程核心概念与编程实战:fork/getpid全解析
linux·运维·服务器·网络·数据结构·哈希算法
南棱笑笑生2 小时前
20251211给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配adb【type-C0】
linux·c语言·adb·rockchip
Yengi2 小时前
【test】gtkmm-环境搭建
linux