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/

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

相关推荐
☆璇21 小时前
【Linux】传输层协议UDP
linux·运维·udp
孤廖21 小时前
面试官问 Linux 编译调试?gcc 编译流程 + gdb 断点调试 + git 版本控制,连 Makefile 都标好了
linux·服务器·c++·人工智能·git·算法·github
终焉代码21 小时前
【Linux】进程初阶(1)——基本进程理解
linux·运维·服务器·c++·学习·1024程序员节
我想吃余21 小时前
Linux进程间通信:管道与System V IPC的全解析
linux·服务器·c++
egoist202321 小时前
[linux仓库]打开线程的“房产证”:地址空间规划与分页式管理详解[线程·壹]
linux·页表·地址空间·分页式存储管理·缺页异常
喵了meme1 天前
Linux学习日记6:文件IO与标准IO
linux·c语言·学习
陌路201 天前
Linux18--进程间的通信总结
linux
2401_858286111 天前
OS36.【Linux】简单理解EXT2文件系统(2)
linux·运维·服务器·数据结构·文件系统·ext2
Zach_yuan1 天前
程序地址空间
android·linux·运维·服务器
梁萌1 天前
Linux安装BiliNote
linux·运维·服务器·docker·bilinote