Я полагаю, что это связано с используемыми вами флагами/параметрами.-aiv
попробуйте вместо этого -avz
.
Параметр «i» предназначен для более точного управления информацией, которую вы видите, обычно вы устанавливаете уровень информации, обозначенный числом. Скорее всего, вы не вносите никаких изменений или вносили бы их, если бы это был настоящий запуск, поэтому он просто перечисляет его, перебирая все файлы.
Вместо этого запустите флаги avz в сухом режиме, и это должно подтвердить:)
Да, вы можете запустить исполняемый файл из файлового менеджера, такого как 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.