以 Ubuntu
下打包为例子
dotnet-packaging
-
工具地址
https://github.com/quamotion/dotnet-packaging
-
安装工具
dotnet tool install --global dotnet-deb
-
项目目录中配置项目
dotnet deb install
-
生成安装包
dotnet deb -o "$(xdg-user-dir DESKTOP)/output" -c Release
- o 输出目录
- c 编译配置,默认是
Debug
-
项目相应配置
<VersionPrefix>1.5</VersionPrefix> <!-- 对应于生成安装包的版本 -->
<Description>这是我的一个测试应用</Description> <!-- 对应于生成安装包的 Description -->
<Authors>iox</Authors> <!-- 对应于安装包的 Maintainer-->
-
快捷方式
程序中嵌入一个
AvaloniaDemo.desktop
文件, 配置如下
<Content Include="AvaloniaDemo.desktop" CopyToPublishDirectory="Always">
<LinuxPath>/usr/share/applications/AvaloniaDemo.desktop</LinuxPath>
</Content>
<!-- 同时输出一个图标文件,作为应用的图标 -->
<Content Include="AvaloniaDemo.png" CopyToPublishDirectory="Always" />
[Desktop Entry]
Name=AvaloniaDemo
# 应用默认路径
Exec=/usr/share/AvaloniaDemo/AvaloniaDemo
# 图标我放在这里了
Icon=/usr/share/AvaloniaDemo/AvaloniaDemo.png
# 系统根据窗口的 wmclass 名确定是否是同一个应用的窗口,进行显示在任务栏同一个组中之类的操作
# 可使用 xprop 命令查出 wmclass 信息,一般是项目名
# xprop 见后面的解释
StartupWMClass=AvaloniaDemo
Terminal=false
Type=Application
# 会影响安装后被分配至哪个程序目录下, 可以让 AI 推荐一个分类
Categories=Development
Comment=xsoft 的一个测试工具
GenericName=demo app
Keywords=keyword1; keyword2; keyword3
-
安装
sudo apt install ./AvaloniaDemo.1.6.deb
-
卸载
sudo apt autoremove avaloniademo
, 注:包名必须使用全小写格式
dpkg-deb
官网上的例子使用 dpkg-deb
打包应用
https://docs.avaloniaui.net/zh-Hans/docs/deployment/debian-ubuntu
xprop
在 X Window System 中使用的命令行工具,主要用于查看和设置窗口管理器的属性
xprop # 执行后,点击激活要检测的窗口,
xprop -root # 查看根窗口的属性
xprop -name "Firefox" # 查找名为 "Firefox" 的窗口
xprop -id 0x12345678 # 查看指定窗口 ID 的属性
xprop -set "WM_NAME" "New Title" # 修改窗口标题
xprop | grep "WM_NAME" # 查看当前窗口的属性
xprop -id 0x1a2b3c -set "WM_NAME" "My Custom Title" # 修改某个窗口的标题:
xprop -root | grep "_NET_CLIENT_LIST" # 修改某个窗口的标题