я сделал программу в C использованием gcc компилятора. Прямо сейчас это не имеет никаких компонентов графического интерфейса пользователя. Я компилирую его с make-файлом и выполняю его в терминале. Я должен развернуть его так, чтобы исполняемый файл был автономен. Я хочу, чтобы исполняемый файл имел значок и при нажатии запускают программу в терминале. Кто-либо может сказать мне, как сделать это?
(отказ от ответственности: следующее было протестировано с помощью 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 /
.
Проект 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 .
Ссылка Чена получает значок на рабочем столе и пункт меню; специально для 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
управляется "update-alternatives" и будет символическая ссылка на любой предпочтительный эмулятор xterm в системе. Для системы Kubuntu это обычно будет kterm, для обычной системы Ubuntu, скорее всего, это будет gnome-terminal и т. Д. Но вы можете рассчитывать на доступность x-terminal-emulator, если установлен X. И опция -e
работает для всех из них, потому что это команда xterm, которую они все реализуют для совместимости.