Как запустить приложение exe в ubuntu
Несмотря на унификацию интерфейсов современных операционных систем, переход с Windows на Linux может оказаться достаточно болезненным. Многих смущает то обстоятельство, что они более не смогут пользоваться своими любимыми и столь привычными приложениями, ведь далеко не весь популярный софт является кроссплатформенным. На самом деле не всё так уже и безнадежно.
Для Linux-систем существует программное обеспечение, позволяющее запускать исполняемые EXE -файлы так же, как в среде Windows.
Называется оно Wine, что в вольном переводе звучит как «винишко». Когда вы запускаете в Linux исполняемый EXE -файл, Wine подменяет вызовы библиотек Windows на системные вызовы Linux, благодаря чему пользователи могут полноценно работать с Windows-приложениями и играми практически без потери производительности. Иначе говоря, Wine эмулирует среду Windows, создавая нечто вроде промежуточного слоя между Linux и Windows и обеспечивая тем самым доступ win-приложениям к файловой системе Linux.
Установка Wine
Рассмотрим установку и работу с Wine на примере с Ubuntu .
Чтобы установить Wine, откройте терминал и выполните команду sudo apt install wine-stable с подтверждением загрузки пакетов.
Процедура скачивания и установки может занять несколько минут, так что наберитесь терпения.
Для установки мы использовали последнюю стабильную версию 3.0.
Установка Windows-программ в Linux
Установим с помощью Wine в Linux какую-нибудь виндовую программу, например, текстовый редактор Notepad++.
Переходим в папку с исполняемым exe -файлом, открываем текущее расположение в терминале через контекстное меню.
И выполняем простую команду wine AtomSetup.exe .
Возможно, при первом запуске Wine предложит установить дополнительные компоненты вроде Net Framework , обязательно устанавливаем.
При инсталляции самой программы желательно разрешить создание ярлыка на рабочем столе, это упростит последующие запуски приложения.
Если у вас возникнут затруднения с запуском win-приложений, воспользуйтесь программой q4wine, представляющей собой удобную графическую оболочку для Wine.
Допустим, вы установили win-программу, но не можете ее найти среди других установленных программ.
Откройте q4wine, нажмите Ctrl + Z и кликните по иконке обзора в поле «Программа».
Откроется окно «Открыть EXE-файл» как раз в расположении папки префикса .wine , содержащей эмулируемую windows-структуру каталогов drive_c/Program Files .
Выбрав исполняемый exe -файл нужной вам программы, нажмите в окне q4wine «OK».
Рано или поздно может понадобиться запустить программы Windows на Linux. Для операционной системы Linux написано огромное количество программ, для решения одной определенной задачи, может быть даже несколько десятков программ. Но такая тенденция наблюдается только для широко распространенных задач, что же касается специализированных программ и игр, то тут ситуация совсем иная.
Программ, для решения узкоспециализированных задач, например, в той же сфере СЕО для Linux попросту нет, а игры начали появляться только последние несколько лет. Были и раньше простенькие игры с открытым исходным кодом, но популярные игры, класса ААА начали появляться только тогда, когда этой платформой заинтересовалась Valve. Но до сих пор ситуация с играми обстоит не так, как хотелось бы. Поэтому и возникает необходимость установки Windows программ в Linux.
Немного теории
Windows программы не могут запускаться просто двойным щелчком по исполняемому файлу. Формат исполняемых файлов Linux очень сильно отличается от Windows. Поэтому для их запуска необходимо использовать специальное программное обеспечение - wine. Название Wine образовано с помощью, почему-то популярного в мире свободного программного обеспечения способа - рекурсивный акроним, и расшифровывается как Wine is not emultor. И это правда, wine не является эмулятором.
Это программная оболочка, которая преобразует системные вызовы Windows программ в вызовы функций операционной системы Linux. Таким образом, wine представляет из себя прослойку между Windows программой и операционной системой Linux вместе с ее ядром и библиотеками.
Чтобы понять как работает Wine, нужно сначала сказать несколько слов о ядре Windows. У Windows, так же как и у Linux есть ядро. Как вы знаете ядро Linux состоит из одного файла и находится в папке boot. Ядро Windows совсем другое, по сути это набор dll библиотек, которые расположены в папке C:\windows\system32. Поэтому нам, чтобы заставить Windows программы работать в Linux достаточно реализовать dll библиотеки, которые нужны программе, так чтобы они вызывали необходимые нам функции из системы linux, что собственно и делает Wine. Но проект развивается очень медленно и разработчики не успевают реализовать все функции из системных библиотек Windows, поэтому работают далеко не все программы, особенно новые.
Популярные программы в Wine запускаются легко, и без дополнительных настроек. Но дело в том, что для решения популярных и востребованных задач в Linux есть достаточно альтернатив, а запускать нам придется специализированные программы и игры, требующие серьезных компонентов, еще не написанных в Wine. Вот тут и всплывает недоработанность этой программы. Но есть выход, его мы и рассмотрим дальше.
Основы использования Wine
Все файлы программ wine, установленные программы, библиотеки, файлы реестра, конфигурационные файлы находятся в домашнем каталоге, а точнее, в
Поскольку для разных программ, понадобится разная архитектура библиотек и нужно будет подменять на оригинальные библиотеки от windows разные файлы была придумана такая возможность, как префиксы.
/.wine это префикс, но мы можем создавать для каждой новой программы свой префикс и она будет работать только с ним. Чтобы задать префикс, с которым нужно работать wine используется переменная окружения WINEPREFIX, например:
Для разных программ может потребоваться различная архитектура системы, wine может запускать и 64 битные программы, но многим для правильной работы нужна архитектура х86.
Чтобы задать архитектуру используйте переменную WINEARCH. Например, для х86:
Также не создавайте папку для нового префикса с помощью mkdir или файлового менеджера, пусть программа сама создаст эту папку при своем первом запуске.
Запуск exe программ в Linux с помощью wine
На странице программы есть версия Wine, с которой она была протестирована, версия тестируемой программы, а также оценка. Оценка может быть Platinum, Gold, Silver или ниже, она зависит от того насколько хорошо программа работает:
Как видите, программа тестировалась с версией wine 5.0 и работала довольно неплохо. К тому же на странице есть ссылка на загрузку программы, так как она бесплатна. Если при запуске программы возникают сложности, то на странице winehq обычно сообщается что надо сделать чтобы программу всё-таки запустить.
Если вам нужно запустить программу, полностью поддерживаемую Wine, например, проводник или notepad, достаточно выполнить:
$ wine /адрес/файла/программы.exe
Например, для программы Notepad++ надо выполнить:
Здесь я использую portable версию, её надо перед этим скачать и распаковать. Как видите, программа полностью работает:
Но как я уже говорил, нам придется запускать мало таких программ, большинство из них будут требовать функциональности, которая ещё не реализован в wine. Тогда нам придется заменить библиотеки Wine, на оригинальные библиотеки Windows.
Конечно, есть оболочки для Wine, которые автоматизируют этот процесс, например, Crossover, PlayOnLinux, Lutris и другие. Но мы рассмотрим ручной вариант.
Для установки компонентов Windows в wine существует специальный инструмент - winetricks. Устанавливать его лучше из сайта программы, так версия будет новее:
Чтобы установить нужный компонент достаточно передать имя этого компонента:
$ winetricks имя_компонента
На её странице сообщается, что программа работает, но для её работы надо установить компонент msxml и urlmon:
winetricks msxml6 urlmon
После установки этих пакетов программа надо добавить ключ в реестр, который описан на странице winehq. После этого установщик запуститься и установит программу.
После установки вы можете её запустить:
Выглядит всё не очень, но зато работает. Инструкции не обязательно искать только на winehq, это могут быть различные форумы, блоги и так далее.
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
fixme:richedit:ITextRange_fnEndOf (0xa04410)->(6 0 (nil)): stub
Осталось понять, что такое richedit, и Microsoft TechNet нам любезно сообщает что это их API и состоит оно из Riched32.dll, это последняя версия, но раньше это была riched20.dll, уже понимаете какие библиотеки нужны?
Их можно установить с помощью winetricks, но это делать необязательно, можно и вручную. Скачайте библиотеки, найти их не составит труда с помощью Google. Только ищите версию для Windows XP.
Копируем библиотеку в наш префикс, в папку system32:
Для 64 битных библиотек используется папка syswow64, а поскольку мы указали архитектуру 32 бит нужно и библиотеки использовать соответствующие. Затем запустите winecfg и на вкладке библиотеки, в поле новое замещение для библиотеки наберите *riched32, затем добавить и *riched20 и опять добавить:
Все, теперь можете пробовать запускать программу. Если программа снова падает с ошибкой, смотрите дальше логи и ищите библиотеки, которых ей не хватает.
Таким образом, вы можете заменить много библиотек Wine. Можно запустить практически любую программу, написанную несколько лет назад и не требующую сверх новых технологий. Достаточно только заменить нужные библиотеки. Вы можете не только использовать winetricks или копировать библиотеки из интернета, но и брать их прямо из Windows. Точно не стоит заменять gdi32.dll, kernel32.dll, и user32.dll - эти библиотеки реализуют функции ядра Windows на самом низком уровне, и если их заменить, это только нарушит работу Wine. Наверное, есть и другие библиотеки, которые нельзя заменять, но это вычисляется только путем экспериментов.
Упрощённая установка exe в Linux
Вариант, который мы рассмотрели выше слишком сложный и не очень то подходит для новичков. Специально для таких ситуаций были придуманы различные программные решения вроде PlayOnLinux или CrossOver. Это оболочки над wine, которые уже знают какие библиотеки надо ставить для той или иной программы. Вы просто выбираете программу, выбираете установщик, а дальше программа сделает всё за вас сама.
Утилита Crossover поддерживает множество программ и работают они довольно неплохо, но единственный минус этой программы в том, что она платная. Программа PlayOnLinux бесплатная, но поддерживает намного меньше программ.
Запуск Windows программ в виртуальной машине
Если ни один из перечисленных выше способов вам не помог, осталось только последнее решение. Оно поможет, при условии, что у вас мощный компьютер. Вы можете установить виртуальную машину VirtualBox, затем установить туда Windows и уже там запускать вашу программу. Можно пойти ещё дальше и сделать из старого компьютера сервер, на котором будет запущена Windows, к которой вы сможете подключаться по VNC или RDP и делать там всё, что угодно. Это не совсем способы запуска exe в Linux, однако это решение будет работать почти всегда, где не будет работать wine.
Выводы
Теперь вы знаете как запустить exe на Linux. Не пренебрегайте инструментами упрощения установки вроде PlayOnLinux. Они очень сильно экономят ваше время, так как имеют уже готовые профили для многих программ. Экспериментируйте и пусть ваши программы работают без ошибок!
Как поставить флешплеер на огнелиса на убунте?
Как поставить флешплеер на огнелиса на убунте? И откуда?
как заставить работать exec и var_dump в убунте?
собственно вот код программы она вызывает внешнюю прогу на с++ <html> <head> .
сможет ли груб линукса запускать и макинтошь? И можно ли через загрузчик винды запускать мак?
Скачал сборку хакинтош macos Leopard 10.5.5 для ПК . И собираюсь установить на отдельный раздел.
Вопрос по убунте 10.04
Привет! Я решился на освоение Убунты 10.04. Установил её. Вроде всё хорошо. Но возникла куча.
Решение
Как на ней запускать exeшники? Или они только под виндой идут? короткий ответ - никакдлинный ответ - зайти в центр приложений, найти приложение wine и установить. После этого некоторые (далеко не все) экзешники может быть и будут работать. Но лучше этим не заморачиваться (разочарования будут чаще, чем радости), а искать именно линуксовые программы.
И ещё: обьясните мне как и зачем, а главное куда монтировать разделы диска в убунте?
Если я и так вижу диск и его содержимое - какой в этом смысл? Убунта с графическим рабочим столом в этом плане очень дружественна - монтирует она и (во первых) "сама", и (во вторых) "куда надо". Но вообще монтирование может понадобиться при работе с образами дисков или при работе без графического десктопа.
Решение
Поставил на днях убунту 11.04 - впервые!Как на ней запускать exeшники? Или они только под виндой идут?
И ещё: обьясните мне как и зачем, а главное куда монтировать разделы диска в убунте?
Если я и так вижу диск и его содержимое - какой в этом смысл?
если че то пиши бываю редко но постараюсь отвечать.
Если я и так вижу диск и его содержимое - какой в этом смысл? монтируется для того чтобы иметь постоянную неизменную ссылку на ресурс, например шара по сетке раздела. ntlinuxnt, спасиб тебе, конечно!Но мне нужно для другого, не для игр, как тебе.
Ну как, CS 1.6 пошёл? у меня все пошло. все запускается. и некоторое даже лутчше чем на 7.
Vik-tor, вопрос назрел!
на /host мало места, но на HDD ещё есть 14Гб. Создал раздел в ext4. как его примонтировать к /host ?
ещё проблема в том, что между / и новым разделом ext4 два объёмистых NTFS. а перемещать их акронис отказывается а GPartedом не рискую - не совсем с ней освоился, там данных - 100,6 Гб и 110,2 Гб соответственно.
Чего делать то? Кстати при установке убунта, когда спрашивала, куда ставиться, под неё было отведено эти самые 14 Гб в ext3 - не увидела. а свободный NTFS на 10 увидела и туда и установил. а он в самой середине NTFSников. слева C:/ а справа D:/ и E:/ для всего. Диск один - разделов много. скопировать всё - некуда. Резервных копий всмысле - нет и не могу сделать.
Как быть? Подскажете, люди?
А можно ли /host перенести на то место где он и должен бы стоять?
"между / и новым разделом ext4 два объёмистых NTFS"
Незаморачивайся от того будут ли они подряд или в разброс разницы особо не будет.
"А можно ли /host перенести на то место где он и должен бы стоять? "
перемонтировать думаю можно, я сам новичёк в этом деле :-), завтра буду на работе гляну.
"А можно ли /host перенести на то место где он и должен бы стоять? "
перемонтировать думаю можно, я сам новичёк в этом деле :-), завтра буду на работе гляну.
фстаб не управляет расположением разделов на винте, он управляет монтированием разделов в файловую систему линукса Если честно - я уже не помню, какая геометрия винта у меня там была, но.Всем вам, мои милые линуховоды мне тогда ответившие - безмерная моя благодарность.
Терминал и Sudo наше все не забывай и если решил связаться с linux то будь готов к люби долгой и страстной
Ты, дружище, был абсолютно прав: любовь случилась и долгая, и страстная - всё, как ты и говорил: я теперь уже не представляю себя без линуха.
И действительно: в консоли всё или почти всё решается проще и быстрее, чем через GUI.
По сути вопросов своих тогдашних я для будущих поколений могу ответить следующее:
Тем, кто только что впервые поставил линух - смотрите на него оптимистичнее - он не страшный, а простой и няшный.
Экзешники запускать на линухах можно и вообще - довольно просто. Но далеко не всегда, а точнее - крайне редко это действительно нужно. Ибо в линухах вполне достаточно собственных инструментов и приложений под практически любую задачу, кроме уж совсем специфических или решений "только под виндовс", типа игрулек, фотошопа, CAD или прочих приложений, сделанных исключительно под винду из самых разных побуждений разрабов. Вообще же - почти любой ширпотребной программуле винды есть вполне адекватный и достойный аналог в линукс, будь то плеер, редактор или любая чисто админская шаманщина.
Как тут было упомянуто, в линухах есть встраиваемый движок WinAPI - Wine.
Устанавливается он весьма просто: либо в терминале (консоли, командной строке линукс, баше и ещё уйма синонимов) набрать команду
или в "менеджере программ" во встроенной поисковой строке вбить wine и установить найденное приложение.
В обоих случаях система спросит пароль пользователя sudo (того пользователя, который имеет право административных действий в системе. Обычно, если в системе только один пользователь - вы, то это тот же пароль, что и при входе в систему при включении компьютера)
Как только система удостоверится, что приложение желает установить человек (а не другая программулька под видом человека обращающаяся к системе и не какой-то посторонний человек, а именно тот, кто её ставил и кто имеет право делать такие действия в системе), она начнёт загрузку и установку собственно запрашиваемого приложения (в данном случае это wine) и всех ему необходимых дополнительных компонентов, которые описаны в зависимостях пакета. Обычно для этого всего счастья требуется подключение к интернету. Таким образом, после завершения этого действия, приложение, которое вы запрашивали будет установлено и готово к работе.
Что касается wine, то в некоторых версиях Ubuntu он уже устанавливался сразу же вместе с системой - я не знаю точно, как оно там сейчас, ибо пользуюсь уже другим линуксом - Минт, но возможно, если вы только что установили Ubuntu, он уже присутствует в системе.
Будем считать, что с установкой wine вы уже справились и сейчас задаётесь вопросом "а как же запускать нужный мне экзешник с его помощью?" Правой кнопкой мыши на файле приложения.exe и выбрать в конткстном меню "запускать с помощью", а в открывшемся окне - выбрать wine. Если вся программка состоит из одного экзешника и в виндовсе не требует установки - приложение.exe у вас тут же и запустится.
Но, правда, хотя и в большинстве случаев это работает, так случается не всегда. Иногда требуется установка exe, иногда программа.exe написана с учётом недокументированных возможностей виндовс, которых нет в wine и потому не запустится. Тогда есть лайфхак: простым копированием из C:\Windows скопировать в
/.wine/drive_c/windows некоторые нужные программуле библиотеки и компоненты из вашей существующей виндовс - почти наверняка этого будет достаточно.
Как вариант - искать в гугле по строке "запустить в wine программа.exe" - ищите на технических форумах, в LOR и на habr, а так же на многочисленных личных блогах админов.
Всем привет! Практически у всех начинающих пользователей Linux, которые только перешли с Windows, возникает один и тот же вопрос – а как в Linux запустить программу (игру), которая была в Windows? Иными словами, как запустить программу или игру, которая была разработана для Windows, в Linux, т.е. в другой операционной системе. В этом материале я расскажу Вам, можно ли это сделать, и если можно, то как.
Можно ли запустить Windows-приложение в Linux?
Для начала обязательно отмечу, что Linux – это совсем другая платформа, не Windows и не совместимая с ней, поэтому абсолютно любая программа или игра, разработанная для Windows, запускается только на Windows.
На заметку! Новичкам рекомендую почитать мою книгу «Linux для обычных пользователей» – в ней я подробно рассказываю про основы операционной системы Linux, и как пользоваться этой системой без командной строки.
Однако, так как эти вопросы задаются, и возник спрос, существует возможность запускать Windows-приложения в Linux, но это не стандартная возможность, которая не гарантирует нормального функционирования программы, да и не все программы так можно запустить, а еще к тому же, за счет того, что запускаются именно Windows-приложения, значительно снижается безопасность системы. Поэтому лучше не использовать возможность, которую я опишу чуть ниже, а пользоваться стабильными приложениями, разработанными именно для Linux.
Обзор инструментов Wine, Winetricks и PlayOnLinux
Итак, если у Вас все-таки остро стоит задача запустить Windows-кую программу в Linux, то существует специальная программа под названием Wine.
Wine – это альтернативная реализация Windows API.
Иными словами, Wine создает условия для запуска Windows-программ в Linux. При этом Wine – это не эмулятор, т.е. это не виртуальная машина, она не эмулирует оборудование, не эмулирует операционную систему, как я уже отметил, она является альтернативной реализацией Windows API, что и позволяет запускать Windows-программы в Linux.
Но как я уже отметил, совместимость программ не полная, не все программы поддерживаются, а те, которые поддерживаются, могут работать некорректно. В то же время большинство популярных программ работают в Wine очень даже неплохо, например, есть возможность запустить даже Microsoft Office.
Для упрощения установки и запуска Windows-программ в Linux разработчики также придумали специальные вспомогательные инструменты, которые упрощают всю эту работы.
К таким инструментам относится скрипт Winetricks.
Winetricks – скрипт для загрузки и установки различных распространённых библиотек, необходимых для запуска некоторых программ в Wine. Winetricks автоматически создаёт для программ правильные настройки и скачивает требуемые для их работы компоненты.
Winetricks – скрипт для упрощения работы с Wine.
Еще одним инструментом для упрощения установки Windows-приложений в Wine является программа – PlayOnLinux. Она создана для автоматизации установки программ и игр, созданных для Windows в Linux, т.е. она может автоматически скачать и установить некоторые программы (игры). Также PlayOnLinux в случае необходимости может скачать специальную версию Wine вместе с настройками для конкретной программы, и даже применять к программе некоторые исправления для того, чтобы добиться более стабильной работы.
PlayOnLinux – графическая программа, надстройка над Wine, которая упрощает установку и использование программ и игр в Linux, которые были разработаны для Windows.
По факту PlayOnLinux – это что-то вроде менеджера программ с графическим интерфейсом, в котором уже по умолчанию отображаются программы, которые можно установить, т.е. Вы просто выбираете программу и запускаете установку. И тем самым по сути, если программа есть в списке PlayOnLinux, то Вы сможете установить ее и запустить в Linux, для этого выполнив всего несколько простых шагов мастера.
Однако работа с PlayOnLinux и, в частности, с Wine непредсказуемая, иными словами, стандартного сценария установки программ нет, в процессе установки любой программы могут (и, наверное, будут) появляться различные ошибки, например, отсутствие какого-нибудь пакета или еще что-нибудь.
Но, как говорится, если Вы не ищете легких путей, то можете установить Wine или PlayOnLinux, и пробовать устанавливать различные Windows-приложения.
Установка и запуск Windows-приложения в Linux
Теперь давайте я покажу, как установить и запустить Windows-приложение в операционной системе Linux, в качестве примера я возьму программу Notepad++, которая была разработана для Windows, т.е. версии для Linux на текущий момент у этой программы нет.
Шаг 1 – Установка Wine
Сначала необходимо установить программу Wine. Пример установки Wine можете посмотреть в материале – Установка Wine в Linux Mint, в этой статье я подробно рассказывал и показывал, как установить Wine в дистрибутиве Linux Mint.
После того, как Wine Вы установили, повторно, для установки другой программы, Wine устанавливать не нужно.
Шаг 2 – Скачивание установочного файла программы
Следующее, что нужно сделать, это, конечно же, скачать установочный дистрибутив программы, в нашем случае Notepad++, т.е. так же, как и в Windows, Вам необходимо скачать ровно тот же самый установочный файл, который Вы бы использовали, если устанавливали программу на Windows.
Шаг 3 – Установка программы
После того как Вы установили Wine, Вы можете запускать exe файлы точно так же, как и в Windows.
Таким образом, для запуска установки программы мы просто щелкаем двойным кликом по скаченному файлу.
Потом программа Wine попросит загрузить и установить необходимые для корректной работы пакеты (в случае их отсутствия в системе). Нажимаем «Установить» и ждем окончания процесса установки этих пакетов.
После чего запустится установка программы, в нашем случае установка Notepad++, и этот процесс ничем не будет отличаться от установки в Windows, ведь это тот же самый установщик.
Более подробно посмотреть на процесс установки Notepad++ Вы можете в материале – Установка Notepad++ в Linux Mint
Шаг 4 – Запуск программы
После окончания установки ярлык программы появится в меню, а также на рабочем столе, если Вы поставили соответствующую галочку в процессе установки программы.
Для того чтобы запустить программу, просто щелкаете по ярлыку.
Как видите, в нашем случае проблем с установкой программы в Linux не возникло, но так бывает далеко не всегда, ведь установка Windows-приложений в Linux, как я уже говорил, это дело индивидуальное и непредсказуемое, и в большинстве случаев будут появляться различные ошибки.
Да и тогда, когда установка пройдет успешно, никто не дает гарантии, что приложение будет работать корректно, т.е. так же как в Windows.
Видео-инструкция
Читайте также:
- Mi tv stick не устанавливаются приложения из плей маркета
- Как восстановить бизнес онлайн сбербанк в телефоне
- Укажите в каких предложениях приложение присоединяется дефисом мальчишка пастух
- Ошибка при запуске приложения 0xc000007a как исправить на виндовс 7
- Приложение где можно текст накладывать на фото