Как запустить скомпилированную программу в Linux ( Ubuntu ) без терминала?
В линуксе, как и в виндовс, как и во всех остальных операционных системах (мне знакомых), есть два типа программ: консольные и с графическим интерфейсом.
Консольные программы требуют наличия какого-то терминала или консоли, соответсвенно их хоть и можно запустить по двойному щелчку, не всегда результат их работы будет виден, если дополнительно не указать в каком окружении их запускать.
Про программы с графическим интерфейсом все просто - они сразу пытаются открыть графическое окно. Но сама программа будет немного сложнее.
Так, Вы сделали и скомпилировали консольную программу. В этом же терминале можно ее и запустить. 
Либо сделать "лаунчер" типа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...
ЗЫ. Да, забыл напомнить, сделайте в вашей программе выход по ожиданию нажатия на клавишу, иначе можно ничего и не рассмотреть!
Иногда бывает что ELF файлы не подхватывает. Для них нужно создать ярлык, файл с расширением .desktop c подобным содержимым[Desktop Entry]
Name=MyApp
Exec=/home/ninazu/Desktop/myapp
Icon=
Terminal=false
Type=Application