Как запустить программу для Linux в Windows. Запуск Windows программ под Linux

На iOS - iPhone, iPod touch 06.08.2019
На iOS - iPhone, iPod touch
Привет, Хабр! Я хочу поделиться с вами идеей о создании Linux-дистрибутива с полной поддержкой Windows приложений. Все началось около 4-х лет назад, когда я в первый раз установил Linux. Тогда меня очень заинтересовала эта ОС, но поначалу все было очень непривычно, так как мне не хватало некоторых приложений из Windows, к которым я сильно привык. В итоге приходилось на другом разделе держать установленную Windows и это сильно раздражало. По мере изучения Linux я узнал о такой программе как Wine, а позже о VirtualBox. Если быть честным, то Wine не особо доставлял, так как некоторые приложения на нем заводились с пол тыка, а другие занимали уйму времени на поиски информации и ковыряния Wine"а. VirtualBox в то время сильно помог, так как дал мне почти полную интеграцию Windows с Linux. Сейчас я полностью перешёл на Linux и почти не пользуюсь Windows на VirtualBox"е, но у меня осталась одна идея, которую хотелось бы реализовать.

Итак, пользуясь Windows через VirtualBox, я подумал о том, чтобы максимально интегрировать ее в Linux и использовать как некую обёртку для запуска Windows-приложений прямо в Linux"е. Дальше я начал продумывать, как организовать мою идею и придумал решение по интеграции.

Как и что будем интегрировать?

Интерфейс
Основой интеграции будет VirtualBox в бесшовном режиме. Так как для Linux"а все Windows-окна будут одним большим окном, то с ним ничего не остаётся сделать, как закрепить его поверх всех окон на отдельном рабочем столе Linux"а и запретить вывод Linux приложений на этот рабочий стол. Таким образом все Windows приложения будут появляться на отдельном рабочем столе Linux, что на мой взгляд очень удобно.
Файловая система
Ее можно просто примонтировать к Linux. Например:

/virtualization
/virtualization/Windows/
/virtualization/Documents & Settings/
/virtualization/Program Files/

Вызов приложений
Запуск приложений планируется делать через меню Linux"а. Огранизовать это будет достаточно сложно, но реалистично. У VirtualBox"а есть консольная утилита, которая может запускать приложения в гостевой ОС из хоста. На этом и планируется основать вызов приложений из меню Linux.
Установка программ
По сути, установка программ не будет проблемой, но у меня есть более интересная идея. Можно использовать пакетную систему Linux для установки Windows приложений. Таким образом мы вся сила пакетного менеджера будет использована в Windows. Если делать репозитории с программами для Windows, то отпадет проблема вирусов и захламления системы.
Меню приложений
Если использовать пакеты в Windows-софтом, то при установке пакета просто копировать ярлык для запуска программы в гостевой системе. Эта проблема отпадает сама по себе.
Остальное
Многое уже реализовано VirtualBox"ом, так что интернет будет работать сразу, usb - тоже и еще много чего. На стадии идеи тяжело все продумать наперед. Так что пока остановлюсь.

Что мы в итоге получим?

Мы получим Linux c полной поддержкой Windows приложений. Почему почти? Потому, что единственное, что не будет работать - это мощные приложения, использующие DirectX, но над этим ведётся работа. Все остальное зависит от мощности компьютера. Так же можно будет завести почти любое USB-устройство, которое не хотело работать с Linux. Тем самым сводя неудобство пользования Linux от нехватки привычного софта к нулю. То есть мы берём безопасность и функциональность Linux и мощь софта от Windows.

И кому это нужно?

Во первых людям, которым нравится Linux, но бесит отсутствие привычного софта. Или тем, кому не хватает 1-го или 2-ух профессиональных приложений, из-за которых они не могут пользоваться только Linux. Или тех, кто хочет изучить Linux, но не переходить резко на нативные приложения. Будет в помощь тем, кто хочет перейти на Linux.

В чем проблема?

Проблем много. Главная - мы по прежнему будем использовать Windows. Так же я не знаю, что будет с лицензиями. Можно ли будет обрезать купленный нами Windows так, как нам хочется? Так же мы теряем кучу ресурсов компьютера. Без процессора с аппаратной виртуализацией это будет один большой тормоз и ещё будет нужно много оперативной памяти. Для комфортной работы 3-4 Гб.

Что дальше?

Мне интересно узнать мнение сообщества. Возможно это бредовая идея, а может неплохая. Организация подобного проекта займет очень много времени и сил и никогда не будет реалиована одним человеком. Если вы посчитаете эту идею интересной, то можно будет собраться вместе и вложить свой вклад в Linux.

