Сайт о телевидении

Сайт о телевидении

» » Как запускать программы для windows на linux. Запуск Windows программ под Linux

Как запускать программы для windows на linux. Запуск Windows программ под Linux

Статья посвящена Wine и всем аспектам его использования. В сети находится очень
много информации, есть различные руководства по настройке и многое другое. Я
постараюсь объединить все для того чтобы любой человек смог достичь
максимального успеха, в пределах своих способностей и конечно возможности
программы. Итак - начнем.

Wine - это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Установка Wine

Первый вопрос человека который только что перешёл на Linux (в нашем случае
Ubuntu): «Как я буду запускать программы из Windows?». Он начинает поиск на эту
тему и естественно натыкается на Wine.
Второй вопрос: «Как его поставить?». Есть два способа: Поставить из
официальных репозиториев или скомпилировать самому из исходников. Мы рассмотрим
оба варианта.

Вариант 1: Установка из репозитория.

Тут все очень просто. Идем в Приложения // Стандартные // Терминал:

Sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.3

Ждем завершения установки…
Всё! Wine установлен и можно пробовать устанавливать игры и программы.

Вариант 2: Компилирование из исходников.

1.Скачиваем исходники с официального сайта, там они присутствуют. В моё случае
это Wine 1.3.11 (http://sourceforge.net/projects/wine/files/Source/wine-1.3.11.tar.bz2/download).

Переходим в директорию, в которую был распакован архив с исходными текстами:

Cd wine-1.3.11/

Перед компиляцией надо включить поддержку OpenGL. Если мы этого не сделаем
приложения которым нужен OpenGL работать не будут. В терминале:

Gedit tools/wineinstall

Находим строку, начинающуюся с CONFARGS=, и после вписываем в нее нужные
параметры сборки. В нашем случае строка будет выглядеть так:

CONFARGS="--with-opengl --disable-debug --disable-trace"

Получаем зависимости:

Sudo apt-get install auto-apt checkinstall
sudo auto-apt -y run ./configure

Собираем:

Устанавливаем через создание пакета, вместо make install

Sudo checkinstall

Всё. Ждем окончания установки.

Есть ещё промежуточный вариант, для джедаев на debian-based дистрибутивов. Кратко:

Apt-get source wine1.3
sudo apt-get build-dep

Теперь самое интересное: скачиваем нужную версию wine с официального сайта, распаковываем, и копируем туда директорию debian из директории с исходниками оригинального пакета wine1.3. Делаем

И у нас появляется *.deb пакет для убунты/дебиана со всеми нужными патчами для дистрибутива, почти как из официального репозитория, но только новая версия. К тому же её ещё потом можно спокойно удалить так же через apt-get.
Рассмотрим плюсы и минусы каждого из вариантов.

Вариант 1.
Плюсы:
1. За нас уже все собрано и пыжиться не надо, все уже готово к употреблению.

Минусы:
1. Мы не сможем применить патч, например для улучшения работы какой нибудь игрушки.
2. Не стабильная работа на некоторых видеокартах.

Вариант 2.
Плюсы:
1. Возможность применить патчи для улучшения работы
2. Стабильная работа с не стабильными драйверами видеокарт.

Минусы:
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли,
выходить в настройки Wine например.
2. Процесс установки слишком долгий, зависит от мощности вашего компьютера.
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли, выходить в настройки Wine например.»

Можно самому добавить через Система - Параметры - Главное меню

Я отдаю предпочтение второму варианту. Wine установленный таким образом работает
лучше, чем установленный из репозиториев. Но это лишь мое маленькое ИМХО.

Установка программ и игр

Сперва мы идем на appdb.winehq.org Сверху, в поисковике вбиваем
название игры или программы и смотрим что там написано. Обычно там описаны
тесты на различных системах, рекомендации для стабильной работы и многое другое.

Если программа работает без проблем, значит с чистой душой её устанавливаем
простым кликом. Если это какая нибудь серьёзная игра или программа и без
шаманства с бубном не обойтись - значит надо создавать отдельный префикс* для
наших танцев. * Все файлы вайна хранятся в префиксе, или ещё называемом бутылкой (по анологии с вином/wine). Там внутри этой бутылки имеются все файлы диска C, реестр, индивидуальные настройки и так далее.

Таких бутылок может быть сколько угодно.

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

Когда вайн запускается в первый раз без указанного префикса, используется ~/.wine. Если префикс не существует вайн создаст его и наполнит дефолтным содержимым создаст и наполнит файлами каталоги C:\windows, C:\Program Files, C:\users. Плюс будет создан чистый реестр.
Идем в наш домашний каталог и создаем новую директорию. Например.wine2.
Дальше идем в терминал и вводим:

WINEPREFIX="/home/username/.wine2/" winecfg

Всё. Отдельный префикс создан. Там хранятся различные конфигурации реестра и сами программы.
Установку программы также производим через консоль.

WINEPREFIX="/home/username/.wine2/" wine /media/DVD/setup.exe

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

В выводе могут быть ошибки, о том что нет нужных компонентов и библиотек. В
установке недостающих компонентов нам поможет winetricks (см. ниже)

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

Winetricks

В правильной настройке префикса нам поможет winetricks.
Winetricks - это скрипт, который устанавливает различные компоненты, которые
требуются для работы приложения, например DirectX, Vcredist и многое другое.
Как это скрипт работает? Он скачивает библиотеки и компоненты с
Microsoft-овских ресурсов. Именно так, и не как по другому. Зачем этот скрипт
нужен? Это очень упрощает работу с Wine-ом. Без скрипта мы бы сами лазили и
искали нужные компоненты, а тут уже все сделано, надо только поставить галочку
и нажать «Установить» Также этот скрипт помогает редактировать реестр,
вписывать туда различные ключи. И помимо этого в winetricks есть много настроек
и функций.

Для ознакомления с ним просто введите в терминале winetricks

Редактирование реестра

В терминале вводим:

Мы в реестре. Редактировать нам ничего не надо, мы будет только добавлять.

Идем в HKEY_CURRENT_USER/Software/Wine/Direct3D.

Если каталога Direct3D нет, то не отчаиваемся. Я это пишу чтобы читатель понял
где-то надо редактировать или добавлять.

В терминале:

Winetricks ddr=opengl orm=fbo glsl=disabled videomemorysize=1024
(1024 меняете на свое)

Все эти параметры появиться в реестре. Это можно посмотреть в папке указанной выше.

Что это дает? Это улучшает производительность в играх, скорость и вообще игры
работают от этого лучше, но это только для игр.

PlayOnLinux

Также существует PlayOnLinux. Это отдельная программа, которая использует Wine,
но там более все автоматизированно и настроено. Программа сама скачает нужный
Wine, установит компоненты и создаст отдельный префикс. Но это не значит что
все будет идеально работать. Может вообще не работать. Так что я отдаю свое
предпочтение обычному Wine, ручной настройке и работе собственного мозга, а не
автоматизированной программе.

Плюсы:
Все автоматизированно и нам по сути делать ничего не надо.
Можно держать несколько версий Wine и применять их для различных префиксов.
Программа сама создает префиксы.

Минусы:
Все что делает программа, устанавливает и скачивает предугадать невозможно.
Все что делает программа можно сделать самому, ручками, это + к знаниям человека.
Программа «Робот» никогда не сравнится с человеческим мозгом.

Монтирование образов CD/DVD-дисков

В Windows есть для этого утилита под названием Daemon-Tools. Это очень удобная
и не заменимая утилита. У человека возникает вопрос: Есть ли аналог этой
чудо-утилиты? Ответ: Есть и на много лучше Windows утилиты. Называется она
Cdemu. Для её установки нам требуется ввести всего лишь три команды:

Sudo add-apt-repository ppa:cdemu/ppa
sudo apt-get update
sudo apt-get install cdemu-daemon cdemu-client gcdemu

Добавляем аплет на панель, указываем путь к образу и радуемся жизни. Не каких
проблем не будет и Wine будет отлично определять образ. Если аплета не находим не торопитесь перезагружаться.
В терминале вводим команды:

Sudo service cdemu-daemon start

Если сервис не стартует при старте системы («The daemon is configured not to start at system startup»), можно исправить так:

Sudo update-rc.d cdemu-daemon enable

Запуск игр в отдельном Х-сервере

Этому можно посветить целую книгу, но я остановился на одном способе, которым всегда пользуюсь:

Переходим в виртуальный терминал:

Ctrl + Alt + F1
login: ******
password: ******

Запускаем вручную новую копию X-сервера:

Xinit -- :2
wine путь/папке/c/игрой/game.exe

Прирост от этого не большой, но лично мне этого хватает. Ещё раз повторю:
способов запуска в отдельном х-сервере много и каждый человек волен сам выбирать.

Заключение

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

Данный материал написан для «Первого конкурса русскоязычных статей для ОС
Ubuntu» (konkurs.ubuntu.ru)
Автор статьи Владимир Качармин aka rootboot
Контакты: Skype root.boot2, email [email protected]

Рано или поздно может понадобиться запустить программы 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, установленные программы, библиотеки, файлы реестра, конфигурационные файлы находятся в домашнем каталоге, а точнее, в ~/.wine.

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

Папка ~/.wine это префикс, но мы можем создавать для каждой новой программы свой префикс и она будет работать только с ним. Чтобы задать префикс, с которым нужно работать wine используется переменная окружения WINEPREFIX, например:

export WINEPREFIX=~/program

Для разных программ может потребоваться различная архитектура системы, wine может запускать и 64 битные программы, но многим для правильной работы нужна архитектура х86.

Чтобы задать архитектуру используйте переменную WINEARCH. Например, для х86:

export WINEARCH=win32

Также не создавайте папку для нового префикса с помощью mkdir или файлового менеджера, пусть программа сама создаст эту папку при своем первом запуске.

Установка Windows программ в Wine

Если вам нужно запустить программу, полностью поддерживаемую Wine, например, проводник или notepad, достаточно выполнить:

wine адрес/файла/программы.exe

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

Для установки компонентов Windows в wine существует специальный инструмент - winetricks. Устанавливать его лучше из сайта программы, так версия будет новее:

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod +x winetricks

Чтобы установить нужный компонент достаточно передать имя этого компонента:

winetricks vcrun2008

С установкой компонентов более-менее понятно, но как узнать какие компоненты нужны? Скорее всего, вашу программу уже пытались устанавливать и другие пользователи нашли решение проблемы. Поэтому воспользуйтесь поиском Google для того, чтобы найти способы установки программы. Также очень полезным будет сайт appdb.winehq.org. На нем собрана база данных всех поддерживаемых в Wine приложений, там есть инструкции по установке, описываются возможные проблемы и дается общая оценка работы программы, правда все на английском.

Давайте рассмотрим пример. Наберите в поиске по appdb Advego Plagiatus, напомню, что это программа для проверки уникальности текстов, часто используемая копирайтерами:

Она сразу же была найдена в базе данных:

На странице программы, мы видим кроме скниншота и оценки работы, желтый значит золото, очень хорошо, и инструкции по ее установке, в нашем случае нужен набор библиотек riched30, который можно установить командой:

winetriks riched30

После установки этого пакета программа запуститься и будет работать.

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

Рассмотрим на примере той же Advego Plagiatus. Сначала создадим новый префикс, чтобы не испортить то что уже было установлено:

export WINEPREFIX=~/advego

Архитектуру нам менять не нужно, но если хотите, можете явно указать, что нужно использовать win64:

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.

Копируем библиотеку в наш префикс, в папку syswow64:

cp ~/Загрузки/riched32.dll ~/advego/drive_c/windows/syswow64/

cp ~/Загрузки/riched20.dll ~/advego/drive_c/windows/syswow64/

Для 32 битных библиотек используется папка system32, а поскольку мы указали архитектуру 64 бит нужно и библиотеки использовать соответствующие. Затем запустите winecfg и на вкладке библиотеки, в поле новое замещение для библиотеки наберите *riched32, затем добавить и *riched20 и опять добавить:

Все, теперь можете пробовать запускать программу:

wine ~/advego/drive_c/Program\ Files\ \(x86\)/Advego\ Plagiatus/plagiatus.exe

Теперь программа работает и больше не падает с ошибкой. Таким образом, вы можете заменить много библиотек Wine. Можно запустить практически любую программу, написанную несколько лет назад и не требующую сверх новых технологий. Достаточно только заменить нужные библиотеки. Вы можете не только использовать winetricks или копировать библиотеки из интернета, но и брать их прямо из Windows. Точно не стоит заменять gdi32.dll, kernel32.dll, и user32.dll - эти библиотеки реализуют функции ядра Windows на самом низком уровне, и если их заменить, это только нарушит работу Wine. Наверное, есть и другие библиотеки, которые нельзя заменять, но это вычисляется только путем экспериментов. Экспериментируйте и пусть ваши программы работают без ошибок!

Не можете найти адекватную замену определенного приложения для 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- или UNIX-приложений в Windows может быть продиктовано массой причин — от банальной привычки к некоторым программам до невозможности запуска отдельной машины с Linux. Кто-то хочет использовать нативные версии ПО для отладки, а кто-то надеется, что таким способом можно заставить пользователей плавно смигрировать на полноценный дистрибутив.

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

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


Обладатели Windows Vista/7 в максимальной и корпоративной версиях, а также серверных версий ОС Microsoft могут вообще не заморачиваться. Для них доступна подсистема для приложений на базе UNIX (Subsystem for UNIX-based Applications, SUA) или сервисы Microsoft Windows для UNIX (Microsoft Windows Services for UNIX, SFU). Этот набор базовых утилит наличествует прямо в компонентах системы. Дополнительные наборы программ можно скачать . Наконец, последнее в списке и первое по популярности решение для запуска UNIX-программ — это Cygwin . Этот пакет прост в установке и содержит далеко не маленький набор приложений, портированных под Windows. Рекомендуется использовать именно его.




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





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


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


Теперь необходимо архив образа диска с Debian и распаковать его в ту папку, в которую был установлен coLinux. Размер диска rootfs_2gb.img при желании можно увеличить . Файл squeeze.conf придётся немного отредактировать. Изменений минимум — увеличить объём выделяемой RAM (mem), разрешить доступ к диску 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 (coLinux) надо указать адрес из той же подсети.

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-сервера . Сразу же после этой процедуры добавляем в файл X0.hosts IP-адрес TAP-интерфейса в Debian (в нашем примере это 192.168.100.2).


«Поблагодарим» 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"

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

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

Предположим, что у вас есть приложение, которое запускается и работает хорошо только в Windows. Такая программа не имеет эквивалента в Linux, и не работает в или другом эмуляторе Windows API — CrossOver для Linux.

Возможно, ли запустить эту программу не выходя из Linux? Да, возможно: Используя гипервизор для запуска Windows, виртуальную машину (VM).

VM позволяет запускать гостевую операционную систему поверх другой операционной системы. С точки зрения гостя, кажется, что система работает на своем собственном ПК, но на самом деле она работает в ограниченной виртуальной подсистеме ПК, в виртуальной машине. А виртуальная машина, в свою очередь, управляется программой под названием гипервизор. Таким образом, мы получаем идеальный эмулятор Windows в Linux .
Есть много прекрасных настольных гипервизоров для Linux, таких как VMware Player, Kernel Virtual Machine (KVM), и мой любимый, свободный VirtualBox от Oracle. Я предпочитаю VirtualBox, потому-что это самый простой по настройке и запуску виртуальных машин гипервизор.

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

Эмулятор Windows в Linux? Что VirtualBox может сделать для Вас?

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

Windows в VirtualBox можно ограничить. Например, отключить сеть, что может сделать её немного безопаснее. Я обычно в Windows на виртуальной машине выполняю те же самые стандартные меры безопасности, что и выполняют все люди на реальном компьютере, устанавливаю антивирус для того, чтобы мои файлы, которые я буду предоставлять людям, не имели вирусов. К тому же я обычно для Windows открываю одну общую папку из Linux, для простоты обмена файлами.

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

По моему опыту, вы сможете запустить Windows поверх Linux с помощью VirtualBox на системе с 1 Гб оперативной памяти, но это будет не очень комфортно. По крайней мере, нужно иметь 2Gb оперативной памяти и 1-ГГц (гигарцовый) AMD или Intel процессор.

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

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

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

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