2016-07-05 4 views
1

Я использую install4j, и я хотел бы знать, как я могу указать, что пакет программного обеспечения имеет графический интерфейс. Я тестирую это с помощью Mageia, и там пакеты сгруппированы, как с графическим интерфейсом, и без GUI. После установки моего пакета он находится в списке пакетов без GUI. Но это настольное приложение Java с графическим интерфейсом. По умолчанию Mageia показывает тех, у кого есть графический интерфейс, поэтому мой пакет трудно найти.Как определить, что пакет RPM имеет графический интерфейс в install4j?

Те, у кого нет графического интерфейса, являются в основном библиотеками, которые устанавливаются как зависимости от других пакетов. Пользователь обычно устанавливает только программное обеспечение с графическим интерфейсом.

+1

Что пакет содержит одно или несколько приложений графического интерфейса, это не встроенная концепция RPM и даже общая концепция Linux. Я не знаю конкретно, как отличается Mageia, но, скорее всего, он основан на файле или файлах, установленных или измененных в системе. Просто может быть, будет ли пакет устанавливать файл '.desktop' в'/usr/share/applications', который будет более или менее соответствовать графическому интерфейсу в том смысле, что он доступен через системные меню. –

+0

Я вижу. Я нашел это. Это объясняет все это и выглядит очень специфично для mageia: https://wiki.mageia.org/en/Packaging_guidelines –

+0

То, что вы связали, не имеет особого отношения к Mageia, поскольку оно полагается на стандарт de facto * для определения содержимое системных меню. Тот же самый файл .desktop, который вы используете с Mageia, должен работать также с Linux-серверами RedHat и многими другими. Что характерно для Mageia, относится к таким пакетам, как предоставление графического интерфейса (который, как вы заметили, вводит в заблуждение) и различает такие пакеты и другие. –

ответ

0

В установщике-> Экраны & Действия, вы можете добавить пустое пользовательское приложение, чье свойство «Режим исполнения по умолчанию» установлено в «Автоматический режим», а затем добавить одно действие «Добавить действие рабочего стола» для вашей панели запуска Узел «Запуск».

В мастере мультимедиа вашего архива RPM на шаге «Параметры установщика-> После установки сценария» вы можете вызвать этот исполняемый файл.

+0

Это звучит довольно сложно, чтобы скопировать файл. И как работает исполняемый файл? –

+0

Вы можете, конечно, добавить любую команду к этому скрипту. Я просто объяснил, как запустить пользовательское приложение-установщик после установки. –

0

Сейчас я использую это (для Debian тоже):

сообщение Установка:

#!/bin/bash 

echo "Categories=Office;" >> XXXXX.desktop 
if [ -x "$(command -v desktop-file-install)" ]; then 
    desktop-file-install XXXXX.desktop 
fi 
if [ -x "$(command -v xdg-desktop-menu)" ]; then 
    xdg-desktop-menu install --novendor XXXXX.desktop 
fi 

exit 0 

Сообщение Uninstall:

#!/bin/bash 

if [ -f /usr/share/applications/XXXXX.desktop ]; then 
    if [ -x "$(command -v xdg-desktop-menu)" ]; then 
    xdg-desktop-menu uninstall --novendor XXXXX.desktop 
    else 
    rm "/usr/share/applications/XXXXX.desktop" 
    fi 
fi 

exit 0 

Обратите внимание, что мне нужно, чтобы добавить Categories=Office; в файл, поэтому Mageia/KDE фактически добавит его в меню. Он работает без этого на Ubuntu.
Он по-прежнему не отображается в виде приложения с графическим интерфейсом, но по крайней мере он находится в меню, поэтому пользователь может запустить приложение.
И вы не можете использовать переменные скрипта в файле.