P.S. Мне было очень тяжело писать о набросках мыслей в моей голове. Этот текст - всего лишь маленькая часть большой задумки. Тут много непродуманных моментов, и моментов, которые я не знаю как реализовать. Так или иначе базовый функционал моей идеи вполне реализуем. Не судите строго.

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

Программы под Linux - есть всё

Прежде чем городить огород с эмуляторами, лучше поищите портированные версии или аналоги ваших любимых программ. Те же , и множество других утилит имеют родные сборки не только для Windows, но и для Для получения какой-то конкретной функциональности зачастую не требуется полноценный аналог софта из Linux. Например, к автодополнению по Tab в оболочке привыкаешь очень быстро, а в командной строке Windows этого нет и в помине. Исправить это и другие досадные упущения поможет утилита clink.

Стандартные консольные утилиты, например из пакета GNU Coreutils, давно спортированы на Windows. Есть как довольно старые наборы GNUWin II и UnxUtils, так и постоянно обновляющиеся UWIN и Gnuwin32. Для последнего по завершении установки базового инсталлятора надо последовательно запустить файлы download.bat и install.bat, а затем скопировать по желанию папку gnuwin32 в любое удобное место и запустить из неё файл update-links.bat. После отработки последнего скрипта в подкаталоге StartMenu будут ссылки на запуск командной строки с окружением GNU и документацию к утилитам.

Microsoft Windows для UNIX

Обладатели в максимальной и корпоративной версиях, а также серверных версий ОС Microsoft могут вообще не заморачиваться. Для них доступна подсистема для приложений на базе UNIX или сервисы Microsoft Windows для UNIX. Этот набор базовых утилит наличествует прямо в компонентах системы. Наконец, последнее в списке и первое по популярности решение для запуска UNIX-программ - это . Этот пакет прост в установке и содержит далеко не маленький набор приложений, портированных под Windows. Рекомендуется использовать именно его.

KDE on Windows

Теперь можно поговорить о странном - запуске неродной для Windows системы . Вообще-то проект KDE on Windows существует не первый год, и поначалу пользоваться им было просто невозможно из-за регулярных падений, которые разве что не загоняли несчастную систему в BSOD. Однако разработчики не сидели сложа руки, и в нынешней реинкарнации проекта его можно смело инсталлировать - ошибки довольно редки, да и те - некритичные. Всё сразу ставить смысла, наверное, нет, а вот некоторые приложения могут приглянуться.

Linux в виртуальной машине

К сожалению, портированные приложения далеко не всегда ведут себя так, как в родном окружении, или могут конфликтовать с другими программами. Поэтому единственным выходом, помимо установки пингвиньей ОС на голое железо, является эмулирование Linux. Для разового использования можно применить оболочку для QEMU под названием MobaLiveCD, которая без лишних телодвижений поможет запустить LiveCD/USB с различными дистрибутивами. Для постоянного использования лучше инсталлировать Linux в виртуальную машину: в или VMWare Player. Только не забудьте установить гостевые дополнения для более комфортной работы. Альтернативный вариант - применение VDI-решений с возможностью бесшовной интеграции в Windows Linux-приложений, запущенных на отдельном хосте, который также может быть виртуализирован.

Эмулятор coLinux

Оптимальным вариантом для запуска Linux-приложений является использование . Она, условно говоря, запускает ядро Linux на уровне ядра Windows и имеет доступ ко всем аппаратным ресурсам машины, за счёт чего потерь производительности практически нет. При этом она сохраняет полную совместимость с Linux-приложениями, позволяя напрямую запускать их. На базе coLinux имеются готовые системы для быстрого запуска Portable Ubuntu Remix, Topologilinux, SpeedLinux и andLinux. Единственным неприятным ограничением coLinux и всех пакетов на его основе является необходимость использования 32-битной версии Windows 2k/XP/2k3/Vista/7. В качестве примера разберём минимальную настройку . Первым делом установим свежую версию coLinux, отказавшись от загрузки готовых образов и попутно инсталлировав WinPcap.

Установка coLinux в Windows

Теперь необходимо скачать архив образа диска с Debian и распаковать его в ту папку, в которую был установлен coLinux. Размер диска rootfs_2gb.img при желании можно увеличить. Файл squeeze.conf придётся немного отредактировать. Изменений минимум - увеличить объём выделяемой RAM, разрешить доступ к диску C: посредством COFS и добавить сетевой интерфейс TAP. Обратите внимание, что при использовании COFS лучше не обращаться одновременно к одним и тем же файлам с папками из Linux и Windows.

Kernel=vmlinux cobd0="rootfs_2gb.img" cobd1="swap_128mb.img" root=/dev/cobd0 ro cofs0="C:\" initrd=initrd.gz mem=512 eth0=slirp eth1=tuntap

