Запустите исполняемый файл из Caja

Я полагаю, что это связано с используемыми вами флагами/параметрами.-aivпопробуйте вместо этого -avz.

Параметр «i» предназначен для более точного управления информацией, которую вы видите, обычно вы устанавливаете уровень информации, обозначенный числом. Скорее всего, вы не вносите никаких изменений или вносили бы их, если бы это был настоящий запуск, поэтому он просто перечисляет его, перебирая все файлы.

Вместо этого запустите флаги avz в сухом режиме, и это должно подтвердить:)

0
18.04.2020, 15:03
1 ответ

Да, вы можете запустить исполняемый файл из файлового менеджера, такого как Caja.

Допустим, у вас есть файл hello.cв домашнем каталоге /home/User, содержащий простую программу «hello, world» без графического интерфейса, например:

#include <stdio.h>

int main()
{
    printf("hello, world\n");
}

и программа компилируется запуском gcc -o hello hello.cдля создания исполняемого файла hello.

Чтобы запустить helloиз Caja напрямую, вы можете предоставить программу запуска, которая запустит терминал и запустить в нем исполняемый файл, или вы можете предоставить исполняемый файл с простым графическим интерфейсом.

Если вы планируете использовать программу запуска, то прежде чем делать что-либо еще (, если вы еще не сделали этого ранее ), было бы лучше открыть терминал, перейти в «Настройки», добавить новый профиль с именем, например. «HoldOpen» и установите для параметра «При выходе команды» на вкладке «Команда» этого профиля значение «Удерживать терминал открытым». В противном случае терминал откроется, запустит программу и закроется до того, как вы увидите какие-либо результаты при запуске из лаунчера.

Затем создайте программу запуска для программы hello. Лаунчер — это просто текстовый файл с расширением .desktop; концептуально это что-то вроде ярлыка Windows. Расширение .desktopне отображается, когда файл появляется в Caja, но оно видно в списке каталогов в терминале. Простой лаунчер, который следует сохранить как hello.desktop, — это :

.
[Desktop Entry]
Version=1.0
Type=Application
Name=hello
Comment=
Exec=mate-terminal --profile=HoldOpen -e "/home/User/hello"
Icon=
Path=
Terminal=false
StartupNotify=false

Программа запуска может быть написана вручную или (, так как приведенная выше была )сгенерирована правой кнопкой мыши -на рабочем столе, выбором «Создать программу запуска...» и заполнением как минимум « Поля «Имя» и «Команда» (, последнее соответствует клавише «Выполнение» ).

Двойной -щелчок по файлу запуска в Caja должен запустить helloв собственном терминале и отобразить в нем вывод.

Обратите внимание, что для ключа «Терминал» установлено значение «false», поскольку на самом деле выполняется терминал mate -, а helloзапускается в терминале mate -.

Также обратите внимание, что если вы используете терминал gnome -, а не терминал mate -, вам может потребоваться добавить пару новых строк перед «hello, world», чтобы увидеть вывод в терминале.

Для получения дополнительной информации о средствах запуска см. Freedesktop.org Спецификация входа на рабочий стол .

Альтернативой, которая позволяет запускать программу в Caja напрямую двойным -щелчком без необходимости запуска, является использование приложения Zenity для создания диалоговых окон с графическим интерфейсом по мере необходимости, тем самым предоставляя программе простой графический интерфейс. Вы сможете установить Zenity, запустив sudo apt-get install zenity. Затем вы можете заменить stdio оператор printf в программе hello.c на stdlib и системный вызов для отображения диалогового окна:

#include <stdlib.h>

int main()
{
system("zenity --info --title='Hello' --text='hello, world'");
}

См. man zenityдля получения дополнительной информации о приложении Zenity.

1
19.03.2021, 02:29

Теги

Похожие вопросы