Создание исполняемого файла Ubuntu - PullRequest
8 голосов
/ 22 апреля 2010

Я сделал программу на C, используя компилятор gcc. Сейчас у него нет компонентов графического интерфейса. Я собираю его с makefile и запускаю его в терминале. Мне нужно развернуть его так, чтобы исполняемый файл был автономным. Я хочу, чтобы у исполняемого файла была иконка, и при нажатии запускается программа в терминале. Может кто-нибудь сказать мне, как это сделать?

Ответы [ 2 ]

9 голосов
/ 22 апреля 2010

Основы

(отказ от ответственности: следующее было протестировано с kubuntu, возможно, вам придется внести некоторые изменения в вашу систему)

На самом деле для этого существует стандарт, не только для Ubuntu, но и для любого количества * nix систем. Проконсультируйтесь: http://www.freedesktop.org/wiki/Howto_desktop_files:

Предположим, у вас есть файл foo.bin, который вы хотите развернуть. Согласно Стандарту Иерархии Файловых Систем , хорошее место для его размещения (если вы не используете менеджер пакетов) - /usr/local/bin/. Вам также понадобится значок, я буду считать, что ваш художественный талант создан foo.png, и хорошим местом для него может быть /usr/local/share/icons/.

Теперь вам нужно создать foo.desktop, который может выглядеть следующим образом:

[Desktop Entry]
Comment=My awesome fooish application 
Exec=/usr/local/bin/foo.bin
Icon=/usr/local/share/icons/foo.png
Name=Foobar
NoDisplay=false
StartupNotify=false
Terminal=1
TerminalOptions=
Type=Application

и положить его в /usr/share/applications/.

Возможно, вы сможете использовать редактор меню для создания такого файла. Найдите сгенерированный файл рабочего стола в ~/.local/share/applications/.

Это должно сработать.


Другое соглашение заключается в том, чтобы поместить все в /opt/foo/ и создать символические ссылки на /usr/local/.

Крест DE с Портлендом

Проект Portland предоставляет утилиты командной строки xdg-*, которые упрощают установку значка / элемента меню / файла ресурсов приложения независимо от DE (GNOME, KDE и т. Д.).

См. Учебник по кросс-десктопу для KDE и GNOME на linuxuser.co.uk.

лучший способ

Для развертывания вам следует подумать о создании пакета *.deb. (с вашим исполняемым файлом, *.desktop файлом и значком). Есть несколько учебников на эту тему, например, http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/How-to-make-deb-packages/.

Обратите внимание, что если вы используете менеджер пакетов, условием для расположения файла будет /usr/ вместо /usr/local/.

Пройдите весь путь

Следующим шагом, если вы склонны сделать это, является настройка собственного хранилища или PPA .

5 голосов
/ 22 апреля 2010

ссылка Чена получает значок на рабочем столе и пункт меню; специально для Ubuntu (и, по сути, для любой системы, производной от Debian, по большей части), есть много хорошей документации. Он доступен по этой ссылке: https://wiki.ubuntu.com/Packaging?highlight=%28CategoryPackaging%24%29

Начните читать с "PackagingGuide". :)

Чтобы запустить приложение в терминале под X - в Ubuntu - просто запустите

x-terminal-emulator -e /path/to/your/command

Команда x-terminal-emulator управляется «альтернативами обновления» и будет символической ссылкой на любой предпочитаемый эмулятор xterm в системе. Для системы Kubuntu это обычно будет kterm, для обычной системы Ubuntu это, вероятно, будет gnome-терминал и т. Д. Но вы можете рассчитывать на доступность эмулятора x-терминала, если X установлен. И опция -e работает для всех из них, потому что это команда xterm, которую они все реализуют для совместимости.

...