После запуска squeeze.bat вы попадёте в консоль Debian. Логин по умолчанию root, а пароля нет. С помощью nano отредактируем параметры сетевых интерфейсов в файле /etc/network/interfaces. Добавим секцию для eth1. В качестве IP-адреса используем любой, лишь бы не было пересечения с другими локальными подсетями. В Windows в настройках IPv4 сетевого адаптера TAP-Win32 Adapter V8 надо указать адрес из той же подсети.

Auto eth1 iface eth1 inet static address 192.168.100.2 netmask 255.255.255.0

Выходим из nano с сохранением изменений - F2, Y, Enter. Теперь создадим папку, куда будет монтироваться диск C:…

Mkdir / mnt/ windrvc

…добавим одну строчку в конец файла /etc/fstab и сохраним его:

/dev/cofs0 /mnt/windrvc cofs defaults 0 0

Сейчас мы займёмся установкой X-сервера, а пока для простоты пропишем экспорт переменной DISPLAY в файл ~/.profile. В качестве IP-адреса используйте тот, что указан для TAP-адаптера в Windows. После этого можно перезагрузиться командой reboot.

Export DISPLAY=192.168.100.1:0

Нелишней будет установка , в том числе и кириллических. Опционально можно пройтись по каталогам со шрифтами, включая C:\Windows\Fonts, утилитами mkfontdir и mkfontscale из состава Cygwin. Теперь всё готово для установки X-сервера Xming. Сразу же после этой процедуры добавляем в файл X0.hosts IP-адрес TAP-интерфейса в Debian.

Поблагодарим Windows за бдительность и в стандартном брандмауэре поменяем все правила, касающиеся Xming, с запрещающих на разрешающие, а иначе программы просто не достучатся до X-сервера. Теперь запускаем утилиту XLaunch, в которой можно выбрать режим отображения X-окон и задать дополнительные параметры. Для нас важно настроить поддержку русской и английской раскладок с переключением по Alt+Shift и опционально задать DPI. В конце файл настроек надо сохранить как имя.xlaunch. В дальнейшем по двойному клику по этому файлу X-сервер будет запускаться с заданными нами параметрами.

Xkblayout us,ru -xkbvariant basic,winkeys -xkboptions grp:alt_shift_toggle –dpi 96

Чтобы не было так скучно, установим графический менеджер пакетов synaptic для более удобной инсталляции софта и какую-нибудь легковесную панель с меню приложений, например lxpanel. Последнюю для простоты пропишем в автозапуск при входе, добавив в конец ~/.profile команду lxpanel&.

Apt-get update apt-get upgrade apt-get install synaptic lxpanel

Для полноты картины добавим поддержку звука. Скачиваем отсюда архив с Pulseadio и распаковываем его в какой-нибудь каталог, в котором создаём текстовый файл default.pa. Наполняем этот файл нижеследующими строками. Здесь 192.168.100.0/24 - это наша TAP-подсеть.

Load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.100.0/24 load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.100.0/24 load-module module-detect add-autoload-sink output module-waveout sink_name=output set-default-sink output

Запускаем pulseaudio.exe и в очередной раз идём править разрешения в брандмауэре Windows. В консоли Debian устанавливаем необходимые утилиты и библиотеки.

Apt-get install libpulse0 libasound2-plugins alsa-utils

В файле /etc/pulse/client.conf добавляем IP-адрес хост-машины с запущенным сервером Pulseaudio - default-server = 192.168.100.1, а в /etc/asound.conf следующие параметры:

Pcm.!default {type pulse} ctl.!default {type pulse} pcm.pulse {type pulse} ctl.pulse {type pulse}

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

Aplay /usr/share/sounds/alsa/Front_Center.wav

Автоматический запуск Pulseaudio при старте Debian осуществляется добавлением в конец файла конфигурации squeeze.conf такой команды.

Exec0="X:\путь\до\папки\pulseaudio\pulseaudio.exe"

Xorg в Windows

Для X-сервера такой трюк не подходит. В принципе, того, что уже сделано, достаточно для работы. Однако неплохо было бы добавить в Linux нового не-root пользователя, настроить для него автологин с mingetty, установить coLinux в качестве службы Windows и прописать Xming в автозапуск. Для удобства можно поставить утилиту Desktops, которая создаёт несколько виртуальных рабочих столов в Windows, и запускать X-сервер в полноэкранном режиме на втором рабочем столе.

