我正在使用 .Net Core 开发跨平台 UI,并使用 RPM 包管理器对其进行打包。我已经创建了要本地安装的 RPM 文件。我的规范文件的 %install 部分如下所示
%install
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_bindir}/%{name}
mkdir -p %{buildroot}/%{_datadir}/applications
install -m 0755 %{name} %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.dll %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.json %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.so %{buildroot}/%{_bindir}/%{name}
install -m 0755 %{name}.png %{buildroot}/%{_bindir}/%{name}
cat > %{buildroot}/%{_datadir}/applications/%{name}.desktop <<'EOF'
[Desktop Entry]
Name=Hello_World
Exec=%{_bindir}/%{name}/%{name}
Icon=%{_bindir}/%{name}/%{name}.png
Type=Application
Terminal=false
EOF
该项目包含 Linux 的可执行文件、依赖文件和 .png 图标。在安装步骤中,我创建了一个 .desktop 文件并将其放置在 /usr/share/applications 中,以便在安装包时可执行文件出现在应用程序中。
我想知道如何让应用程序在安装包时创建桌面快捷方式,以便用户不必自己制作。我知道要在安装后手动执行此操作,您必须使用 Nautilus 访问 /usr/share/applications 文件夹并将应用程序复制到桌面,但我希望自动完成此操作。
我尝试在安装后部分下使用复制命令,但我不知道如何将其复制到安装该软件包的任何用户桌面。是否有一个命令可以添加到我的规范文件或创建的 .desktop 文件中来完成此操作?
答案1
我建议在成功安装后创建链接,而不是在%post
rpm 构建部分中创建链接。
https://docs.fedoraproject.org/ro/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html
下面有东西链接
ln [OPTION]... [-T] TARGET LINK_NAME