Запуск исполняемого файла linux запрещен

Почему мой исполняемый файл не запускается, когда я нажимаю на него?

Почему кажется, что я не могу открыть исполняемый файл, созданный на C++, дважды щелкнув по нему.

У меня есть файл, который я запустил из IDE, и я хотел бы знать, есть ли способ установить этот файл для открытия терминала при щелчке по нему, как это делает файл .exe в Windows.

Код C++, который я мог бы добавить в свой исходный код, который позволит это.

Настройте Мой ПК, чтобы открыть его.

Я стараюсь избегать наборов инструментов, насколько это возможно. Недавно я скомпилировал приложение для Windows (спасибо моему двоюродному брату, у него есть компьютер с Windows)

И было бы замечательно, если бы можно было сделать то же самое, что можно сделать в Windows на Linux, потому что у нас есть 2 Release Folders.

И я хотел бы, чтобы это простое приложение на основе терминала могло работать без необходимости быть экспертом.

Я добавил эту строку:

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

5 ответов 5

Я ожидаю, что вам нужно установить «исполняемый» бит в файле, который выводится компилятором Linux C++, я не думаю, что это делается по умолчанию из соображений безопасности.

Просто «cd» в каталог, в котором находится ваш сгенерированный исполняемый файл.

Заменив «myexecutable» на имя вашего вывода компилятора.

Затем попробуйте запустить его с ./myexecutable

Я считаю, что это также должно сделать программу «работоспособной» с помощью щелчка мыши и консоли.

Точно так же, если вам нужно запустить «скрипт» из команд, вы можете попробовать следующее в файле скрипта, сохранить его как «myexe.sh» или что-то подобное:

Затем снова используйте

чтобы сделать так, чтобы вы могли запустить скрипт, нажав на него.

Я думаю, что корень вашей проблемы в том, что вы на самом деле не понимаете различия между эмулятором терминала и оболочкой и тем, как Linux выясняет, как запускать процессы.

Во-первых, это «Terminal Emulator», в среде на основе Gnome это обычно Gnome Terminal.

Затем есть «Shell», в Linux это обычно bash, хотя возможны и другие оболочки.

«Shell» работает внутри «Terminal Emulator». Это различие связано с возрастом физических терминалов, где физический терминал — это аппаратное обеспечение, которое принимает данные, пишет текст в цветах и т.д., А Shell — это программное обеспечение, которое обрабатывает пользовательские команды и управляет другими процессами на основе заданных команд.

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

«Оболочка» не всегда работает внутри эмулятора терминала; Существуют также графические оболочки, такие как Nautilus (подсказка, Nautilus — название морского существа с большой раковиной) или Windows Explorer (не путать с Internet Explorer).

Читайте также:  Где посмотреть windows installer

Как в оболочке командной строки, например, bash, так и в графической оболочке, например, Nautilus, исполняемый файл помечается установленным битом execute .

В командной строке вы можете использовать ls -l для просмотра битов прав доступа к файлу, например, rwxrwxrwx означает, что каждый может читать / писать / выполнять программу; rwxr-xr— означает, что владелец имеет полное разрешение, люди в группе файла могут читать и выполнять, но не могут писать, а другие могут только читать файл. В Nautilus вы можете щелкнуть правой кнопкой мыши файл> Свойства> вкладка Разрешения. На странице свойств Разрешения вы можете получить разрешение для файла, подобное тому, которое есть в командной строке.

Файл с установленным битом выполнения рассматривается как исполняемый файл и может быть выполнен с помощью ./filename (оболочка командной строки) или двойного щелчка (графическая оболочка).

Наконец, есть несколько других тонкостей того, как оболочка выполняет файл. В большинстве оболочек Linux вы можете «выполнить» скрипт, написанный на python/perl/php/bash, который не является скомпилированным исполняемым файлом. Поскольку эти файлы не являются скомпилированными в исходном коде исполняемыми файлами, для их выполнения требуется интерпретатор (например, интерпретатор python). В отличие от оболочки Windows (Explorer), которая определяет интерпретатор для вызова через расширение файла; Оболочки Linux определяют правильного интерпретатора, глядя на строку «hashbang», которая выглядит следующим образом

когда бит выполнения файла установлен, и у файла есть эта строка hashbang, оболочка вызовет интерпретатор /usr /bin /python с текущим файлом в качестве аргумента.

Nautilus также может распознать, когда программа является приложением командной строки, и предложит вам запустить приложение в Терминале. Когда вы дважды щелкнете по исполняемому скрипту, Nautilus спросит, хотите ли вы запустить его в терминале, запустить без терминала или отредактировать файл в текстовом редакторе.

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

запуск исполняемого файла из терминала (не получается)

Модератор: Bizdelnick

запуск исполняемого файла из терминала

Re: запуск исполняемого файла из терминала

Сообщение Hephaestus » 18.10.2018 23:56

В данном конкретном случае происходит то, что запускаемый файл не имеет прав на исполнение.
Убедиться в этом можно, если посмотреть вывод команды ls -l
Косвенно об отсутствии прав на запуск свидетельствует также цветовая разметка в терминале: имя файла белого цвета (исполняемый файл, скорее всего, будет зеленого цвета).

По причине отсутствия прав запуск в виде ./eclips-inst оканчивается неудачей.
Также запрет на запуск может быть на уровне монтирования файловой системы.

Как решить: Либо дать права на запуск командой chmod +x eclips-inst
Либо запускать как sh ./eclips-inst

Но вообще это не очень хорошая (или даже очень нехорошая) практика для пакетного дистрибутива — запускать такие инсталляторы. Проблема в том, что неизвестно, куда и какие файлы он раскидает и что ещё поменяет в системе. Также в случае некачественно выполненного инсталлятора будут проблемы с дальнейшим удалением: инсталлятор не сможет удалить то, что сам же установил.
Вывод: Для пакетного дистрибутива, каким является Ubuntu, использовать пакеты из репозитария.

Источник

Запуск исполняемых файлов

Запуск всех исполняемых файлов в указанном в каталоге
Запуск всех исполняемых файлов в указанном в каталоге. Каталог вводится в качестве параметра.

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

Компилирование и запуск исполняемых файлов
Компилирую обычный .с файл: gcc chw.c. Содержимое файла chw.c: #include int main(void).

Читайте также:  Tor hidden service linux

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

Решение

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

по умолчанию у него в старых версиях убунты (кажись до 12.04) при двойном клике на исполняемый файл nautilus задавал вопрос, что вы хотите с ним сделать — открыть или запустить. позже дефолтная настройка была изменена и фапйл стал открываться в редакторе.

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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вирус заблокировал запуск исполняемых файлов
Вообщем докачался. Скачал вчера программу, а в ней оказлся вирус. Вирус заблокировал запуск любых.

Не всегда работает запуск исполняемых файлов в IE
Доброго всем времени суток! Создал html страницу. На ней есть кнопка, при нажатии которой.

Запуск и удаление исполняемых файлов из каталога
Здравствуйте. Помогите пожалуйста разобраться в некоторых местах кода. Полное задание: unit.cpp.

Запуск и последующее удаление всех исполняемых файлов из каталога
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe.

Источник

Запуск EXE-файлов в Linux

Шаг 1: Установка Wine

Запуск EXE-файлов в Linux — задача несложная, однако небольшие трудности заключаются в поиске инструментов, позволяющих справиться с этим. Популярной программой является Wine, и ее аналогов почти нет, а существующие неизвестны практически никому. Поэтому в сегодняшней статье мы поговорим именно об этом решении. Начать стоит с его добавления в дистрибутив, поскольку по умолчанию Wine отсутствует в любой сборке ОС, основанной на Linux.

Способ 1: Менеджер приложений

Существует несколько доступных вариантов инсталляции Wine. Первый подразумевает использование менеджера приложений, который встроен в популярные дистрибутивы, основанные на Debian или RedHat. В первую очередь рассмотрим именно этот вариант, а осуществляется поставленная цель так:

  1. Откройте основное меню, кликнув по соответствующей кнопке, и запустите оттуда «Менеджер приложений».

Отыщите кнопку поиска, чтобы открыть строку для ввода названия программы.

Напишите Wine и опуститесь вниз по списку, чтобы найти подходящий вариант.

Для начала этой процедуры придется подтвердить подлинность учетной записи, введя пароль.

Ожидайте завершения инсталляции. Данная операция займет несколько минут, поскольку Wine является объемным приложением.

После нажмите на кнопку «Запустить», чтобы выполнить предварительную конфигурацию.