В итоге мы получили быструю среду для почти что нативного запуска Linux-приложений в Windows. Её можно использовать для написания и отладки веб-приложений, кросскомпиляции драйверов и прочих задач. Вот только вменяемого ускорения графики для работы тяжёлых приложений пока ещё нет, да 64-битная версия начала разрабатываться всего несколько месяцев назад. Тем не менее coLinux вполне пригоден для повседневного использования. Для дальнейшего изучения возможностей и настроек этой системы обратитесь к вики проекта. Ну а мы на этом пока что закроем тему симбиотических отношений Windows с Linux через разные места. Удачи!

Не можете найти адекватную замену определенного приложения для Windows в Linux? Лучшим решением данной проблемы является организация двойной загрузки в процессе установки Linux. В этом случае вы всегда сможете загрузить Windows для работы с необходимым приложением. Также вы можете воспользоваться менеджером виртуальных машин VirtualBox для установки Windows в рамках виртуальной машины, работающей в Linux.

Но существует и третье решение, которое не может быть рекомендовано начинающим пользователям: вы можете установить эмулятор Windows в Linux Mint, Ubuntu и Fedora. Wine является сложным приложением, позволяющим запускать многие (но не все) приложения для Windows в Linux. По своей сути, это небольшое технологическое чудо.

Однако, данное технологическое чудо имеет один серьезный недостаток: благодаря Wine в Linux могут запускаться не только полезные приложения для Windows, но и некоторые вредоносные программы, разработанные специально для Windows.

1. Проблемы с безопасностью системы

Несмотря на то, что все вредоносное программное обеспечение для Windows не сможет получить доступ к файлам вашей системы (Wine работает с правами обычного пользователя, а не пользователя root), ему доступны все файлы из вашей домашней директории. А в этой директории обычно хранятся документы, музыка, фотографии и так далее. Разумеется, это серьезная проблема безопасности.

По этой причине я не рекомендую Wine начинающим пользователям. Я считаю, что лучше не увлекаться установкой эмуляторов, если вас беспокоит безопасность вашей системы, и сам не устанавливаю их при отсутствии веских оснований. Для тестирования сборок своих программ для Windows я использую Windows 7 в виртуальной машине VirtualBox (об этом будет сказано позднее).

2. Дополнительно защитить Wine практически невозможно

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

Wine позволяет вредоносному программному обеспечению для Windows повреждать любые файлы в вашей домашней директории без вашего ведома. Данное утверждение также справедливо в случае использования таких графических оболочек для Wine, как CrossOver и PlayOnLinux.

3. Что еще можно сделать в том случае, если нужно использовать приложения для Windows?

Вам нужно использовать некоторые приложения для Windows и вы не желаете использовать Wine? В этом случае вы можете либо организовать двойную загрузку на своем компьютере для загрузки Windows при необходимости, либо установить бесплатную лицензионную версию Windows 7 в виртуальной машине VirtualBox в Linux .

4. Установка Wine с графической оболочкой PlayOnLinux

Если вы все же решились установить эмулятор Wine, вы можете установить вместе с ним простую графическую оболочку PlayOnLinux. Для этого следует открыть окно терминала и ввести в него следующую команду:

Linux Mint/Ubuntu:

sudo apt-get install playonlinux

sudo dnf install playonlinux

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

5. PlayOnLinux: установка поддерживаемого приложения

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

B. Теперь вы можете выбрать приложение для установки. Для этого следует нажать на кнопку «Установка» на панели инструментов основного окна приложения. В результате откроется окно с разделенным на категории списком поддерживаемых приложений, с помощью которого вы сможете выбрать интересующее вас приложение.

C. Для установки поддерживаемого приложения достаточно выбрать его, нажать на кнопку «Установить» и ответить на вопросы мастера установки. PlayOnLinux самостоятельно загрузит подходящую для его запуска приложения версию Wine и подготовит рабочее окружение. Процесс установки может занять некоторое время.

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

E. В результате приложение должно запуститься и корректно функционировать.

6. PlayOnLinux: установка неподдерживаемого приложения

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

B. Давайте попробуем установить игру NOLF 2. На вопрос «Что бы вы хотели сделать?» следует ответить «Установить программу на новый виртуальный диск» .

C. В случае NOLF 2 потребуется определенная версия Wine и дополнительные библиотеки.

Для начала вы можете выбрать системную версию Wine и одну из библиотек времени исполнения (выпущенную во время выпуска приложения), а после окончания процесса установки игры доустановить нужную версию Wine («1.5.22-vertex-blending-1.5.21 (x86)» для NOLF2), а также нужные библиотеки («vcrun6» и «vcrun2005» для NOLF2). Информацию о совместимой версии Wine, а также о необходимых для запуска приложения библиотеках можно получить в базе данных приложений проекта Wine .

E. После успешного окончания установки вам будет предложено выбрать ярлык.

