Запуск портативных программ windows в linux

Здравствуйте, у меня такой вопрос: может ли portable-версия программы, написанной под Windows теоретически работать под Wine? Для определённости скажу, что у меня portable-версия Компас 12 (прога для черчения), я пробовал запустить напрямую открывая файл через Wine- не выходит.
  • Печать

Страницы: [1]   Вниз

Тема: Portable-версия проги под Wine  (Прочитано 3558 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
Parovoz1990

Здравствуйте, у меня такой вопрос:

может ли portable-версия программы, написанной под Windows теоретически работать под Wine? Для определённости скажу, что у меня portable-версия Компас 12 (прога для черчения), я пробовал запустить напрямую открывая файл через Wine- не выходит.


Оффлайн
VitalD

Parovoz1990,
1.Попробуйте запустить через терминал. Ошибки сюда под спойлером, поглядим, что да как.
7.Поищите в appdb.winehq.org информацию о своей программе.


Пользователь решил продолжить мысль 22 Сентября 2012, 20:49:17:


Кажется для вашей темы больше подходит раздел: https://forum.ubuntu.ru/index.php?board=65.0


Оффлайн
dj hoodo

может теоритически запускаться.
я фотошоп портабл запускал, работал он нормально, но переодически падал. перешел на GIMP


Оффлайн
Parovoz1990

VitalD, вот что ответил терминал. А уже графически Компас сказал, что ему нужна библиотека kSys1.dll.

Я что-то не пойму, что он пытается найти в папках Линукса? Он ведь должен думать, что работает под Windows


Оффлайн
VitalD

Parovoz1990,
Кроме вот этой ошибки (как мне кажется речь о правах доступа) все, кажется, в порядке:

err:service:validate_context_handle Access denied — handle created with access 1, needed 4

Библиотеку положите рядом с exe-файлов, который запускаете.
Вот, что нашлось в базе wine: http://appdb.winehq.org/objectManager.php?sClass=version&iId=22102&iTestingId=62070 . Хоть тестировалось и под 10.10, но совет с настройкой wine под opengl, думаю, может быть полезен.


Оффлайн
Parovoz1990

VitalD,
Я конечно дико извиняюсь, но Яндекс не смог мне внятно объяснить как настроить Wine на работу с OpenGl. Я так понимаю, что можно Winetricks поставить, но у меня уже есть негативный опыт использования этих скриптов. Как поставить OpenGL на Wine без Winetricks? В самом Wine я OpenGL не нашёл.


Пользователь решил продолжить мысль 24 Сентября 2012, 01:24:36:


Собственно в Winetricks я тоже OpenGL не нашёл :(

« Последнее редактирование: 24 Сентября 2012, 01:24:36 от Parovoz1990 »


Оффлайн
VitalD

Parovoz1990,

Разобрались с недостающей библиотекой?

Что касается OpenGL, думаю, нужно сделать следующее:

Но сперва разберитесь с библиотекой  :coolsmiley:


Оффлайн
Parovoz1990

VitalD,
Я не совсем понимаю куда мне нужно эту dll-библиотеку сунуть, чтобы он больше не цеплялся к ней. В папку с файлом пробовал- не помогает. Он странно пишет нужный ему путь, примерно так: C:Program Files(x86)ASCONKOMPAS-3D V12BinКОМПАС.exe->kSys1.dll

Я так полагаю, что это путь, который он использует в Windows. Я попробовал создать все эти папки в /home/.wine, но никакого результата. Или я где-то ошибся с написанием названий папок или эта dll не должна там лежать. Что значит эта стрелочка от exe-файла к dll-файлу в указанном пути?


Оффлайн
VitalD

Parovoz1990,
Библиотеку попробуйте положить в папку Windows/system32.
Про стрелочку не в курсе, с подобным не сталкивался  :-


Оффлайн
Señor_Gaga

Здравствуйте, у меня такой вопрос:

может ли portable-версия программы, написанной под Windows теоретически работать под Wine? Для определённости скажу, что у меня portable-версия Компас 12 (прога для черчения), я пробовал запустить напрямую открывая файл через Wine- не выходит.

Где бы взять Компас 12 или более младшей версии?


  • Печать

Страницы: [1]   Вверх


0

0

Прошу совета для следующей ситуации! Имеется нетбук с установленной убунтой 9.10. Используется почти исключительно для работы. Так вот ОО для работы устраивает практически всем. Но вот беда — большинство документов (особенно сложных) из МС офиса ОО открывает довольно криво (соответственно и наоборот). А так как большинство доков со стороны именно в МС офисе, этот недостаток меня достал. Я поставил Wine, сначала версию 1.0.1 и решил запустить под ней МС офис. Так как устанавливать сей пакет нет никакого желания, я запускал portable версии офиса — 2007, 2003 и ХР (2002). Ни одна из них не работала корректно (висли, вылетали), некоторые не работали никак (не запускались). Ладно, поставил последний Wine — 1.1.36 — картина аналогичная ((( Или просто вылетала критическая ошибка с необходимостью закрытия программы или вылетала ошибка процесса rpcss, причем процесс этот множился, вылетала куча окошек с предложением закрыть этот процесс. В системном мониторе приходилось убивать МС офис и кучу напложенных им и вайном rpcss-ек. Короче туго у вайна с запуском портабл софта.
Поставил я КроссОвер. портабл 2002 и 2003 МС Офис он у меня запустил на отлично. Портабл 2007 не запустил с жалобами на недостаток памяти или свободного места на диске (?). Вот как то так (
В связи с этим вопрос — а как у wine и ему подобных с portable Винсофтом??? Планирую запускать portable версии МС офиса, Finereader-a, Statistica for Win, ряд видеоредакторов (Улид, например).

Если вы считаете, что GIMP не ровня Photoshop, и не можете жить без офиса от Microsoft.

5 способов установить Windows-программы на Linux

1. Wine

Название Wine расшифровывается как Wine Is Not an Emulator. Это своего рода прослойка между приложениями Windows и системой Linux. Он позволяет устанавливать и запускать многие популярные Windows-программы и работать с ними так, как будто это родные приложения Linux.

Чтобы установить Wine, воспользуйтесь соответствующей командой.

1. Ubuntu, Debian, Mint:

sudo dpkg --add-architecture i386

wget -nc https://dl.winehq.org/wine-builds/Release.key

sudo apt-key add Release.key

sudo add-apt-repository "deb https://dl.winehq.org/wine-builds/ubuntu/ artful main"

sudo apt-get update

sudo apt-get install --install-recommends winehq-stable

2. Fedora:

sudo dnf install winehq-stable

3. openSUSE:

sudo zypper install wine

4. Arch, Manjaro:

sudo pacman -S wine

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

Теперь скачайте установщик нужного вам приложения Windows, найдите папку с ним в вашем файловом менеджере и откройте файл. Либо введите команду wine путь_к_приложению.

Windows-приложение запустится и будет работать так же, как и всегда. Если вы открыли установочный файл, начнётся установка приложения — как в Windows. Если программа не требует установки, вы сможете начать работать с ней немедленно.

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

2. Winetricks

Wine — неплохой инструмент, однако интерфейс у него оставляет желать лучшего. Если вы намучились с этой программой, но так и не добились результата, попробуйте Winetricks. У неё приятный графический интерфейс для установки и запуска Windows-приложений, в котором куда проще разобраться новичку.

Установить Winetricks можно так:

1. Ubuntu, Debian, Mint:

sudo apt-get install winetricks

2. Fedora:

sudo dnf install winetricks

3. openSUSE:

sudo zypper install winetricks

4. Arch, Manjaro:

sudo pacman -S winetricks

Winetricks позволяет установить различные версии Microsoft Office и Photoshop, плеер foobar2000 и множество других программ. Поддерживаются и такие популярные игры, как Call of Duty, Call of Duty 4, Call of Duty 5, Biohazard и Grand Theft Auto: Vice City. Некоторые программы загружаются автоматически, для других будет предложено вставить установочный носитель. И, естественно, вы можете открывать собственноручно скачанные файлы формата EXE.

3. PlayOnLinux

PlayOnLinux — ещё один удобный инструмент для запуска Windows-приложений в Linux. Как и Winetricks, он обладает простым графическим интерфейсом. Но, в отличие от него, PlayOnLinux позволяет вам выбирать конкретную версию Wine для того или иного приложения. Это полезно, если какая-то из нужных вам программ некорректно работает с новыми версиями Wine. В целом PlayOnLinux выглядит куда симпатичнее и практичнее, чем Winetricks.

Чтобы установить PlayOnLinux, выполните в терминале одну из следующих команд:

1. Ubuntu, Debian, Mint:

sudo apt-get install playonlinux

2. Fedora:

sudo dnf install playonlinux

3. OpenSUSE:

sudo zypper install playonlinux

4. Arch, Manjaro:

sudo pacman -S playonlinux

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

4. Crossover

Изредка бесплатные PlayOnLinux и Winetricks не справляются с установкой какого-нибудь особенно привередливого приложения. В таком случае вам может помочь Crossover. Эта программа очень проста в использовании. Вам достаточно указать, какое приложение вы хотите установить, и подсунуть Crossover установочный файл. Всё остальное будет сделано за вас.

Лицензия Crossover на год стоит 39,95 доллара, но у программы есть и бесплатная пробная версия. Рекомендуется сначала установить необходимое вам приложение в ней, чтобы убедиться, что оно работает корректно.

Crossover →

5. VirtualBox

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

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

Неоспоримый плюс виртуальной машины — в ней работает полноценная операционная система, а значит, запустится абсолютно всё. Минус — прожорливость в плане системных ресурсов, да и тратиться на лицензию Windows для виртуалки накладно.

VirtualBox →

Читайте также 🧐

  • 6 задач, с которыми Linux справляется лучше, чем Windows
  • Как реанимировать Windows и сохранить данные с помощью live-дистрибутива Linux
  • Как обмениваться файлами по воздуху между Windows, macOS, Linux, iOS и Android

PortProton

Материал написан пользователем сайта.

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

Что такое PortProton

PortProton основан на версии WINE от Valve (Proton) и её модификациях (Proton GE). Включает в себя набор скриптов в сочетании с самим WINE-PROTON, контейнером Steam Runtime Sniper с добавлением  портированных версий MANGOHUD (вывод полезной информации через окно игры: FPS, FrameTime, CPU, GPU и т.д.) и vkBasalt (улучшение графики в играх, очень хорошо в сочетании с FSR, DLSS) + множество уже настроенных  оптимизаций для максимальной производительности.

PortProton устанавливается в систему и позволяет запускать Windows-приложения в Linux-среде: не только игры, любое ПО. Доступны для установки игровые клиенты, которые не имеют нативной поддержки GNU/Linux-систем и эмуляторы.

Игровые клиенты
Эмуляторы

Использование доступно в 2-х вариантах: запуск через меню «Игры» главного окна и через контекстное меню конкретного приложения/ярлыка. При установке ПО интегрируется в ОС. Процесс установки описан в статье на сайте. Для работы с конкретным дистрибутивом нужно установить зависимости (они приведены по ссылке выше). В случае с Ubuntu и производными, можно скачать готовый .deb-пакет, для Arch-based доступен tar.zst-архив или установка из AUR, из репозитория устанавливается и для ROSA Linux. Через PP можно не только запускать, но и установить Windows-приложение в пару кликов (да-да, пиратки с торрентов поддерживаются), запускаются не только игры, любые приложения.

Так выглядит окно при запуске из меню «Игры».

Главное окно

А так выглядит окно при открытии приложения через контекстное меню, где можно подобрать связку для запуска, настроить приложение, покрутив конфигурационные файлы текстовые, загрузить другую версию WINE или создать ярлык. Для загрузки в окне имеется на выбор очень много и других версий Wine, кроме предустановленных. В случае проблем, стоит поиграться со связками настроек сперва, если это не помогло, то запустить приложение в режиме создания лога (лог будет в папке PortWINE в домашней директории), с ним обратится в Discord-канал, где могут помочь и подсказать.

Запуск приложения

Необходимые компоненты, такие как 3D API (DXVK, VKD3D, OpenGL, Gallium Nine), будут либо установлены сразу вместе со скриптом, либо подтягиваются при первом запуске. Некоторые приложения могут глючить, вылетать, иметь проблемы с изображением/звуком итд. Для решения, можно поиграться со связками Wine, 3D API и настройками. При наведении курсора на значение, выводится подсказка. Для использования в игре MangoHud, vkBasalt и прочих инструментов, они должны быть предварительно установлены в систему. 

Настройки запуска приложения

На последней вкладке «НАСТРОЙКИ PORTPROTON» можно настроить текстовые файлы, удалить/переустановить и найти справочную информацию, ссылки на Website, Discord и VK, лицензируется проект под MIT.

О приложении

Текущее положение

На момент написание материала, сайт проект находится по этому адресу. Есть сообщества в социальных сетях: ссылки на ВК, Youtube- и Discord-каналы и github-страницу проекта с исходниками находятся на главной странице. Эти ссылки дублируются на сайте и в справочной информации. При создании лог-файла (в случае неработоспособности, вылетов и багов), стоит обратится в Discord-канал проекта, ссылка с приглашением будет в лог-файле. Насколько я знаю из последнего стрима, YT-канал скоро будет заброшен, так как автор собирается переходить на отечественную площадку, но мосты останутся, так что в худшем случае, там будет рестрим без ответов на вопросы и чата.

Автор не монтирует короткие видеоролики, но проводит длинные прямые трансляции, на которых отвечает на вопросы из чата, показывает процесс улучшения проекта и рассказывает о текущем положении дел, отвечает на вопросы и общается с аудиторией. В Discord-канал можно обращаться и с вопросами, где такие же пользователи или помощники Миши ответят и помогут разобраться. Тем не менее, на канале видео с инструкциями.

Желаю использования без вылетов и багов.

Примечание: Статья предназначена для новичков, но, как минимум, потребуются базовые знания о Linux (структура файловой системы, права пользователей, навыки работы с терминалом).

Содержание.

  1. О Wine.
  2. Установка Wine в дистрибутивы на базе Ubuntu, включая Linux Mint 19.
  3. Удаление Wine.
  4. Использование Wine. Немного теории о префиксах (prefix).
  5. Использование Wine. Создание префиксов (prefix).
  6. Общая информация и ограничения префиксов.
  7. Конфигурирование Wine через GUI.
  8. winefile. Файловый менеджер Wine.
  9. Wine. Установка и запуск программ.
  10. Wine. Удаление установленной Windows-программы.
  11. Winetricks. Основы.
  12. Winetricks. Настройка префикса.
  13. Углубление в функционал Wine.
  14. Отладка.
  15. Практика.
  16. Чуть-чуть хитростей.

Почта для предложений и замечаний: feedback@noostyche.ru

О Wine.

https://ru.wikipedia.org/wiki/Wine

Много интересного по использованию Wine можно посмотреть так:

man wine

Руководство пользователя:

https://wiki.winehq.org/Wine_User’s_Guide

В основном устаревший перевод руководства, но некоторые вещи всё ещё актуальны:

https://www.opennet.ru/docs/RUS/wine_guide/index.html

Arch wiki (часть вещей устарела):

https://wiki.archlinux.org/index.php/Wine_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

Рецепты запуска конкретных программ и помощь от сообщества стоит искать здесь:

https://appdb.winehq.org

https://www.protondb.com

https://vk.com/native_wine

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

Установка в дистрибутивы на базе Ubuntu, включая Linux Mint 19.

https://wiki.winehq.org/Ubuntu

Для wine-staging, начиная с версии 4.5, требуется пакет libfaudio0. Для Ubuntu 19.10 и более новых выпусков этот пакет был добавлен в Universe-ветку репозитория, то есть в ветку с пакетами, поддерживаемыми сообществом.

Ещё libfaudio0 можно взять из этого репозитория:

https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/amd64/

https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/i386/

Для работоспособности Wine:i386 и Wine:amd64 потребуются пакеты соответствующей архитектуры.

Пример установки из репозитория:

sudo apt install --install-recommends libfaudio0

Пример установки скачанного пакета:

sudo apt install --install-recommends ~/Downloads/libfaudio0_19.07-0~bionic_i386.deb

Пример установки wine-staging в Linux Mint 19.

Рекомендую использовать именно wine-staging в виду того, что эта версия содержит множество дополнительных патчей, которые в значительной степени повышают шансы на успешный запуск той или иной программы. Недостатком этой версии является то, что она несколько менее стабильна, чем wine-stable, но в основном это не критично.

Первым шагом будет скачивание и добавление ключа:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

Linux Mint 19 использует репозиторий Ubuntu bionic. Подключить соответствующую ветку репозитория Wine:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

Обновить список пакетов:
sudo apt update

Установить wine-staging:
sudo apt install --install-recommends winehq-staging:amd64

Должны установиться winehq-staging:i386 и winehq-staging:amd64.

Основные компоненты wine-staging будут расположены в /opt/wine-staging/

Весь список компонентов и пути до них можно вывести следующей командой:

dpkg -L wine-staging

Удаление Wine.

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

Сначала отключить репозиторий Wine:
sudo add-apt-repository -r https://dl.winehq.org/wine-builds/ubuntu/

Вывести список всех ключей используемых репозиториев:
apt-key list

Найти ключ репозитория Wine и по последним четырём символам удалить его. Пример:
sudo apt-key del F987672F

Удалить непосредственно Wine:
sudo apt remove --auto-remove winehq-staging

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

Прочие префиксы нужно удалять вручную.

Обновить список репозиториев:
sudo apt update

После удаления Wine останутся иконки и некоторые пакеты. Их можно удалить вручную.

Место хранения ярлыков программ, установленных в Wine:
~/.local/share/applications/wine/

Место хранения иконок, включая тех программ, что установлены в Wine:

~/.local/share/icons/hicolor/

Кэш для установки таких пакетов, как wine-mono и wine-gecko:
~/.cache/wine/

Архив пакетов, которые устанавливались посредством winetricks в тот или иной префикс:
~/.cache/winetricks/

Использование Wine. Немного теории о префиксах (prefix).

Грубо говоря, префикс это отдельный экземпляр ОС Windows. Содержит в себе базовую структуру каталогов ОС Windows, набор библиотек и программ. В народе префикс называют «бутылкой» (bottle). Экземпляры компонентов для префикса хранятся в подкаталогах /opt/wine-staging/, откуда они копируются в создаваемый префикс.

В дистрибутивах Linux стандартный префикс располагается здесь:

~/.wine/

По умолчанию он 32-разрядной архитектуры.

Можно создавать префиксы в любых желаемых каталогах, принадлежащих пользователю. Описание процесса создания располагается далее по статье.

Примечание: Категорически недопустимо создание префиксов с правами суперпользователя. Это крайне небезопасно и пользователь не будет иметь прав с ним работать.

Стандартное содержимое префикса:

Описание иллюстрации:

  • В каталоге dosdevices перечислены виртуальные «диски». В Windows разделы блочных устройств представлены в виде абстрактных «дисков» (томов), каждый из которых обозначается буквой.  К примеру, системный «диск» по умолчанию называется «C:».
  • drive_c — виртуальный диск C:, на котором располагаются компоненты Windows.
  • .update-timestamp — метка времени.
  • system.reg, user.reg и userdef.reg являются файлами реестра Windows. Если кратко, то это централизованное древовидное хранилище настроек Windows-программ.

В каталоге drive_c (диск C:) содержится классическая структура каталогов Windows.

Использование Wine. Создание префиксов (prefix).

Пример создания и конфигурирования 64-х разрядного префикса с именем .wine_new в домашнем каталоге (home) активного пользователя:
WINEARCH=win64 WINEPREFIX="/home/$USER/.wine_new" winecfg

Примечание: Для присваивания значений переменным среды правильнее использовать команду env, но в виду того, что интерпретатор умеет определять переменные среды (их имена обязательно должны быть в верхнем регистре), env можно опустить для упрощения набора команды.

Разбор команды:

WINEARCH=win64 — через переменную среды (environment variable) WINEARCH указываем, что префикс должен быть создан под архитектуру amd64. Это позволит запускать в нём 64-разрядные программы, а так же 32-разрядные. Для лучшего понимания стоит ознакомиться с Multiarch. Стоит отметить, что нельзя изменить архитектуру у созданного префикса.

WINEPREFIX=»/home/$USER/.wine_new» — через переменную среды WINEPREFIX указываем, по какому пути должен будет располагаться новый префикс. В данном примере это «/home/$USER/.wine_new». Wine требует указания абсолютного пути. Путь в виде «~/.wine_new» не подойдёт, и будет выведена ошибка: wine: invalid directory ~/.wine_new in WINEPREFIX: not an absolute path.

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

winecfg — программа для конфигурирования префикса. После её запуска произойдёт процесс непосредственного создания префикса по указанному пути.

Сразу после выполнения увидим следующий вывод:

При первом создании префикса может быть предложено скачать пакеты Mono и Geko, но, начиная с Wine 5.0, они должны скачиваться вместе с установкой Wine без дополнительных запросов. В этом случае будет предложено просто установить их в префикс.

  • Библиотеки Mono нужны для корректной работы программ, которым необходим Microsoft .NET Framework.
  • Библиотеки Geko необходимы для корректной работы свободной реализации Internet Explorer (до Windows 10 стандартный интернет браузер в ОС Windows).

Пакеты будут размещены здесь:

~/.cache/wine/

После завершение создания префикса появится окно графического интерфейса (GUI) конфигуратора префикса (winecfg):

О настройках конфигуратора несколько далее по статье. На этом этапе его окно можно закрыть.

Объём свежесозданного префикса составит около 1,3 Гб.

По аналогии можно создать 32-разрядный префикс:
WINEARCH=win32 WINEPREFIX="/home/$USER/.wine_new32" winecfg

Общая информация и ограничения префиксов.

  • Зачем вообще создавать префиксы? Почему бы не ставить программы куда-попало в пространство Linux-пользователя и запускать их из любого удобного места? | Если установить программу вне префикса, то она может оказаться неработоспособной в виду различия иерархии путей в Linux и Windows. В остальном, на деле программа будет как бы установлена в стандартный префикс /home/$USER/.wine. Именно оттуда она будет взаимодействовать с системными компонентами Windows, включая реестр. Туда же она будет сохранять свои рабочие файлы (конфиги, логи и подобное). Поэтому во избежание ошибок, несовместимости и замусоривания оптимальнее осознанно использовать префиксы.
  • Можно создавать неограниченное количество префиксов.
  • Нежелательно устанавливать все программы в один префикс, лучше создавать новый под каждую программу. Это в значительной степени упростит отладку и поможет избежать конфликтов.
  • Можно настроить один префикс, копировать его и использовать копии в качестве отдельных префиксов. При этом можно свободно менять их имена.
  • После создания префикса, для запуска программ из него, не нужно каждый раз указывать его архитектуру. Пример запуска программы control.exe: WINEPREFIX="/home/$USER/.wine_new32" wine "/home/$USER/.wine_new32/drive_c/windows/system32/control.exe"
  • Да, для того, чтобы запустить программу из того или иного префикса, необходимо каждый раз передавать переменной окружения WINEPREFIX значение пути до желаемого префикса. Варианты упрощения этого описаны в конце статьи.
  • Не рекомендуется размещать префикс на разделе с файловой системой NTFS (основная файловая система OC Windows), так как могут быть проблемы с правами на запуск программ в префиксе и в целом это менее безопасно.
  • НЕЛЬЗЯ устанавливать в префикс Windows-драйвера для оборудования (видеокарт, звуковых карт и подобного). Потенциально это может привести к сбою устройства.
  • Можно одновременно запускать программы из разных префиксов. Это возможно благодаря отдельным процессам wineserver, о котором рассказывается во второй половине статьи.
  • В виду неполной изоляции префиксов, не стоит пытаться запускать вредоносные программы для Windows, так как потенциально они способны нанести вред Linux-системе. К примеру, запущенный в префиксе вирус-шифровальщик может зашифровать не только префикс, но и выйти за его пределы, зашифровав все каталоги и файлы, принадлежащие Linux-пользователю.
  • На момент 2020 года значительная часть античитов (BattlEye, Easy Anti-Cheat и прочие) отказывается работать в префиксе Wine. Из-за этого будет недоступен мультиплеер или игра может вовсе не запуститься. К примеру, серия игр Arma. Игры запускаются, но в сетевой игре доступны сервера только без защиты BattlEye.
  • Программы в префиксе запускаются с правами пользователя, который их запустил. То есть префикс не предоставляет изоляции от основной системы, поэтому безопасность (доверенность) запускаемых программ крайне важна. Очень желательно ограничить права доступа к префиксам. Рекомендую следующий уровень прав: для владельца разрешение на чтение, запись и выполнение; для его группы запрет всего; всем остальным запрет всего.

Пример применения прав к префиксу:

sudo chmod 700 -R ~/.wine/

-R — применить права рекурсивно для всех каталогов и файлов, включая вложенные.

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

Конфигурирование Wine через GUI.

Основная масса полезной информации по winecfg описана здесь: https://wiki.winehq.org/Winecfg

Поэтому ниже рассмотрены только некоторые вещи.

Основная масса полезной информации по winecfg описана здесь: https://wiki.winehq.org/Winecfg

Поэтому ниже рассмотрены только некоторые вещи.

Конфигурирование осуществляется для каждого префикса в отдельности. Пример:

WINEPREFIX="/home/$USER/.wine" winecfg

Язык интерфейса конфигуратора можно изменить следующей командой:

WINEPREFIX="/home/$USER/.wine" LANG="en_US.utf8" winecfg

В данном случае русский сменится на английский.

Так же это позволяет cоздать англофицированный префикс, если при создании передать значение en_US.utf8 переменной среды LANG:
WINEARCH=win64 LANG="en_US.utf8" WINEPREFIX="/home/$USER/.wine_new_prefix" winecfg

Таким образом получится англофицированный префикс, в котором каталоги Windows-пользователя будут на английском языке.

Вкладка «Приложения».

Одним из наиболее часто конфигурируемым параметром является выбор того, под какую версию Windows будет мимикрировать префикс. На момент 2020 года по умолчанию выбрана Windows 7. Полный список:

Эта опция особенно полезна для старых программ, которые требуют Windows XP.

Вкладка «Диски».

Здесь можно подключать виртуальные и физические разделы, виртуальные и физические DVD-приводы, сетевые диски и даже дисководы.

В данном случае подключено два виртуальных диска — C: и Z:. Диск C: является системным каталогом префикса, а диск Z: ведёт в корень файловой системы Linux. Второе в основном нежелательно, поэтому рекомендуется удалить этот виртуальный диск, тем самым изолировав префикс от основной системы. «Любопытным» программам будет сложнее выбраться за пределы префикса, что очень хорошо. При этом останется возможность указывать программам пути вне префикса вручную, то есть полная изоляция отсутствует.

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

Добавить виртуальный DVD-привод можно так:

То есть нажать кнопку «Добавить…», выбрать букву тома (в данном примере D:) и подтвердить. Далее в строке «Тип» выбрать CD-ROM. Останется указать путь до желаемого для монтирования образа DVD.

По аналогии можно добавить физический DVD-привод, выбрав его в строке «Устройство».

Вкладка «Вид и интеграция».

В этой вкладке основным является возможность выбора ассоциации стандартных каталогов Windows-пользователя, с домашними каталогами Linux-пользователя. Эта возможность располагается в блоке «Папки», он находится в нижней половине окна. Там показано то, какие каталоги Linux-пользователя соотносятся с каталогами Windows-пользователя в префиксе.

Стандартные каталоги Windows-пользователя располагаются в префиксе по следующему пути:

/home/$USER/.wine/drive_c/users/$USER/

Выглядит это так:

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

Можно легко изменить это ассоциирование, указав другие каталоги или вовсе убрав все ассоциации, что изолирует префикс от домашних каталогов пользователя (но не даёт полной изоляции). Для этого необходимо снять галку в блоке «Типы MIME» у пункта «Управлять ассоциациями файлов». Далее в блоке «Папки» появится возможность выбирать пункты и указывать им желаемые пути.Если убрать галку у пункта «Привязать к», то связь удалится и будет использоваться соответствующий каталог внутри префикса, то есть стандартный каталог Windows-пользователя: «./drive_c/users/$USER/Мои документы«, «./drive_c/users/$USER/Мои рисунки» и так далее. На иллюстрации ниже хорошо видно, что теперь для Windows-пользователя используются обычные каталоги, а не символические ссылки на каталоги Linux-пользователя.

Примечание: При удалении файлов из префикса они помещаются в «Корзину» Linux-пользователя.

winefile. Файловый менеджер Wine.

В некоторой степени является аналогом проводника Windows (explorer). Команда запуска:

WINEPREFIX="/home/$USER/.wine_new" wine winefile

Функционал схож с файловыми менеджерами в дистрибутивах Linux: Dolphin, Thunar и прочих. Можно создавать каталоги, запускать исполняемые файлы, подключать сетевые диски и так далее. На иллюстрации изображён случай без «изоляции» префикса, поэтому виден корневой каталог Linux (диск Z:). «Корзина» для префикса является «Корзиной» Linux-пользователя.

Далее по статье рассматривается установка программ из установочных Windows-файлов (exe, msi). Установку из этих файлов можно осуществить через файловый менеджер Wine, но в данном случае будет рассмотрен только вариант установки с использованием терминала.

Wine. Установка и запуск программ.

В обычном случае алгоритм установки программ следующий:

  1. Ищем запись о желаемой программе в базе Wine AppDB: https://appdb.winehq.org/
  2. Изучаем истории успешного запуска (или их отсутствие).
  3. Подготавливаем префикс по описанию. В зависимости от капризности программы, может потребоваться изменить версию Windows и установить те или иные пакеты расширений (С++ redistributable, .NET Framework, DirectX, Microsoft Media Foundation и прочие).
  4. Устанавливаем программу.

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

Пример установки клиента Steam.

Находим информацию о нём в базе Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=19444

Разворачиваем свиток «Test Results». В верхней половине будет отображён крайний отчёт пользователя, в котором он описывает свою историю запуска программы. Блок в нижней половине содержит в себе ссылки на отчёты других людей. Красной рамкой отмечена колонка, где можно переключать их.

Скачиваем клиент SteamSetup.exe.

Производим установку в конкретный ранее созданный префикс:
WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/Downloads/SteamSetup.exe"

Разбор команды:

wine «/home/$USER/Downloads/SteamSetup.exe« — запускаем посредством /opt/wine-staging/bin/wine исполняемый файл SteamSetup.exe, который расположен в пользовательском каталоге Downloads. Запускать исполняемые файлы можно из любого каталога Linux-пользователя, но потребуется указывать абсолютный путь.

После запуска SteamSetup.exe появится окно типичного мастера установки Windows:

В правой части иллюстрации видно, что программа устанавливается в указанный префикс, считая его ОС Windows.

Wine умеет преобразовывать создание ярлыков рабочего стола для Windows в ярлыки для рабочего стола и меню Linux. Тем самым можно будет запускать с ярлыка установленную в префикс Windows-программу. Файл ярлыка будет храниться здесь:

~/.local/share/applications/wine/

Набор иконок здесь:

~/.local/share/icons/hicolor/

Пример запуска программы напрямую из конкретного префикса:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/Program Files (x86)/Steam/Steam.exe"

Примечание: Для той части пути, которая внути префикса, регистр не имеет значения.

Альтернативный вариант запуска:
WINEPREFIX="/home/$USER/.wine" wine "C:/Program Files (x86)/Steam/Steam.exe"

Wine позволяет сократить путь до относительно префикса, имитируя путь в ОС Windows. Причём, как видно в примере, Wine поддерживает косую черту «/», не смотря на то, что в путях в Windows допустима только обратная косая черта «».

Wine. Установка программы из .msi установочника.

О пакетах msi можно почитать здесь: https://ru.wikipedia.org/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_Windows

Установка msi-пакетов в префикс несколько отличается от установочника в виде .exe. Пример установки EpicInstaller-10.15.2-unrealtournament.msi:

WINEPREFIX="/home/$USER/.wine" wine msiexec /i "/home/$USER/.wine/drive_c/EpicInstaller-10.15.2-unrealtournament.msi"

Альтернативный вариант:

WINEPREFIX="/home/$USER/.wine" wine start /unix "/home/$USER/.wine/drive_c/EpicInstaller-10.15.2-unrealtournament.msi"

Wine. Запуск bat-файлов («батников»).

Их запуск отличается от запуска exe-файлов. Пример запуска script.bat:
WINEPREFIX="/home/$USER/.wine" wine start /unix "/home/$USER/.wine/drive_c/script.bat"

Wine. Удаление установленной Windows-программы.

Это можно сделать несколькими способами.

Удаление через Wine-программу uninstaller («Установка/удаление программ»):

WINEPREFIX="/home/$USER/.wine" wine uninstaller

В списке выбрать программу, которую нужно удалить, и нажать кнопку «Изменить/Удалить». Запустится мастер установки-удаления программы.

Удаление конкретной программы без использования GUI:
WINEPREFIX="/home/$USER/.wine" wine uninstaller --remove название_программы

Пример удаления программы Steam:

WINEPREFIX="/home/$USER/.wine" wine uninstaller --remove steam

Регистр имени программы не имеет значения.

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

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/Program Files (x86)/Steam/uninstall.exe"

Альтернативный вариант через GUI. Метод тот же: удаление через программу «Установка/удаление программ», но через запуск из «Панели управления Wine». Для начала потребуется запустить «Панель управления Wine»:

WINEPREFIX="/home/$USER/.wine" wine control

Альтернативный способ запуска напрямую:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/windows/system32/control.exe"

В появившемся окне через ярлык запустить программу «Установка/удаление программ»:

Радикальным вариантом является удаление префикса целиком. Недостатком этого метода является то, что от программы останутся ярлыки и иконки. Придётся найти и зачистить их вручную.

~/.local/share/applications/wine/

~/.local/share/icons/hicolor/

Winetricks. Основы.

Руководство по использованию: https://wiki.winehq.org/Winetricks

winetricks — конфигурационный shell-скрипт, позволяющий быстро и просто настроить различные параметры Wine через терминал и установить Windows-библиотеки и компоненты, указав соответствующие имена пакетов. Тем самым winetricks в основном дублирует функционал winecfg, но имеет дополнительные полезные возможности.

Официальный репозиторий: https://github.com/Winetricks/winetricks

Тело скрипта (крайняя версия): https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks

Скачивание из официального репозитория в ~/.local/bin/:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -P ~/.local/bin/

Почему именно в ~/.local/bin/? Это каталог для скриптов и исполняемых файлов пользователя. Размещение скрипта в этом каталоге позволит запускать winetricks через терминал для любого префикса без указания абсолютного пути до winetricks.

Если до этого в каталоге не было никаких исполняемых файлов, то потребуется перезапустить сеанс или скрипт профиля пользователя:

source ~/.profile

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

Рекомендую назначить такой уровень прав:
sudo chmod 700 ~/.local/bin/winetricks

Активный пользователь получит право на чтение, запись и запуск, его группа — всё запрещено, остальным — всё запрещено.

Вывести номер версии winetricks:
winetricks --version

Справка о winetricks:
winetricks --help

winetricks может самообновляться по команде:
winetricks --self-update

При этом будет сохранена резервная копия предыдущей версии.

Откатиться на предыдущую версию:

winetricks --update-rollback

Многие манипуляция с winetricks можно произвести в графическом режиме. Запуск winetricks в графическом режиме для конкретного префикса:
WINEPREFIX="/home/$USER/.wine" winetricks

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

В этом меню ключевыми являются две опции: «Установить библиотеку DLL или компонент Windows» и «Установить шрифт».

Опция «Установить библиотеку DLL или компонент Windows».

Здесь перечислены все библиотеки и компоненты, которые winetricks может скачать и инициализировать установку. Например, можно установить в префикс DirectX или отдельные его библиотеки. Не всё из представленного актуально и работоспособно, поэтому нужно действовать внимательно. Стоит отметить, что в рекомендациях на https://appdb.winehq.org/ попадаются советы с перечислением целой вереницы пакетов к установке, тут нужно учитывать, что люди нередко предлагают устанавливать всякую всячину для «подстаховки», поэтому так лучше не делать и постараться установить только действительно необходимые пакеты.

Скачивание производится с сайтов поставщиков (преимущественно Microsoft), так как лицензия многих библиотек и компонентов для ОС Windows не позволяет помещать их в общественные репозитории. Без winetricks пришлось бы самостоятельно перейти на сайт поставщика, найти в его дебрях нужный пакет, найти кнопку скачать (нередко, эта задача то ещё приключение) и наконец заполучить заветный установщик. Таковы реалии Windows на момент 2020 года.

Так же winetircks предоставляет возможность установить библиотеки или компонент напрямую через терминал:

WINEPREFIX="/home/$USER/.wine" winetricks "название_пакета"

Пример установки Microsoft Media Foundation, который часто необходим для работоспособности видеороликов в играх на Unreal Engine 4:

WINEPREFIX="/home/$USER/.wine" winetricks mf

В этой простой операции есть нюанс. Для установки ряда пакетов потребуется распаковщик cab-архивов, которые довольно широко применяются в Windows:
sudo apt install cabextract

После этого установка Microsoft Media Foundation пройдёт успешно:

Можно установить несколько пакетов в одну команду:
WINEPREFIX="/home/$USER/.wine" winetricks d3dx9 vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015

winetricks позволяет вывести список всех доступных для загрузки библиотек через терминал, что избавляет от необходимости искать в графическом интерфейсе:

winetricks dlls list

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

winetricks dlls list | grep -i "c++"

Опция «Установить шрифт».

Эта возможность требуется довольно часто. В префиксе не может быть шрифтов, которые защищены лицензией, но немало программ, которые требуют такие шрифты. К примеру, Arial и Times New Roman. Когда программа не находит в префиксе нужный шрифт и при этом не умеет использовать имеющиеся, то в ней попросту не будет отображаться текст. К примеру, это актуально для Epic Games Launcher.

Чаще всего требуется пакет шрифтов corefonts, в том числе для упомянутого Epic Games Launcher. В этот пакет как раз входят шрифты Arial, Courier и Times. Через терминал установка выглядит так:

WINEPREFIX="/home/$USER/.wine/" winetricks corefonts

В префиксе шрифты хранятся по следующему пути:

/home/$USER/.wine/drive_c/windows/Fonts/

В этот каталог можно вручную помещать шрифты в формате .ttf.

Куда winetricks скачивает пакеты перед их установкой?

Все скачанные с помощью winetricks пакеты складируются здесь:

~/.cache/winetricks/

Можно вывести весь список пакетов, которые находятся в кэше:

winetricks list-cached

Winetricks. Настройка префикса.

Вывести список настроек префикса:
winetricks settings listТоже самое в графическом режиме:

Из приведённого списка очевидно, что winecfg, который был рассмотрен ранее, предоставляет существенно более скромные возможности конфигурирования. Впрочем, многое из доступных опций не стоит трогать. Ниже рассмотрены часто применяемые и просто полезные.

Так как с графическим режимом всё понятно, далее речь пойдёт о настройке опций через терминал.

Переключить версию Windows:
WINEPREFIX="/home/$USER/.wine" winetricks win7
По аналогии: winxp, win8, win10

Через winetricks намного удобнее и проще осуществить «изоляцию» префикса, которая рассмотрена в первой половине статьи. Основной её целью является убрать прямой доступ из префикса к домашнему каталогу Linux-пользователя и к корню системы (диск Z:). Это осуществляется следующей командой:
WINEPREFIX="/home/$USER/.wine" winetricks sandbox

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

Углубление в функционал Wine.

wineserver.

Это специальный демон (служба, сервис), который выполняет роль ядра ОС Windows. Для каждого префикса запускается свой демон, что позволяет одновременно выполнять несколько программ из разных префиксов.

Справка:

man wineserver

Порой программа может зависнуть намертво, здесь поможет жёсткий перезапуск wineserver. Эффект схож с нажатием кнопки Reset. В этом случае произойдёт жёсткая перезагрузка префикса (Windows), но не основной системы (Linux). Команда выглядит так:

WINEPREFIX="/home/$USER/.wine" wineserver -k

wineboot.

Это программа, которая выполняет инициализацию, запуск и перезагрузку префикса. Так же она выполняет симуляцию завершения работы и перезапуска для программ, запущенных в префиксе.

Справка:

man wineboot

Мягкая перезагрузка префикса. Это полезно для программ, которые требуют перезагрузки ОС Windows после своей установки:
WINEPREFIX="/home/$USER/.wine" wineboot -r

Создание префикса через wineboot:

WINEPREFIX="/home/$USER/.wine-new-prefix" wineboot -i

-i — инициализировать префикс.

Альтернативный вариант:

WINEPREFIX="/home/$USER/.wine-new-prefix" wineboot -u

-u — обновить конфигурацию префикс.

taskmgr — «Диспетчер задач».

Программа «Диспетчер задач» является аналогом системного монитора (gnome system monitor и подобных):
WINEPREFIX="/home/$USER/.wine" wine taskmgr

Реестр Windows и его редактирование в Wine.

Файлы реестра system.reg, user.reg и userdef.reg создаются после конфигурирования префикса. Пример пути расположения:

/home/$USER/.wine/

Их можно редактировать любым текстовым редактором.

  • system.reg содержит ветвь HKEY_LOCAL_MACHINE.
  • user.reg — HKEY_CURRENT_USER.
  • userdef.reg — HKEY_HKEY_USERS.Default (содержит настройки Windows-пользователя по умолчанию).

Для более удобной работы с реестром в Wine реализован аналог редактора реестра Windows — regedit. Для его запуска нужно выполнить:
WINEPREFIX="/home/$USER/.wine" regedit
Альтернативный вариант:
WINEPREFIX="/home/$USER/.wine" wine /home/$USER/.wine/drive_c/windows/regedit.exe

Примечание: Импорт рееста (куста) непосредственно из ОС Windows сломает префикс Wine.

Настройки, которыми можно управлять через winecfg и winetricks, сохраняются в реестр, а именно в HKEY_CURRENT_USERSoftwareWine:

Подробно об этом рассказывается здесь: https://wiki.winehq.org/Useful_Registry_Keys

Виртуальный рабочий стол в Wine.

Имитирует рабочий стол Windows. Обычно используется для программ, которые плохо сворачиваются (Alt + Tab) или сбивают разрешение экрана для Linux. Причём сбивают так, что приходится выполнять команду xrandr -s 0 для восстановления исходного разрешения экрана. При использовании виртуального рабочего стола Wine после завершения программы разрешение экрана восстанавливается автоматически.

Рабочий стол можно включить через winecfg:

На иллюстрации выше в отмеченном поле можно настроить разрешение вирутального рабочего стола. Можно установить такое же разрешение, как в Linux или такое, какое максимально поддерживает запускаемая программа. К примеру, игра Diablo 2 поддерживает разрешение максимум 800×600, поэтому для виртуального рабочего стола такое разрешение будет оптимальным.

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

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

Виртуальный рабочий стол можно запустить принудительно для программы в конкретном префиксе без настраивания через winecfg:

WINEPREFIX="/home/$USER/.wine" explorer /desktop="name_desktop",1920x1080 regedit

Разбор команды:

explorer — Wine-реализация проводника (файлового менеджера) Windows.

/desktop=»name_desktop»,1920×1080 regedit — создать рабочий стол с именем name_desktop и разрешением 1920×1080; запустить программу regedit — Wine-реализация программы редактирования реестра Windows.

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

Так же вирутальным рабочим столом можно управлять через winetricks без использования winecfg.

Включение использования виртуального рабочего стола:
winetricks vd=1920x1080
Отключение:
winetricks vd=off

Если разрешение экрана всё-таки не восстановилось после завершения работы Windows-программы, то это исправит следующая команда:
xrandr -s 0

wineconsole.

Программа для работы с командной строкой в рамках префикса. Полезна для запуска программ и bat-скриптов так, как это было бы через интерпретатор командной строки Windows (cmd.exe), а так же для отладки.

Справка:

man wineconsole

Запуск командной строки Windows (cmd.exe) через wineconsole:

WINEPREFIX="/home/$USER/.wine" wineconsole cmd

Отладка.

Официальная документация:

https://wiki.winehq.org/Wine-Staging_Debug

https://wiki.winehq.org/Debug_Channels

Отключить показ диалога падения программы в Wine:
WINEPREFIX="/home/$USER/.wine" winetricks nocrashdialog

Ниже приведённые команды полезны для локализации проблем в работе программы. К примеру, по характерному выводу можно определить какой Windows-библиотеки не хватает для успешного запуска программы. Так же команды отладки необходимы для составления отчётов об ошибках, чтобы разработчики Wine знали о проблемах с той или иной программой.

Вывести ход выполнения программы game.exe в файл wine-log.txt, который будет сохранён в ~/:
WINEPREFIX="/home/$USER/.wine" wine "C:/games/my_game/game.exe" &> wine-log.txt

Вывести в файл wine-log.txt только ошибки и предупреждения в ходе выполнения программы:

WINEDEBUG=-all,+err,+warn WINEPREFIX="/home/$USER/.wine" wine "C:/games/my_game/game.exe" &> wine-log.txt

Вывести в файл wine-setup-log.txt ход установки программы из установочного файла setup.exe:
WINEDEBUG=+text,+file,+reg,+relay WINEPREFIX="/home/$USER/.wine" wine "C:/setup.exe" &> wine-setup-log.txt

Вывести в файл wine-dll-log.txt список Windows-библиотек (dll), используемых в процессе запуска программы:

WINEDEBUG=+loaddll WINEPREFIX="/home/$USER/.wine" wine notepad &> wine-dll-log.txt

builtin — встроенная библиотека Wine, то есть созданная разработчиками Wine.

native — «родная» библиотека Windows.

Практика.

Нюансы запуска S.T.A.L.K.E.R. на Linux — пример варианта указания рабочего каталога вручную.

Запуск CRYENGINE 5 на Linux.

Решение проблемы «Bad serial given in setup» в Arma через редактирование реестра в префиксе.

Монтирование виртуального CD-ROM для Wine.

Использование Wine и Proton для запуска игры и сервера Conan Exiles.

Запуск Epic Games Launcher посредством Wine.

Установка русификатора для игры из Steam.

В виду того, что Proton (Steam Play) представляет собой модифицированный Wine, они хорошо совместимы между собой. Поэтому для Proton-префикса можно использовать стандартные инструменты Wine. В примере будет рассмотрена установка русификатора для Borderlands GOTY Enhanced. С нюансами подготовки игры к запуску можно ознакомиться здесь: https://www.protondb.com/app/729040

Игра по умолчанию будет установлена сюда:

/home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/

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

/home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/

То есть игра находится вне префикса. В этом особенность Proton.

Для начала установки, необходимо запустить установочный файл русификатора — Borderlands_TTL.exe.

WINEPREFIX="/home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx" wine "/home/$USER/Downloads/Borderlands_TTL.exe"

Wine может предложить установить Mono и Gecko — отказываемся, для префикса игры это ни к чему.

Должно появиться окно мастера установки:

Мастер сообщит, что не может найти игру:

Это не удивительно, так как игра находится вне префикса. Здесь есть два варианта решения:

  1. Создать в префиксе символическую ссылку на каталог игры, тогда мастер сможет обнаружить игру и продожить установку. То есть создать символическую ссылку с именем BorderlandsGOTYEnhanced по пути /home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/drive_c/Program Files/, которая будет ссылаться на каталог с установленной игрой /home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/.
  2. Указать русификатору абсолютный путь до каталога игры. На иллюстрации виден тот самый «диск Z:», который является символической ссылкой на корневой каталог Linux. Через него можно указать желаемый катлог Linux-пользователя.

После завершения установки игра будет русифицирована.

Чуть-чуть хитростей.

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

  • Для упрощения запуска программы из префикса рекомендую использовать shell-скрипт (sh) с командой на запуск. Cкрипт оптимально разместить в ~/.local/bin/, что позволит осуществлять запуск через терминал по имени скрипта без указания абсолютного пути до него.
    • На скрипт можно создать кнопку для меню запуска и разместить её на рабочей панели.
  • Ещё одним вариантом является использование символических ссылок. Если префикс находится на другом разделе, то для него можно создать символическую ссылку и разместить её в домашнем каталоге пользователя, что позволит сократить путь в команде. К примеру, префикс находится в /mnt/my_second_hdd/games/wine-prefix, можно создать символическую ссылку и разместить её в /home/$USER/. Пример команды работы с префиксом через символическую ссылку: WINEPREFIX="/home/$USER/wine-prefix" winecfg

Почта для предложений и замечаний: feedback@noostyche.ru

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

Как запустить Windows-приложение в Linux

Содержание

  1. Можно ли запустить Windows-приложение в Linux?
  2. Обзор инструментов Wine, Winetricks и PlayOnLinux
  3. Установка и запуск Windows-приложения в Linux
  4. Шаг 1 – Установка Wine
  5. Шаг 2 – Скачивание установочного файла программы
  6. Шаг 3 – Установка программы
  7. Шаг 4 – Запуск программы
  8. Видео-инструкция

Для начала обязательно отмечу, что Linux – это совсем другая платформа, не Windows и не совместимая с ней, поэтому абсолютно любая программа или игра, разработанная для Windows, запускается только на Windows.

На заметку! Новичкам рекомендую почитать мою книгу «Linux для обычных пользователей» – в ней я подробно рассказываю про основы операционной системы Linux, и как пользоваться этой системой без командной строки.

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

Обзор инструментов Wine, Winetricks и PlayOnLinux

Итак, если у Вас все-таки остро стоит задача запустить Windows-кую программу в Linux, то существует специальная программа под названием Wine.

Скриншот 1

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.

Скриншот 2

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

Однако работа с PlayOnLinux и, в частности, с Wine непредсказуемая, иными словами, стандартного сценария установки программ нет, в процессе установки любой программы могут (и, наверное, будут) появляться различные ошибки, например, отсутствие какого-нибудь пакета или еще что-нибудь.

Курс по SQL для начинающих

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

Но, как говорится, если Вы не ищете легких путей, то можете установить 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.

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

Скриншот 3

Потом программа Wine попросит загрузить и установить необходимые для корректной работы пакеты (в случае их отсутствия в системе). Нажимаем «Установить» и ждем окончания процесса установки этих пакетов.

Скриншот 4

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

Более подробно посмотреть на процесс установки Notepad++ Вы можете в материале – Установка Notepad++ в Linux Mint

Шаг 4 – Запуск программы

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

Скриншот 5

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

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

Да и тогда, когда установка пройдет успешно, никто не дает гарантии, что приложение будет работать корректно, т.е. так же как в Windows.

Видео-инструкция

На сегодня это все, надеюсь, материал был Вам полезен, пока!

В наши дни многие люди переходят на Linux. При переходе на эту новую платформу пользователям часто приходится искать альтернативы популярным программам Windows, которые они использовали ранее. Когда дело доходит до программ замены, платформа Linux по большей части покрывает это. Некоторые программы можно заменить; Photoshop можно заменить на Gimp, а Microsoft Office — на Libre Office. Многие основные программы Windows имеют альтернативы с открытым исходным кодом. Однако нет альтернативы для каждой отдельной программы. Есть некоторые приложения, которые понадобятся пользователям Windows, и альтернативы нет. К счастью, существует программный проект, позволяющий запускать приложения Windows в Linux. Программа называется Wine. Он создает уровень совместимости программ Windows для взаимодействия с операционной системой Linux.

ОПОВЕЩЕНИЕ СПОЙЛЕРА: прокрутите вниз и посмотрите видеоурок в конце этой статьи.

Установить Wine

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

Ubuntu

sudo apt install wine-stable

Debian

sudo apt-get install wine

Fedora

sudo dnf wine

Arch Linux

sudo pacman -S wine

OpenSUSE

sudo zypper install wine

Другой

Запуск приложений Windows

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

Через Терминал

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

Примечание: если ваш EXE-файл отсутствует в папке «Загрузки», а находится в другом месте, измените команду в соответствии со своими потребностями. ~ / = / home / имя пользователя.

cd ~/Downloads

Затем используйте команду Wine для запуска программы.

wine windowsprogram.exe

Через файловый менеджер

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

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

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

Вернитесь в файловый менеджер и дважды щелкните exe. Wine откроет приложение Windows и запустит его.

Винные помощники

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

PlayOnLinux

Для тех, кто хочет использовать Wine для установки игр для Windows, PlayOnLinux — очевидный выбор. Он поставляется с набором помощников, которые делают установку множества различных игр для Windows невероятно простой. Просто воспользуйтесь строкой поиска, найдите понравившуюся игру и нажмите кнопку «Установить». PlayOnLinux устанавливает все, что нужно игре для запуска (даже такие вещи, как среда выполнения Windows, которая требуется игре). PlayOnLinux входит в состав большинства основных дистрибутивов Linux. Чтобы установить его, откройте терминал и введите следующую команду. Либо откройте программный инструмент, поставляемый с вашим дистрибутивом Linux, и выполните поиск «PlayOnLinux».

Ubuntu

sudo apt install playonlinux

Debian

sudo apt-get install playonlinux

Fedora

sudo dnf install playonlinux

Arch Linux

sudo pacman -S playonlinux

OpenSUSE

sudo zypper install playonlinux

CrossOver

Кроссовер, как и PlayOnLinux, — это программное обеспечение, разработанное на основе фреймворка Wine. Однако, в отличие от PlayOnLinux, это программное обеспечение является платным. Это позволяет пользователям делать «винные бутылки». Винные бутылки позволяют программному обеспечению Windows работать независимо от остальной системы. Это означает, что если у пользователя есть программа, которая требует Windows 2000, а другая — Windows 10 или 8, они получают свои собственные бутылки.

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

Заключение

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

Понравилась статья? Поделить с друзьями:
  • Запуск образа диска iso в windows 10
  • Запуск пользователя по умолчанию windows 10
  • Запуск поиска обновлений в командной строке windows 10
  • Запуск обновления windows xp через командную строку
  • Запуск пк с флешки без жесткого диска windows 7