一个能让Linux用户更加方便运行Windows应用的程序,内置了对wine图形话的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等。同时也内置了基于VirtualBox制作的小白Windows虚拟机安装工具,可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等

一个能让Linux用户更加方便运行Windows应用的程序,内置了对wine图形话的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等。同时也内置了基于VirtualBox制作的小白Windows虚拟机安装工具,可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等

Property
Aug 20, 2022 12:14 PM
Status
Date
URL
https://github.com/gfdgd-xi/deep-wine-runner
notion image

notion image

Wine 运行器

介绍

一个图形化了以下命令的程序
env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
让你可以简易方便的使用 wine 是使用 Python3 的 tkinter 构建的 (自己美术功底太差,图标只能在网络上找了) (测试平台:deepin 20.6;UOS 家庭版 21.3.1;Ubuntu 22.04)
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
/XXX
├── DEBIAN
│ └── control
│ └── postrm(可选)
└── opt
└── apps
 └── XXX
 ├── entries
 │ ├── applications
 │ │ └── XXX.desktop
 │ └── icons
 │ └── hicolor
 │ └── scalable
 │ └── apps
 │ └── XXX.png(XXX.svg)
 ├── files
 │ ├── files.7z
 │ └── run.sh
 └── info

11 directories, 6 files

软件架构

i386 和 amd64,deepin-wine、deepin-wine5、wine、wine64、deepin-wine5-stable、deepin-wine6-stable、spark-wine7-devel、ukylin-wine 运行在哪就运行在哪 理论上支持全架构,如果 Python 能运行的话

使用说明

均在软件的“小提示”里有说明

运行器

1、使用终端运行该程序,可以看到 wine 以及程序本身的提示和报错; 2、wine 32 位和 64 位的容器互不兼容; 3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装) 4、本程序支持带参数运行 wine 程序(之前版本也可以),只需要按以下格式即可:
exe路径\' 参数 \'
即可(单引号需要输入) 5、wine 容器如果没有指定,则会默认为 ~/.wine 6、如果可执行文件比较大的话,会出现点击“获取该程序运行情况”出现假死的情况,因为正在后台读取 SHA1,只需要等一下即可(读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关) 7、对于非 X86 的用户来说,请不要使用本程序自带的 Wine 安装程序和 Windows 虚拟机安装功能(检测到为非 X86 架构会自动禁用) 8、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序 9、在使用 linglong 包的 Wine 应用时,必须安装至少一个 linglong 的使用 Wine 软件包才会出现该选项,而程序识别到的 Wine 是按 linglong 的使用 Wine 软件包名的字母排序第一个的 Wine,且生成的容器不在用户目录下,而是在容器的用户目录下(用户目录/.deepinwine、/tmp、桌面、下载、文档等被映射的目录除外),同理需要运行的 EXE 也必须在被映射的目录内 10、如果是使用 Deepin 23 的 Wine 安装脚本,请切记——安装过程会临时添加 Deepin 20 的 apt 源,不要中断安装以及千万不要中断后不删除源的情况下 apt upgrade !!!中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可。以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。

打包器

1、deb 打包软件包名要求: 软件包名只能含有小写字母(a-z)、数字(0-9)、加号(+)和减号(-)、以及点号(.),软件包名最短长度两个字符;它必须以字母开头 2、如果要填写路径,有“浏览……”按钮的是要填本计算机对应文件的路径,否则就是填写安装到其他计算机使用的路径 3、输入 wine 的容器路径时最后面请不要输入“/” 4、输入可执行文件的运行路径时是以“C:/XXX/XXX.exe”的格式进行输入,默认是以 C: 为开头,不用“\”做命令的分隔,而是用“/” 5、.desktop 的图标只支持 PNG 格式和 SVG 格式,其他格式无法显示图标
notion image

基于统信 Wine 生态适配脚本的打包器

第一个文本框是应用程序中文名 第二个文本框是应用程序英文名 第三个文本框是最终生成的包的描述 第四个选择框是desktop文件中的分类 第五个输入框是程序在 Wine 容器的位置,以 c:\XXX 的形式,盘符必须小写,用反斜杠,如果路径带用户名的话会自动替换为$USER 而 StartupWMClass 字段将会由程序自动生成,作用如下: desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与desktop文件相对应。这个值为实际运行的主程序EXE的文件名,wine/crossover在程序运行后会将文件名设置为窗口类名 第六个输入框是最终生成的包的包名,包名的命名规则以deepin开头,加官网域名(需要前后对调位置),如还不能区分再加上应用名 最后一个是最终生成的包的版本号,版本号命名规则:应用版本号+deepin+数字
notion image

更新日志

2.0.0(2022年08月13日)