F. Осталось настроить окружение исполнения игры и проверить его работоспособность. Если вы ошиблись с выбором версии Wine или библиотек, вы всегда можете исправить ситуацию, нажав на кнопку «Настроить» на панели инструментов в главном окне PlayOnLinux. С помощью вкладки «Wine» вы можете установить нужную версию Wine (не забудьте также изменить версию на вкладке «Основные» ).

C помощью вкладки «Установка компонентов» несложно установить все необходимые библиотеки.

G. Если для игры были выпущены какие-либо патчи, следует перейти на вкладку «Разное» , нажать на кнопку «Выполнить файл.exe на этом виртуальном диске» , выбрать файл патча и следовать инструкциям мастера установки. Для модификации файлов в ручном режиме предназначена кнопка «Открыть каталог программы» на этой же вкладке.

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

7. PlayOnLinux: удаление приложения

Если вам более не требуется какое-либо из установленных приложений, вы можете выбрать его из списка приложений в главном окне PlayOnLinux, нажать на кнопку «Удалить» на панели инструментов и ответить на простые вопросы мастера удаления виртуального диска.

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

В интернете существует множество статей и форумов о таком известном Linux приложении как Wine, которое позволяет запускать Windows программы в Linux среде. Ранее мы уже рассматривали способ как с помощью Wine в Ubuntu можно . В своем роде это не уникальная программа. Есть такие аналогичные проекты как PlayOnLinux и CrossOver, но они основаны на наработках Wine, кроме этого CrossOver является еще и коммерческим продуктом. Но благодаря интенсивному развитию программ виртуализации, таких как VirtualBox и VMware, существует еще один хороший способ интегрировать софт других ОС в свою Linux-подобную систему.

Думаю многим пользователям уже известно о такой полезной программе как VirtualBox. Ее преимуществом над таким серьезным конкурентом виртуализации как VMware является только то, что она распространяется по свободной лицензии, то есть это абсолютно бесплатный программный продукт. VirtualBox это еще и кросс-платформенный софт, то есть приложение разработано и доступно для скачивания под разные операционные системы: Windows, Linux, Mac OS. В одной из мы рассматривали еще одну относительно бесплатную среду виртуализации под названием Hyper-V, которая доступна только в новых версиях Windows. Почему я назвал ее относительно бесплатной? — Потому что сама среда Hyper-V предоставляется бесплатно как компонент операционной системы, за пользование которой уже придется заплатить, если вы желаете использовать ее официально. Но в отличии от VirtualBox и VMware у Hyper-V есть одно существенное преимущество — это не сторонний софт, а встроенный компонент системы. Этот факт дает хороший перевес в пользу Hyper-V по сравнению с другими программами такого рода.

Примечание: Для наилучшей производительности приложений виртуализации необходимо убедится в том, поддерживает ли ваш процессор аппаратную виртуализацию. Ищите в описании к своему процессору наличие технологий: для процессоров Intel — Intel VT (VT-x), для процессоров AMD — AMD-V. Если технология поддерживается, необходимо убедится включена ли она в биосе.

Установка VirtualBox.

Для Linux выбор в пользу VirtualBox, думаю, ни у кого не вызовет сомнения, поскольку этот софт абсолютно бесплатный, доступен под большинство популярных дистрибутивов Linux (Ubuntu, Linux Mint, Debian, openSUSE, SUSE Linux Enterprise Server, Fedora, Mandriva, Oracle Linux), имеет мультиязычную поддержку, присутствуют сборки новых версий в сторонних репозиториях, достаточно прост в настройке и использовании, а также более ориентирован на обычного пользователя.

Процесс установки для deb-подобных систем (Ubuntu, Linux Mint, Debian) очень прост, поскольку приложение доступно в стандартном рипозитории. Поэтому можно воспользоваться как стандартным менеджером приложений с графической оболочки, так и командами с терминала:

apt-get install virtualbox

Если вы желаете использовать самую новую стабильную версию программы, то ее можно скачать с официального сайта на странице загрузок , где также можно получить информацию о там как настроить официальный репозиторий для deb/rpm-подобных операционных систем. После подключения репозитория и публичного ключа к нему, установка VirtualBox для deb-подобных систем станет возможна с помощью команд:

sudo apt-get update
sudo apt-get install virtualbox-X.X

где — это номер последней текущей версии программы (на момент написания статьи это virtualbox-4.3).

Аналогично для rpm-подобных систем:

yum update
yum install virtualbox-X.X

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

Настройка гостевой ОС.

Процесс настройки так же очень прост. После запуска VirtualBox в главном ее окне необходимо кликнуть на кнопку «Создать». Далее необходимо ввести название новой виртуальной машины, к примеру «Windows XP», и VirtualBox автоматически сам определит тип системы и подстроит под нее все основные параметры. Только не забудьте выбрать разрядность виртуальной машины (32/64-bit) в соответствии с разрядностью гостевой ОС.

