Centos 7 RPM Packaging — создание ярлыка на рабочем столе во время установки

Centos 7 RPM Packaging — создание ярлыка на рабочем столе во время установки

Я разрабатываю кроссплатформенный пользовательский интерфейс с .Net Core и упаковываю его с помощью RPM Package Manager. Я создал файл RPM для локальной установки. Раздел %install моего spec-файла выглядит так

%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, чтобы исполняемый файл появился в приложениях при установке пакета.

Я хотел бы узнать, как сделать так, чтобы при установке пакета приложение имело ярлык на рабочем столе, чтобы пользователю не приходилось делать его самому. Я знаю, что для этого нужно вручную после установки зайти в папку /usr/share/applications с помощью Nautilus и скопировать приложение на рабочий стол, но я бы хотел, чтобы это делалось автоматически.

Я пробовал использовать команду копирования в разделе после установки, но не знаю, как скопировать ее на рабочий стол любого пользователя, который устанавливает пакет. Есть ли команда, которую я могу добавить в свой файл спецификации или созданный файл .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

Связанный контент