※1、修复了重复路径一直自动重复增加的问题※2、修复了两个打包器打包错误的问题(非基于生态活动脚本的为 wine 导入错误,基于生态活动脚本的为架构有误导致打包出的 deb 无法打包)※3、适配了部分非 i386、amd64 架构计算机的 UOS 系统使用的 wine 并支持打包非 i386、amd64 架构计算机的 UOS 系统使用的 wine 程序 deb 包※4、支持安装 dxvk(遵守 Zlib 开源协议)※5、运行器、打包器(包括非基于生态适配活动脚本制作的)支持使用 Wine 生态适配活动的容器清理脚本※6、支持更加简易的安装最新版的 WineHQ※7、增加字体商店※8、新增查看可执行文件运行情况的功能 9、支持不显示没有安装的 Wine,方便用户识别 10、修改了 Wine 的顺序使其更加合理 11、支持删除安装 exe 后在启动器的快捷方式 12、优化了 Wine 打包器(非基于生态活动脚本)对容器的处理 13、修复了 Wine 打包器(非基于生态活动脚本)打包出的 deb 安装时显示为解压缩后会消耗 0 B 的额外空间以及 postrm 的一些问题 14、支持删除无需使用的程序组件 15、支持组件/运行库下载后缓存方便下次使用(可以清理) 16、点击获取图标按钮后会自动读取 exe 框的程序图标(不支持相对路径和包内路径,只支持绝对路径)
notion image

1.8.0(2022年08月03日)

※1、修复了打包器(非基于活动脚本) control、postrm 写入文件颠倒的问题※2、内置一个微型的 Windows 应用商店(应用来源:腾讯软件管家)※3、初步支持 deepin 23(添加基于 linglong Wine 的运行方式,需要安装一个 linglong 包的 使用 Wine 应用;添加从 Deepin 20 源获取 Wine 的安装方式) 4、更新了打包器(非基于活动脚本)调用星火 spark-wine-helper 的 run.sh 脚本格式 5、修复了打包器(基于活动脚本)在 dde-top-panel 和 dde-globalmenu-service 下无法打开帮助提示的问题 6、支持屏蔽 Wine 默认的 Mono、Gecko 安装器(屏蔽方法来自星火应用商店审核组和提供的新 run.sh 标准)
notion image
notion image

1.7.1(2022年07月29日)

※1、更换为 @PossibleVing 提供的程序图标※2、修改了统信 Wine 生态适配活动的脚本,支持在非 UOS 系统打包※3、修复了打包器在打包应用未指定图标的情况下显示对话框后强制退出的问题 4、修改 .net framework 3.5 的安装包,从在线版改为本地版 5、支持设置主题 6、添加 Geek Uninstaller 手动升级脚本
notion image

1.7.0(2022年07月19日)

※1、界面大改造,从使用 Tkinter 改为 Qt,参考了 @134******28 和 @sgb76 提供的设计方案和代码
※2、添加了基于 UOS 生态适配活动打包脚本的打包器,以及基于 Virtualbox 的简易 Windows 镜像安装工具※3、将 pip 由阿里源改为华为源,提升下载安装速度,并删除使用 pip 下载库的功能(已不需要,废弃) 4、添加 @delsin 和 @神末shenmo 建议的 postrm 脚本 5、优化多屏窗口居中问题 6、修复 1.6.0 程序无法保存设置的问题 7、修复 1.6.0 的更新程序无法正常更新的问题 8、升级 Geek Uninstaller 版本
notion image

1.6.0(2022年07月10日)

※1、新增程序感谢、谢明以及程序的建议和问题反馈和内置更新程序※2、支持 winetricks 指定 Wine 打开※3、新增窗口透明工具,感谢@a2035274 和 @虚幻的早晨 在论坛的讨论※4、支持在指定容器、Wine 安装 MSXML※5、支持启用/关闭 opengl(感谢@zhangs 在论坛发帖)以及支持安装/卸载 winbind※6、添加云沙箱的网站链接快捷方式※7、支持从星火应用商店源安装 Windows 常见字体 8、优化窗口布局以及默认显示位置 9、支持打开指定容器、Wine 的资源管理器
notion image

1.5.3(2022年07月07日)

※1、新增专门的程序设置,支持设置 Wine 容器架构、DEBUG 信息是否输出、默认的 Wine、默认容器路径、是否使用终端打开和 Wine 参数※2、修复了 wine 打包器的控件禁用不全和打包的 deb 用户残留的问题※3、新增暗黑主题 4、合并了 deepin wine 文管设置器
notion image

1.5.2(2022年07月06日)

※1、添加并翻新了 deepin-wine5 打包器,改为 wine 打包器,支持常见 wine 的打包※2、新增 Visual Studio C++ 的安装程序※3、新增从系统安装镜像提取 DLL 到 wine 容器的功能(当前只支持 Windows XP 和 Windows Server 2003 的官方安装镜像) 4、修复了安装星火应用商店的 wine 运行器右键打开方式没有 wine 运行器选项的问题 5、新增脚本,优化 deepin terminal 调用本程序脚本显示不佳的问题
notion image
notion image
notion image

1.5.1(2022年07月04日)

※1、支持打开 spark-wine7-devel 的专门缩放设置(如未安装则此按钮禁用)※2、支持提取选择的 exe 文件的图标※3、支持向指定的 wine 容器安装 mono、gecko、.net framework(此功能在菜单栏“Wine”中,卸载只需要使用程序的卸载按钮打开 Geek Uninstaller 即可)※4、支持指定特定的 wine 容器调用 winetricks※5、在没有指定 wine 容器的情况下,将自动设置为 ~/.wine 6、新增 ukylin-wine 7、将默认选择的 wine 改为 deepin-wine6 stable 8、支持打开指定容器的 winecfg、winver、regedit、taskmgr 9、双击使用 wine 运行器打开 exe(不知道能不能生效)
notion image

1.5.0(2022年07月03日)

※1、支持显示 wine 程序运行时的返回内容※2、优化打包方式,减少从 pip 安装的库,并将 pip 源设为阿里源提升下载速度※3、新增 spark-wine7-devel※4、支持从程序启动用于安装 wine 的程序(在菜单栏的“程序”) 5、优化 wine 安装脚本,在安装星火应用商店的 wine 时支持检测是否有 ss-apt-fast,如果有就调用替代 apt 提升安装速度 6、支持关闭指定 wine 的进程,以及访问对应 wine 容器的目录和字体目录 7、从生成shell脚本改为升级到desktop文件
notion image

1.4.0(2021年07月27日)

※1、修改了 wine 选项的说明和 wine 的启动方式;※2、设置了窗口主题;※3、修改了打包以及 .desktop 文件 4、删除了以前的残略调试代码; 5、优化了 wine 列表的显示流程; 6、更新了“关于”窗口 7、更新了提示内容 8、在 gitee/github 仓库上添加了 wine 安装脚本
notion image

1.3.1(2021年05月23日)

1、添加了历史记录,使用更加方便 2、增加“更新内容”项 3、支持浏览窗口的默认路径为上次访问的路径 4、支持清空历史记录 5、代码结构优化 6、修改了控件大小
notion image
notion image
notion image
notion image
notion image

1.3.0(2021年05月22日)

  1. 修改了窗口显示控件的库(从 tkinter 到 tkinter.ttk)
  1. 添加了更多 wine 可以选择(deepin-wine、deepin-wine5、wine、wine64、deepin-wine5-stable、deepin-wine6-stable)
  1. 修改了程序的提示信息
    1. notion image

1.2.0(2021年03月14日)

  1. 修改布局方式
  1. 轻度梳理代码布局
    1. notion image

1.1.2 (未发布发行版)

  1. 进行了细节优化

1.1.1(2021年01月31日)

  1. 使用多线程,防止界面假死
  1. 添加软件图标
    1. notion image

1.1.0(2021年01月29日)

  1. 修改了代码的部分内容,使其支持容器路径可带空格无需“\”转义,以及支持手动保存运行脚本到桌面

1.0.0(2021年01月29日)

  1. 实现内容

源码安装教程

  1. 安装需要的依赖
sudo apt install git make
  1. 下载仓库
git clone https://gitee.com/gfdgd-xi/deep-wine-runner.git
cd deep-wine-runner
  1. 从源码运行程序(如果是从源码安装请跳过这一步)
make depend
make run
  1. 从源码安装程序
make install

对于 Deepin/UOS(AMD64 平台)小白如何使用该程序?

下面是送给小白的 wine 运行器简单使用方法,先声明,wine 并不能完美的运行所有 exe 文件,利用此 wine 运行器简易安装可执行文件的方法如下:
  1. 安装本程序
  1. 在应用商店里随便安装一个 QQ 或者微信等基于 deepin-wine6-stable 打包的应用
    1. 找到需要安装的 exe,双击或者右键=》打开方式=》wine 运行器打开
      notion image
  1. 点击“运行程序”即可
    1. notion image
      notion image

稍微讲一下目前 deepin 23 Preview 运行自定义 exe 的方法(Wine 运行器均已支持)

方法一

随便安装一个 linglong 格式包的 wine 程序(要记住包名),然后在终端输入
ll-cli run 包名 --exec '/bin/deepin-wine6-stable'
即可,缺陷可看运行器上方小提示第 6 点

方法二(容易翻车)

添加 Deepin 20 的官方源和商店源,然后输入如下的命令:切记不能sudo apt upgrade,会出现的问题可以看运行器的小提示第 7 点,以及无法保证所有 Wine 均可运行
sudo dpkg --add-architecture i386
sudo apt update
# 安装普通的 Wine
sudo apt install wine
# 安装 deepin-wine5-stable(本机测试 X64 的 Wine 跑不了)
sudo apt install deepin-wine5-stable
# 安装 deepin-wine6-stable
sudo apt install deepin-wine6-stable
使用完后最好删除掉 Deepin 20 的官方源和商店源,防止出问题 可以看 @ThinkYoung 写的 https://bbs.deepin.org/post/241148,可以参考借鉴

方法三

我不知道了,希望能有大佬提供更好的解决方案

下载链接

更多

Star 一下吧

开发不易,原创艰难,给一个 Star 吧,你的 Star 是我继续开发的动力
notion image

©2020-Now