Почему лучше использовать Windows XP в качестве платформы для запуска Windows приложений в Linux окружении?

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

Затем необходимо задать объем оперативной памяти выделенный под эту ОС. Он зависит от объема ОЗУ вашей основной системы и его оптимальное значение определяется автоматически, но может быть заданно и вручную.

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

После того как успешно создалась виртуальная машина с предустановленными настройками для Windows XP необходимо перейти в основное окно программы, выбрать запись с только что созданной виртуальной машиной и в меню выбрать пункт «Настроить» (Ctrl+S). Откроется окно с более тонкими настройками виртуальной машины. На вкладке «Система» эмулируются все основные настройки материнской платы и устройств на ней: порядок загрузки, выделенный объем ОЗУ, распределение ресурсов ЦП и дополнительные технологии ускорения.

На вкладке «Дисплей» можно отредактировать настройки графической подсистемы для лучней производительности внешнего вида и графических эффектов.

На вкладке «Носители» отображаются ранее созданный виртуальный жесткий диск, а также виртуальный привод. При этом особое внимание стоит обратить именно на виртуальный CD-ROM, поскольку с помощью него мы можем подключить как ISO-образ установочного диска, так и реальный привод, который установлен в корпусе компьютера.

Подключаем образ установочного диска с Windows XP, кликнув на пиктограмку диска в правом верхнем углу окна. Для виртуальной машины это действие равносильно тому, как будто мы вставили диск в CD-ROM. Поскольку порядок загрузки уже установлен на вкладке «Система», то при следующем запуске виртуальная машина приступит к загрузке с образа и установке системы.

Далее не мало важный параметр для того чтобы ваша гостевая ОС имела доступ в интернет или локальную сеть. Существует несколько способов настройки сети на вкладке «Сеть» в настройках VirtualBox. Если выбрать тип подключения «NAT», в таком случае ваша гостевая операционная система получит внутренний специальный IP-адрес (10.0.2.15 — как правило) с помощью которого у нее будет такой же доступ к сетевым ресурсам, как и у вашей основной ОС. Как правило этот тип подключения используется чтобы предоставить гостевой ОС доступ в интернет. Часто еще используется тип подключения «Виртуальный адаптер хоста» для создания внутренней локальной сети между вашей гостевой и основной системами. Во время установки VirtualBox создает виртуальный интерфейс в основной системе через который и выполняется взаимодействие систем.

На вкладке «Общие папки» есть возможность настроить доступ гостевой ОС к вашим папкам и файлам. Эта настройка окажется даже более полезной для некоторых пользователей чем настройка сети. Со стороны VirtualBox необходимо указать путь к предоставленным в общий доступ папкам, тогда как со стороны виртуальной машины они будут отображаться в виде подключенного сетевого диска и использоваться гостевой ОС как собственный диск. Эта функция делает чрезвычайно удобным использование VirtualBox и Windows XP в качестве платформы для запуска Windows приложений.

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

Установка гостевой ОС.

Следующий шаг — это установка Windows XP. За много лет использования эта процедура не должна вызывать каких либо трудностей. Установка должна проходить в обычном, стандартном режиме без каких либо хитростей, как и на обычном ПК.

В процессе установки гостевой ОС в нижней части окна виртуальной машины будут отображаться процедуры обращения к периферийным устройствам: обращение к виртуальному жесткому диску, к приводу диска, в который подключен образ системы, к USB устройствам и сети. По завершению установки вы сможете загрузится и увидеть всем знакомый интерфейс Windows XP.

Настройка дополнений.

Для установки дополнений (это специальный набор утилит и драйверов для гостевой ОС, необходимый для удачного ее сопряжения с окружением VirtualBox и основной системой) необходимо загрузится в безопасный режим с помощью клавиши F8 в момент загрузки виртуальной машины. Безопасный режим необходим для установки в гостевой ОС драйверов на виртуальную видеокарту чтобы в дальнейшем обеспечить работу 3D приложений и компонентов системы.

После того как Windows XP загрузится в безопасный режим в меню окна виртуальной машины необходимо найти пункт «Устройства» -> «Подключить образ диска Дополнений гостевой ОС». Затем нужно зайти в «Мой компьютер» и запустить диск с дополнениями.

Устанавливаем флажок напротив опции «Direct 3D Support» и нажимаем кнопку «Установить» (Install).

Затем уже можно перезагружаться в обычный режим. Теперь ваша гостевая ОС будет полностью оптимизирована под работу на виртуальном ПК, о чем будет свидетельствовать значок VirtualBox в трее системы.

Режим интеграции дисплея.

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

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

При этом от виртуальной машины останется только панель задач Windows XP и всплывающее контекстное меню VirtualBox внизу рабочего стола.

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

После чего складывается впечатление что Windows XP работает просто в Linux Mint.

Заключение.

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

Как и Adobe Photoshop, Adobe Dreamweaver c помощью специальных манипуляций (пошаговое копирование файлов и ключей реестра с работающей Windows машины) работает под Wine, но установка и работа в нем из под VirtualBox выглядит на мой взгляд немного проще и приятнее.

К минусам данного способа можно отнести то, что часть ресурса ЦП и некоторый объем ОЗУ будут уходить на функционирование самой гостевой ОС. Собственно, из-за чего и лучше выбирать Windows XP как наиболее легковесную относительно современную Windows систему. Поэтому оставляйте, пожалуйста, свои рассуждения по поводу темы этой статьи в комментариях.

Привыкая к новой системе и настраивая ее под себя, каждый новичок сталкивается с проблемой выбора приложений, а привычки и незнание альтернатив затормаживают процесс перехода на Ubuntu.

Как правило, для любого пользовательского приложения Microsoft Windows можно найти замену в виде «родного» приложения под Ubuntu, в прошлой статье (см. выпуск «Open Source» №035, опубликованный 21.11.2008) я попытался упомянуть разнообразные приложения для полноценной работы. И такой подход (использование «родных» Linux-аналогов) в большинстве случаев будет предпочтительней, так как он создает меньше проблем, они быстрее решаются, да и вообще более приятно, когда все приложения выглядят и работают примерно одинаково.

Если же по тем или иным причинам найти замену приложению для Windows сложно или не представляется возможным (например, для игр), либо имеющиеся аналоги не устраивают, можно воспользоваться возможностями запуска Windows-приложений в среде GNU/Linux. Этого можно добиться несколькими путями.


Виртуальные машины

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

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

Существует несколько программ, для создания и запуска виртуальных машин - в том числе и с графическим интерфейсом, о которых и пойдет речь. Рассмотрим два приложения: VMware Server и VirtualBox. Выбор пал на них не случайно - они во многом схожи: примерно одинаково выполнен интерфейс пользователя, оба распространяются бесплатно и имеют набор инструментов для гостевых ОС. Поиграть в этом случае шансы невелики, так как поддержка 3D ускорения в гостевых ОС на начальном уровне.

VirtualBox

Поставляется в двух вариантах: с открытым исходным кодом (Open Source Edition, OSE) и содержащий закрытые компоненты. В последней функциональные возможности несколько расширены (например, возможность подключить USB-устройство в гостевой ОС доступна только в этой версии). Ее можно установить, скачав deb-пакет для вашей версии дистрибутива с сайта проекта (http://download.virtualbox.org/virtualbox/vboxdownload.html#linux). Вариант с открытым исходным кодом (OSE) устанавливается из репозиториев следующим образом (для Ubuntu Linux):

Sudo apt-get install virtualbox-ose

Приложение позволяет виртуализировать большинство версий Windows, проблем несовместимости быть не должно.

VMware Server

Закрытая, но бесплатная разработка известной компании VMware, которая специализируется на ПО для виртуализации. Помимо Server есть и другие продукты, в том числе и платные (http://www.vmware.com/products/product_index.html). Все подробности о них и ссылки для скачивания доступны на сайте компании.

Несмотря на схожесть принципов работы и предоставляемых возможностей, между VirtualBox и Vmware Server есть различия, заметные и обычному пользователю: если окно виртуальной машины в VirtualBox отдельно от основного окна программы, в VMware Server это реализовано с помощью табов; мастера настроек (работа с дисками и приводами) для VirtualBox также выполняются в отдельных окнах; бинарные пакеты для Server, как правило, имеют вдвое больший размер и прочее. Советую попробовать оба варианта, сравнить и выбрать понравившийся.

WINE

В отличии от виртуальных машин WINE ничего не виртуализирует, он лишь частично реализует функционал WinAPI, позволяя выполнять приложения Microsoft Windows в GNU/Linux. И у этого программного решения есть свои плюсы и минусы. Минусы достаточно весомые: гарантия запуска и работы приложения ниже, чем при использовании виртуальных машин, при переходе WINE от версии к версии приложение может и перестать работать, в основном это касается приложений, использующих сторонние dll файлы, отсутствует поддержки 64-битных приложений. Среди плюсов стоит сказать о меньшей потере в производительности, системные требования, по сравнению с виртуальными машинами ниже, а интеграция с основной ОС выше.

Полгода назад, после пятнадцати лет разработки, состоялся релиз WINE под номером 1.0.0, критерием выхода которого являлась стабильная работа Photoshop CS2 и программ чтения файлов Mircosoft . За минувшее время программа выросла еще больше и на данный момент является единственным (кроме виртуальных машин) связующим звеном между Microsoft Windows и другими операционными системами.

Установка WINE в Ubuntu:

Sudo apt-get install wine

После выполнения этой команды будут скачаны, установлены и настроены все необходимые пакеты, однако стоит учитывать, что в официальных репозиториях Ubuntu, как правило, находится старая версия WINE. Чтобы получить доступ к последним релизам, необходимо подключить сторонний репозиторий WINE. Как это сделать, описано на http://www.winehq.org/download/deb . Затем следует выполнить команду «sudo apt-get update» и установить WINE, воспользовавшись приведенной выше командой. Настроить WINE вы можете, выполнив команду winecfg (либо из меню «Wine» в «Приложениях» запустите «Configure Wine»).

Есть два способа запуска приложений Microsoft Windows: из консоли, что является более гибким способом, так как в строке можно будет указать дополнительные параметры для запуска; через графический интерфейс пользователя. В первом случае в командной строке необходимо выполнить что-то вроде этого:

Wine -keys /home/user/program.exe

  • wine - команда выполнения WINE,
  • -keys - ключи, которые вы хотите передать на выполнение программе,
  • /home/user/ - каталог в котором расположена программа,
  • program.exe - исполняемый файл Windows.

После установки WINE в систему исполняемые Windows-файлы можно будет запускать по клику правой клавишей мыши и выбрав пункт меню «открыть с помощью «WINE». Если вы установили Windows-программу в WINE, она появится в недавно созданном специальном меню «Wine» в «Приложениях», как это показано на картинке.

На официальном сайте WINE есть специальная база данных, отображающая работоспособность того или иного популярного Windows-приложения, благодаря которой можно заранее узнать, будет ли работать любимая или необходимая программа. Web-интерфейс к базе данных расположен на сайте http://appdb.winehq.org/

Другие разработки на основе WINE

WINE, как и многие открытые проекты, подвергся переработке и дополнениям на стороне. В частности, на его основе были разработаны приложения, которые специализируются в той или иной области.

WINE@Etersoft

Платная российская разработка, нацеленная, в первую очередь, на предприятия. Особенность заключается в возможности запуска в Linux-системах отечественных программ вроде «1C: Предприятие», которые широко используются в российском корпоративном секторе. Кроме того, есть возможность запуска систем клиент-банк и правовых систем, а также некоторых привычных обычному пользователю 2GIS, FineReader, ABBYY Lingvo.

CrossOver

Приложение, созданное с целью предоставить пользователям возможность беспрепятственной работы с Microsoft Office. Помимо этого, обеспечивается запуск некоторых специализированных программ: Adobe Dreamweaver MX, Quicken и других. В состав CrossOver входит дружественная утилита конфигурации, патчи для приложений. Кроме того, к нему предлагается платная техническая поддержка. У его производителя, компании CodeWeavers, есть и специализированный продукт CrossOver Linux Games, ориентированный на запуск некоторых популярных игр (их список можно найти на http://www.codeweavers.com/compatibility/browse/group/?app_parent=4100). Эта программа также является закрытой и платной, однако большая часть наработок возвращается обратно в WINE в соответствии с условиями лицензии GPL.

PlayOnLinux

PlayOnLinux (POL) - достаточно молодой свободный проект, нацеленный на запуск игр Microsoft Windows в среде Linux. Любой желающий может поучаствовать в его развитии, написав плагин или модуль установки игры. Суть проекта - в создании базы данных по параметрам, необходимым для установки и запуска игр. Установить программу в Ubuntu можно так:

Sudo wget http://playonlinux.botux.net/playonlinux.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

Cedega

Cedega - изначально коммерческий, но более «зрелый» проект, ориентированный на игры. Он разрабатывается уже довольно давно, а в середине минувшего декабря состоялся релиз 7.0. Чтобы его получить, необходима подписка стоимостью в 25 USD за полгода. Для привлечения сторонних разработчиков Cedega выкладывает часть исходных текстов в SVN, что позволяет получить базовый функционал бесплатно.

Заключение

Это последняя статья цикла «Ubuntu для новичков», которая ставит точку во введении в мир GNU/Linux. В ней рассмотрен последний важный на мой взгляд аспект работы в Ubuntu – запуск приложений Microsoft Windows. Хочу еще раз повториться, что в большинстве случаев бывает достаточно функционала «родных» приложений для GNU/Linux и этот вариант является предпочтительным. Используйте WINE в крайних случаях, стараясь исключить использование виртуальных машин вообще.

Оставьте свой комментарий!



Рекомендуем почитать

Наверх