@neon3
электромеханик по автоматизации

Как запустить скомпилированную программу в Linux ( Ubuntu ) без терминала?

Пытаюсь начать программировать в Linux, и сразу вопрос проблема. В Windows написал код, скомпилировал, получил на выходе ЕХЕшник. Двойной щелчок по программе, она запустилась. В Linux написал простую программу на С в блокноте ( для начала ), скомпилировал gcc prog.c -o prog, получил на выходе файл. Но Я ее могу запустить только через терминал командой ./prog .А как запускать программы по двойному щелчку мыши? А если вы еще дадите простой код с кнопкой и обработкой события по нажатию этой кнопки или любую другую полезную информацию по этой теме ( кроссплатформенность например ), Я вам искренне буду благодарен. Хочется дальше развиваться.
  • Вопрос задан
  • 3013 просмотров
Решения вопроса 1
leahch
@leahch Куратор тега Linux
3Д специалист. Долго, Дорого, Дерьмово.
В линуксе, как и в виндовс, как и во всех остальных операционных системах (мне знакомых), есть два типа программ: консольные и с графическим интерфейсом.
Консольные программы требуют наличия какого-то терминала или консоли, соответсвенно их хоть и можно запустить по двойному щелчку, не всегда результат их работы будет виден, если дополнительно не указать в каком окружении их запускать.

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

Так, Вы сделали и скомпилировали консольную программу. В этом же терминале можно ее и запустить.
Либо сделать "лаунчер" типа
xterm ./prog
Как сделать "лаунчер", зависит от вашего графического окружения, но обычно можно просто сделать desktop-файл, его практически все в линуксе понимают.
Просто создайте текстовый файл prog.Desktop со следующим содержимым (Exec - полный путь до вашей программы, Icon - путь до иконки, но можно без нее)
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=true
Exec=/path/to/executable
Name=Name of Application
Icon=/path/to/icon


Вот руководство - https://www.maketecheasier.com/create-desktop-file...

ЗЫ. Да, забыл напомнить, сделайте в вашей программе выход по ожиданию нажатия на клавишу, иначе можно ничего и не рассмотреть!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Ninazu
@Ninazu
Иногда бывает что ELF файлы не подхватывает. Для них нужно создать ярлык, файл с расширением .desktop c подобным содержимым
[Desktop Entry]
Name=MyApp
Exec=/home/ninazu/Desktop/myapp
Icon=
Terminal=false
Type=Application
Ответ написан
Комментировать
@vanyamba-electronics
Ваша программа скорее всего запускается, но в скрытом терминале. Поэтому кажется, что ничего не происходит по двойному клику. Но если она повисает, ожидая ввода от пользователя, то процесс можно увидеть командой
ps aux | grep prog
Что касается оконных приложений, то для GNOME есть Anjuta, а для кроссплатформенности - Qt. Вот ссылка на туториалы и примеры:
Qt Examples And Tutorials
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы