Докер Wine для всех дистрибутивов Linux

Докер Wine для всех дистрибутивов Linux
Введение в проект
Deepin Wine — это версия для всех дистрибутивов Linux, основанная на deepin-wine и использующая двоичные файлы deepin.
Проект использует Docker в качестве среды выполнения контейнера, что упрощает управление, удаление, деинсталляцию, упаковку и миграцию.
Этот проект предназначен только для личного изучения и исследований. Автор надеется, что он будет полезен для вас. Вы также можете сделать форк или перепечатать его (с указанием источника).
Необходимые условия для запуска
- Операционная система: Linux.
- Программное обеспечение: Docker.
Если ваша система не имеет Docker, пожалуйста, выполните следующую команду для установки Docker:
curl -fsSL https://get.docker.com|bash
# Если вы используете эту команду, но всё ещё не можете установить, перейдите на официальный сайт Docker для просмотра документации по установке.
Поскольку Docker требует, чтобы версия ядра системы была не ниже 2.6.32, если версия ядра не соответствует требованиям, вам необходимо скомпилировать ядро самостоятельно. Для этого вы можете обратиться к этой ссылке.
Получение
# Клонируйте этот репозиторий
git clone https://github.com/RokasUrbelis/docker-wine-linux.git
# Перейдите в репозиторий
cd docker-wine-linux
Запуск и использование
(1)
В настоящее время протестированы только приложения QQ/TIM/百度网盘/迅雷极速版/Foxmail. Если вы хотите установить другое программное обеспечение, вы можете перейти на зеркало Alibaba Cloud для загрузки соответствующего пакета deb, переместить его в каталог deb и затем выполнить bash run.sh.
Обратите внимание, что эти пакеты разработаны для deepin и используются в образах Ubuntu. Во время использования могут возникнуть непредвиденные ситуации. Это нормально и не гарантирует полной совместимости. Рекомендуется использовать только при наличии реальной необходимости. Я протестировал несколько приложений, и они работают без проблем.
Если вам не нужно устанавливать дополнительное программное обеспечение, просто выполните:
Поскольку необходимо создать образ Docker и клонировать deepin-wine-ubuntu, первый запуск run.sh может занять некоторое время (примерно 2–5 минут, в зависимости от пропускной способности и конфигурации оборудования).
(2)
После выполнения run.sh контейнер будет автоматически создан и запущен в фоновом режиме. Вам будет сообщён идентификатор контейнера и соответствующая команда для запуска приложения (по умолчанию TIM). Команда запуска выглядит следующим образом:
source start.sh -i Идентификатор контейнера Имя приложения
# После выполнения этой команды может потребоваться подождать 10–30 секунд, в зависимости от скорости отклика системы.
Список имён приложений можно просмотреть с помощью команды bash start.sh --help. Имена приложений не чувствительны к регистру и могут быть запущены.
(3)
Важное напоминание:
- Поскольку Wine иногда нестабилен, после завершения работы приложения и обнаружения того, что страница не отображается или мышь не реагирует, либо происходит сбой, это нормально. Вино иногда стесняется (после нескольких запусков оно обычно работает нормально), и в этом случае вам нужно убить фоновый pid или удалить контейнер, чтобы освободить системные ресурсы, или просто перезапустить run.sh.
- Если вы стремитесь к стабильности, рекомендуется запускать каждое приложение Wine в отдельном контейнере (то есть каждый раз перед запуском приложения сначала запускать run.sh), а не совместно использовать один контейнер. Это облегчает управление и снижает вероятность сбоя.
Из моего опыта, использование одного контейнера для запуска всех приложений также редко приводит к сбоям, и потребление системных ресурсов также относительно невелико (если у вас нет обсессивно-компульсивного расстройства, я рекомендую этот метод запуска приложений Wine).
Часто задаваемые вопросы
(1):card_file_box: Проблемы с путём передачи файлов в процессе использования приложения
- После выполнения run.sh будет создан каталог APP_PATH (далее именуемый этим каталогом). Этот каталог уже сопоставлен с каталогом /root вашего текущего контейнера. Файлы, загруженные пользователями, будут храниться в подкаталогах этого каталога.
- Только когда пользователь входит в приложение, соответствующий каталог пользователя создаётся в каталоге APP_PATH. Пользователи могут копировать файлы, которые они хотят загрузить, в этот каталог, а затем загружать их в приложение.
- Файлы, скачанные из приложения, лучше всего скопировать в домашний каталог или другой каталог для открытия, поскольку доступ к этим файлам невозможен, когда контейнер находится в состоянии бездействия, и при удалении операции все файлы в контейнере будут удалены.
- Повторный запуск контейнеров или приложений не повлияет на путь к файлу, и этот каталог является общим пространством для всех приложений. Поэтому не беспокойтесь о проблемах с конфликтом путей к файлам и т. д.
(2)
Проблема освобождения ресурсов (через удаление контейнеров)
- Каждый раз, когда выполняется run.sh, создаётся новый контейнер. Когда система перезагружается, эти контейнеры переходят в состояние выхода, и вы больше не будете их использовать. Со временем количество контейнеров может занимать много места на диске. Просто выполните bash clear.sh для освобождения ресурсов.
- Рекомендуется выполнять эту операцию хотя бы раз в месяц (лучше ежедневно). Конкретное время выполнения зависит от того, достаточно ли у вас системных ресурсов и сколько контейнеров открыто. Эту операцию можно сочетать с crontab.
- При выполнении clear.sh все контейнеры, связанные с образом docker-wine-linux, будут удалены. Перед этим убедитесь, что важные файлы, переданные через приложение, были скопированы в каталог APP_PATH.
(3)
Значок на панели задач (рабочий стол GNOME)
Поддерживаемые приложения
Поддерживаемые в настоящее время приложения включают (постоянно обновляется):
Как удалить
- Выполните bash uninstall.sh.
Спасибо
Проект в основном основан на deepin-wine-ubuntu (этот проект в основном ориентирован на Ubuntu). Я просто использую контейнеры для объединения с хост-системой, чтобы сделать его доступным для всех выпусков. Если я смотрю дальше, то это потому, что я стою на плечах гигантов.
Участие и вклад
- Поставьте звезду/форкните этот проект.
- Создайте ветку Feat_xxx.
- Отправьте код.
- Создайте запрос на вытягивание.
Скриншоты запуска
:camera_flash: Ниже приведены скриншоты запуска на Debian (другие выпуски также поддерживаются):
(百度网盘&TIM)

(迅雷&WeChat)

(3D вид)

Этот проект использует deepin-wine-ubuntu в качестве базовой среды, ubuntu:latest в качестве контейнера Docker, создавая набор контейнеров для запуска приложений и выводя графику на хост DISPLAY.
Опубликовать ( 0 )