Сейчас давайте приступим к рассмотрению альтернативного варианта инсталляции, если этот вам не подходит, а о предварительной настройке установленного инструмента поговорим в отдельном шаге данного материала.

Способ 2: Официальные репозитории

Как известно, программы в «Менеджере приложений» находятся в официальных репозиториях, а принцип их установки основан на терминальных командах. Именно их и следует задействовать в тех случаях, когда нет возможности открыть решение с GUI или оно попросту отсутствует в используемом дистрибутиве. Не переживайте, управление консолью не является чем-то сложным, в чем и удостоверимся далее.

    Запустите «Терминал» удобным для вас образом, например, через меню приложений или горячую клавишу Ctrl + Alt + T.

В появившейся строке введите sudo apt install wine-stable . Если вы используете дистрибутив, основанный, например, на RedHat, следует заменить пакетный менеджер APT на установленный в текущей сборке. Это может быть, например, YUM или Pacman.

Подтвердите действие, написав пароль суперпользователя. Учитывайте, что символы, вводимые таким образом, никогда не отображаются в консоли, однако существуют и исключения. В некоторых дистрибутивах при указании символов в строке появляются звездочки.

Читайте также:  Атолл bp21 драйвер windows 10

Вы будете уведомлены об увеличении количества занятого пространства. Подтвердите это сообщение, выбрав вариант Д.

Ожидайте окончания инсталляции. Во время этого не закрывайте «Терминал», иначе весь процесс будет сброшен.

На этом инсталляция завершена. Имеются еще и другие альтернативные методы добавления Wine в операционную систему, но их детальный разбор сейчас не имеет смысла, поэтому перемещаемся к следующему этапу.

Шаг 2: Первый запуск и настройка Wine

К счастью, большинство параметров рассматриваемой программы уже настроены автоматически, а недостающие компоненты так же самостоятельно загружаются. Однако юзеру все-таки придется выполнить несколько действий перед переходом к запуску EXE-файлов.

    Запустите софт, например, через «Менеджер приложений» или введя его название в консоли.

Дождитесь завершения обновления конфигурации. Во время этого на экране будут появляться сообщения о надобности инсталляции дополнительных компонентов, включая .NET Framework и Gecko.

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

На этом процедура конфигурации успешно завершена, а значит, можно переходить к непосредственному запуску имеющихся EXE-файлов.

Шаг 3: Запуск EXE-файлов через Wine

Перед началом выполнения поставленной задачи хотим отметить, что не стоит рассматривать Wine как полноценное средство работы с программами для Windows. Конечно, он является эмулятором, но потребление системных ресурсов при запуске софта поднимается в несколько раз, а также могут отсутствовать какие-либо опции, изначально работающие в Windows. Далее мы расскажем о более подходящих решениях для использования ПО в Linux, а сейчас давайте все-таки разберемся с выполнением EXE-объектов.

    Откройте файловый менеджер и переместитесь к расположению необходимого файла.

Щелкните по нему правой кнопкой мыши и в контекстном меню выберите пункт «Открыть в другом приложении».

Появится отдельное окно «Выбрать приложение». Здесь вас интересует пункт «Wine — загрузчик Windows программ».

Если это уже полноценный софт, он откроется в новом окне и им можно управлять. В случае взаимодействия с инсталлятором начните стандартную операцию установки.

Дождитесь окончания этой операции. Она может занять много времени, поскольку процессор в большинстве ситуаций нагружается на максимум.

После этого вы можете запустить программу через значок на рабочем столе, графический интерфейс Wine или меню приложений.

Как уже было сказано ранее, запуск EXE-файлов — не лучший способ взаимодействовать с программами в Linux. Сейчас многие разработчики создают версии, корректно функционирующие в разных дистрибутивах, однако часто их нет в официальных репозиториях, то есть скачать из менеджеров приложений такой софт не получится. Приходится скачивать отдельные DEB или RPM-пакеты либо же вообще вручную распаковывать архивы. Не потрудитесь отыскать сборку требуемого софта для вашего дистрибутива, а затем установите ее, используя инструкции из приведенной далее статьи.

Это было все, что мы хотели рассказать о запуске ПО для Windows в Linux. Как видно, лучшее решение всего одно, поэтому его и задействуют абсолютно все пользователи, желающие реализовать данную цель. Остается только следовать инструкциям, чтобы без каких-либо проблем открыть EXE-элемент и начать взаимодействие с ним.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Оцените статью