А теперь перейдем к запуску программ.
Исполняемые файлы в Linux
В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.
Установка Wine в Linux Mint и запуск Windows-приложения
Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.
Базовые команды для работы с терминалом
То, что поможет при работе с консолью в целом.
- clear — очищает всю выведенную в консоль информацию. Пригодится на тот случай, если терминал будет забит выводом других команд или содержимом ранее открытых документов. Помогает «начать с чистого листа».
- history — отображает ранее введенные команды. По умолчанию показывает 10 последних, но при желании это значение можно изменить, добавив в качестве параметра любое число. Например, history 17, чтобы показать 17 последних выполненных операций.
- whatis — вкратце описывает любую установленную программу. Вводим whatis и скармливаем ей в качестве аргумента название интересующей утилиты. Чтобы узнать, что такое wget, напишем whatis wget и получим краткую справку одной строкой.
- man — демонстрирует подробное руководство по выбранной программе или команде. Чтобы выяснить, как работает wget и какие опции для него доступны, введем man wget. Получим массивное полотно со всей документацией для выбранной утилиты. P.S. Выйти из нее можно нажав на клавишу Q.
См. также: Что означают иконки на смартфоне Андроид?
Как запускать Windows игры в LINUX без STEAM GOG итд.
Что представляет собой файл ELF?
ELF — это сокращение от Executable and Linkable Format (формат исполняемых и связываемых файлов) и определяет структуру бинарных файлов, библиотек, и файлов ядра (core files). Спецификация формата позволяет операционной системе корректно интерпретировать содержащиеся в файле машинные команды. Файл ELF, как правило, является выходным файлом компилятора или линкера и имеет двоичный формат. С помощью подходящих инструментов он может быть проанализирован и изучен.
Зачем изучать ELF в подробностях?
Перед тем, как погрузиться в технические детали, будет не лишним объяснить, почему понимание формата ELF полезно. Во-первых, это позволяет изучить внутреннюю работу операционной системы. Когда что-то пошло не так, эти знания помогут лучше понять, что именно случилось, и по какой причине.
Также возможность изучения ELF-файлов может быть ценна для поиска дыр в безопасности и обнаружения подозрительных файлов. И наконец, для лучшего понимания процесса разработки. Даже если вы программируете на высокоуровневом языке типа Go, вы всё равно будет лучше знать, что происходит за сценой.
Итак, зачем изучать ELF?
- Для общего понимания работы операционной системы
- Для разработки ПО
- Цифровая криминалистика и реагирование на инциденты (DFIR)
- Исследование вредоносных программ (анализ бинарных файлов)
От исходника к процессу
Какую бы операционную систему мы не использовали, необходимо каким-то образом транслировать функции исходного кода на язык CPU — машинный код. Функции могут быть самыми базовыми, например, открыть файл на диске или вывести что-то на экран. Вместо того, чтобы напрямую использовать язык CPU, мы используем язык программирования, имеющий стандартные функции.
Компилятор затем транслирует эти функции в объектный код. Этот объектный код затем линкуется в полную программу, путём использования линкера. Результатом является двоичный файл, который может быть выполнен на конкретной платформе и конкретном типе CPU.
Прежде, чем начать
Этот пост содержит множество команд. Лучше запускать их на тестовой машине. Скопируйте существующие двоичные файлы, перед тем, как запускать на них эти команды. Также мы напишем маленькую программу на С, которую вы можете скомпилировать. В конечном итоге, практика — лучший способ чему-либо научиться.
Как запустить exe на Linux и возможно ли это сделать
Сразу же стоит сказать, что установочные файлы из операционной системы Линукс не поддерживаются на Виндовс и наоборот, а значит, запустить их не получится ни на Ubuntu, ни на Kali, ни на Mint, нигде. Каждая из этих систем является непосредственным потомком Линукс, а она создана на основе Unix, которая априори не может работать с файлами COM и EXE, которые запускаются на Виндовс любой версии.
Окно свойств приложения
Стандартными средствами выполнить запуск этих инсталляционных пакетов и документов не получится, а вот если попробовать установить программу эмулятор Виндовс для Линукс, есть определенный шанс на успех. Таких решений есть несколько, но наиболее распространенным, стабильным и удобным является Wine. Оно работает в качестве простого слоя совместимости с API от Windows.
Важно! Wine позволяет запустить не все программы Windows на Linux, так как он все еще активно развивается и дополняется новыми функциями. Несмотря на это, базовые программы с Винды на нем идут без каких-либо нареканий. Установить Вайн можно через классический репозиторий ПО.
См. также: Как проверить целостность системных файлов Windows
Установка программного обеспечения через командную строку из стандартного репозитория
Запускаем программу через терминал
Чтобы запустить программу из терминала, достаточно ввести название команды на английском языке в нижнем регистре (прописными буквами) и нажать Enter. Для примера введите в терминал команду:
Должно открыться окно с часами:
Но если вы закроете терминал, то закроется и окно с программой. Чтобы этого не произошло, нужно после названия программы ввести разделительный символ « Дополнительные настройки — gnome tweak tool; Ubuntu Tweak — ubuntu tweak и т.п., необходимо чтобы в названии команды не было пробелов между словами. В данном случае необходимо вводить дефис (маленькую чёрточку) между словами, т.е. команды должны быть монолитными на открытие приложений в терминале.
Скопируйте и выполните следующие команды на открытие данных приложений:
Но данные приложения закроются с закрытием терминала. А приложения введённые с дополнительными параметрами будут продолжать работать, хотя терминал с открытием приложения, закроется:
software-center exitubuntu-tweak »:
software-center ubuntu-tweak https://skini-minecraft.ru/it/kak-zapustit-exe-na-linux-seo-smo» target=»_blank»]skini-minecraft.ru[/mask_link]
Как запускать exe на linux
Отыщите кнопку поиска, чтобы открыть строку для ввода названия программы.
Напишите Wine и опуститесь вниз по списку, чтобы найти подходящий вариант.
Для начала этой процедуры придется подтвердить подлинность учетной записи, введя пароль.
Ожидайте завершения инсталляции. Данная операция займет несколько минут, поскольку Wine является объемным приложением.
После нажмите на кнопку «Запустить», чтобы выполнить предварительную конфигурацию.
Сейчас давайте приступим к рассмотрению альтернативного варианта инсталляции, если этот вам не подходит, а о предварительной настройке установленного инструмента поговорим в отдельном шаге данного материала.
Способ 2: Официальные репозитории
Как известно, программы в «Менеджере приложений» находятся в официальных репозиториях, а принцип их установки основан на терминальных командах. Именно их и следует задействовать в тех случаях, когда нет возможности открыть решение с GUI или оно попросту отсутствует в используемом дистрибутиве. Не переживайте, управление консолью не является чем-то сложным, в чем и удостоверимся далее.
-
Запустите «Терминал» удобным для вас образом, например, через меню приложений или горячую клавишу Ctrl + Alt + T.
В появившейся строке введите sudo apt install wine-stable . Если вы используете дистрибутив, основанный, например, на RedHat, следует заменить пакетный менеджер APT на установленный в текущей сборке. Это может быть, например, YUM или Pacman.
Подтвердите действие, написав пароль суперпользователя. Учитывайте, что символы, вводимые таким образом, никогда не отображаются в консоли, однако существуют и исключения. В некоторых дистрибутивах при указании символов в строке появляются звездочки.
Вы будете уведомлены об увеличении количества занятого пространства. Подтвердите это сообщение, выбрав вариант Д.
Ожидайте окончания инсталляции. Во время этого не закрывайте «Терминал», иначе весь процесс будет сброшен.
На этом инсталляция завершена. Имеются еще и другие альтернативные методы добавления 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-элемент и начать взаимодействие с ним.
как запускать .exe файлы в LINUX. как запускать .exe файлы в LINUX.
Учим Linux запускать exe файлы.
Как известно в Linux по умолчанию используется ELF (Executable and Linkable Format) формат исполняемых файлов.
Однако, не составляет труда обучить ядро Linux запускать любые другие исполняемые файлы (.exe файлы для Windows, скрипты на shell, python, байткод java и т. д. ) без явного указание эмулятора Т. е. в командной строке можно просто написать ./notepad.exe или ./my_script.py.
Для этого нужно обеспечить ядро необходимой информацией о формате исполняемого файла, и о том, каким образом и с помощью чего его можно интерпретировать.
Что для этого нужно?
1. Для этого нужно включить в ядре поддержку остальных исполняемых форматов:
В секции Executable file formats / Emulation—>
Опция Kernel support for MISC binaries
Можно или встроить эту возможность в ядро, или оформить ее в качестве отдельного модуля. Модуль будет называться binfmt_misc.
2. Подмонтировать файловую систему binfmt_misc в каталог /proc:
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
3. Перейти в каталог /proc/sys/fs/binfmt_misc. У вас тут должно лежать два файла: register и status
4. Описать формат и интерпретатор для этого формата:
Для того что зарегистрировать новый формат исполняемого файла и интерпретатор для него нужно добавить в файл register строку в формате:
:name:type:offset:magic:mask:interpreter:flags
Вот что значат приведенные поля:
‘name’ — строковый идентификатор. В каталоге /proc/sys/fs/binfmt_misc будет создан новый файл с именем name
‘type’ — способ распознавания. Может быть ‘M’ для волшебства и ‘E’ для расширения.
‘offset’ — смещение маски в файле, считается в байтах. Этот параметр по умолчанию равен 0, если вы его не указываете (например: ‘:name:type::magic. ‘)
‘magic’ — последовательность байт для соответствия которой и определяется binfmt_misc. Строка поля magic может содержать шестнадцатириные символы, такие как x0a или xA4.
‘mask’ маска (опциональна, по умолчанию имеет значение 0xff) . Добавляя строку как в поле magic и такой же длины, вы можете маскировать соответствие некоторых битов файла.
‘interpreter’ — программа, которая должна быть выполнена вместе с исполняемым фалйлом, как первый аргумент (Необходимо указывать полный путь)
‘flags’ — опциональное поле, которое контролирует нектороые аспекты вызова интерпретатора
Например для запуска windows приложений с помощью wine в качестве интерпретатора в register нужно добавить такую строку:
echo ‘:DOSWin:M::MZ::/usr/bin/wine:’ > register
Теперь в каталоге /proc/sys/fs/binfmt_misc у нас появился файл DOSWin следующего содержания:
$bash: cat DOSWin
enabled
interpreter /usr/bin/wine
flags:
offset 0
magic 4d5a
После всего этого в командной строке можно написать ./notepad.exe и у вас запустится notepad с помощью wine’a.
5. Для того, чтобы binfmt_misc не пришлось монтировать каждый раз вручную, в /etc/fstab можно добавить вот такую строчку:
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
6. Для того, чтобы отключить интерпретацию формата, нужно записать 0 в появившийся файл:
echo 0 > DOSWin
для того чтобы включить, нужно записать 1 :
7. Для того чтобы удалить формат, нужно записать -1 в имя файла этого формата:
echo -1 > DOSWin
Источник: onecomp.ru
Linux Maniacs
Как известно в Linux по умолчанию используется ELF (Executable and Linkable Format) формат исполняемых файлов.
Однако, не составляет труда обучить ядро Linux запускать любые другие исполняемые файлы (.exe файлы для Windows, скрипты на shell, python, байткод java и т.д.) без явного указание эмулятора Т.е. в командной строке можно просто написать ./notepad.exe или ./my_script.py.
Для этого нужно обеспечить ядро необходимой информацией о формате исполняемого файла, и о том, каким образом и с помощью чего его можно интерпретировать.
Что для этого нужно?
1. Для этого нужно включить в ядре поддержку остальных исполняемых форматов:
В секции Executable file formats / Emulation—>
Опция Kernel support for MISC binaries
Можно или встроить эту возможность в ядро, или оформить ее в качестве отдельного модуля. Модуль будет называться binfmt_misc.
2. Подмонтировать файловую систему binfmt_misc в каталог /proc:
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
3. Перейти в каталог /proc/sys/fs/binfmt_misc. У вас тут должно лежать два файла: register и status
4. Описать формат и интерпретатор для этого формата:
- ‘name’ — строковый идентификатор. В каталоге /proc/sys/fs/binfmt_misc будет создан новый файл с именем name
- ‘type’ — способ распознавания. Может быть ‘M’ для волшебства и ‘E’ для расширения.
- ‘offset’ — смещение маски в файле,считается в байтах. Этот параметр по умолчанию равен 0, если вы его не указываете (например: ‘:name:type::magic. ‘)
- ‘magic’ — последовательность байт для соответствия которой и определяется binfmt_misc. Строка поля magic может содержать шестнадцатириные символы, такие как x0a или xA4.
- ‘mask’ маска (опциональна, по умолчанию имеет значение 0xff) . Добавляя строку как в поле magic и такой же длины, вы можете маскировать соответствие некоторых битов файла.
- ‘interpreter’ — программа, которая должна быть выполнена вместе с исполняемым фалйлом, как первый аргумент (Необходимо указывать полный путь)
- ‘flags’ — опциональное поле, которое контролирует нектороые аспекты вызова интерпретатора
echo ‘:DOSWin:M::MZ::/usr/bin/wine:’ > register
Теперь в каталоге /proc/sys/fs/binfmt_misc у нас появился файл DOSWin следующего содержания:
$bash: cat DOSWin
enabled
interpreter /usr/bin/wine
flags:
offset 0
magic 4d5a
После всего этого в командной строке можно написать ./notepad.exe и у вас запустится notepad с помощью wine’a.
5. Для того, чтобы binfmt_misc не пришлось монтировать каждый раз вручную, в /etc/fstab можно добавить вот такую строчку:
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
6. Для того, чтобы отключить интерпретацию формата, нужно записать 0 в появившийся файл:
echo 0 > DOSWin
для того чтобы включить, нужно записать 1 :
echo 1 > DOSWin
7. Для того чтобы удалить формат, нужно записать -1 в имя файла этого формата:
echo -1 > DOSWin
Источник: lindev.blogspot.com