deep-wine-runner/README.md

300 lines
16 KiB
Markdown
Raw Normal View History

2022-08-03 17:17:37 +08:00
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
<h1 align="center">Wine 运行器</h1>
<hr>
2021-01-29 12:15:46 +08:00
2022-07-03 19:03:41 +08:00
## 介绍
一个图形化了以下命令的程序
2022-07-04 22:44:04 +08:00
```bash
env WINEPREFIX=容器路径 winewine的路径 可执行文件路径
2021-01-29 12:15:46 +08:00
```
2022-07-03 19:03:41 +08:00
让你可以简易方便的使用 wine
是使用 Python3 的 tkinter 构建的
(自己美术功底太差,图标只能在网络上找了)
2022-07-29 15:35:07 +08:00
测试平台deepin 20.6UOS 家庭版 21.3.1Ubuntu 22.04
2022-08-03 14:06:05 +08:00
![image.png](https://storage.deepin.org/thread/202208031351466402_image.png)
2022-07-06 10:22:14 +08:00
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
```bash
/XXX
├── DEBIAN
│ └── control
2022-07-19 08:23:31 +08:00
│ └── postrm可选
2022-07-06 10:22:14 +08:00
└── opt
└── apps
└── XXX
├── entries
│ ├── applications
│ │ └── XXX.desktop
│ └── icons
│ └── hicolor
│ └── scalable
│ └── apps
│ └── XXX.pngXXX.svg
├── files
│ ├── files.7z
│ └── run.sh
└── info
2021-01-29 12:15:46 +08:00
2022-07-06 10:22:14 +08:00
11 directories, 6 files
```
2021-01-29 12:15:46 +08:00
2022-07-03 19:03:41 +08:00
## 软件架构
2022-07-04 22:44:04 +08:00
i386 和 amd64deepin-wine、deepin-wine5、wine、wine64、deepin-wine5-stable、deepin-wine6-stable、spark-wine7-devel、ukylin-wine 运行在哪就运行在哪
2022-08-03 17:17:37 +08:00
理论上支持全架构,如果 Python 能运行的话
2021-01-29 12:15:46 +08:00
2022-07-03 19:03:41 +08:00
## 使用说明
2021-01-29 12:15:46 +08:00
2022-07-06 10:07:09 +08:00
### 均在软件的“小提示”里有说明
### 运行器
2022-07-04 22:44:04 +08:00
1、使用终端运行该程序可以看到 wine 以及程序本身的提示和报错;
2、wine 32 位和 64 位的容器互不兼容;
3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装)
4、本程序支持带参数运行 wine 程序(之前版本也可以),只需要按以下格式即可:
```bash
2022-08-03 14:06:05 +08:00
exe路径\' 参数 \'
2022-07-04 22:44:04 +08:00
```
即可(单引号需要输入)
5、wine 容器如果没有指定,则会默认为 ~/.wine
2022-08-03 14:06:05 +08:00
6、在使用 linglong 包的 Wine 应用时,必须安装至少一个 linglong 的使用 Wine 软件包才会出现该选项,
而程序识别到的 Wine 是按 linglong 的使用 Wine 软件包名的字母排序第一个的 Wine且生成的容器不在用户目录下而是在容器的用户目录下~/.deepinwine、/tmp、桌面、下载、文档等被映射的目录除外
同理需要运行的 EXE 也必须在被映射的目录内
7、如果是使用 Deepin 23 的 Wine 安装脚本,请切记——安装过程会临时添加 Deepin 20 的 apt 源,不要中断安装以及
千万不要中断后不删除源的情况下 apt upgrade !!!中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine会自动执行恢复操作即可
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
```bash
N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。
```
2022-07-19 08:23:31 +08:00
![image.png](https://storage.deepin.org/thread/202207190819153104_image.png)
2022-07-06 10:07:09 +08:00
### 打包器
1、deb 打包软件包名要求:
软件包名只能含有小写字母(a-z)、数字(0-9)、加号(+)和减号(-)、以及点号(.),软件包名最短长度两个字符;它必须以字母开头
2、如果要填写路径有“浏览……”按钮的是要填本计算机对应文件的路径否则就是填写安装到其他计算机使用的路径
3、输入 wine 的容器路径时最后面请不要输入“/”
4、输入可执行文件的运行路径时是以“C:/XXX/XXX.exe”的格式进行输入默认是以 C 为开头,不用“\”做命令的分隔,而是用“/”
5、.desktop 的图标只支持 PNG 格式和 SVG 格式,其他格式无法显示图标
2022-07-19 08:23:31 +08:00
![image.png](https://storage.deepin.org/thread/202207190820337719_image.png)
### 基于统信 Wine 生态适配脚本的打包器
第一个文本框是应用程序中文名
第二个文本框是应用程序英文名
第三个文本框是最终生成的包的描述
第四个选择框是desktop文件中的分类
第五个输入框是程序在 Wine 容器的位置,以 c:\\XXX 的形式,盘符必须小写,用反斜杠,如果路径带用户名的话会自动替换为$USER
而 StartupWMClass 字段将会由程序自动生成,作用如下:
desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与desktop文件相对应。这个值为实际运行的主程序EXE的文件名wine/crossover在程序运行后会将文件名设置为窗口类名
第六个输入框是最终生成的包的包名,包名的命名规则以deepin开头加官网域名需要前后对调位置如还不能区分再加上应用名
最后一个是最终生成的包的版本号,版本号命名规则:应用版本号+deepin+数字
![image.png](https://storage.deepin.org/thread/202207190822204627_image.png)
2022-07-03 19:03:41 +08:00
## 更新日志
2022-08-03 14:06:05 +08:00
### 1.8.02022年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 标准)
![image.png](https://storage.deepin.org/thread/202208031351466402_image.png)
2022-07-29 15:35:07 +08:00
### 1.7.12022年07月29日
**※1、更换为 @PossibleVing 提供的程序图标**
**※2、修改了统信 Wine 生态适配活动的脚本,支持在非 UOS 系统打包**
**※3、修复了打包器在打包应用未指定图标的情况下显示对话框后强制退出的问题**
4、修改 .net framework 3.5 的安装包,从在线版改为本地版
5、支持设置主题
6、添加 Geek Uninstaller 手动升级脚本
![image.png](https://storage.deepin.org/thread/202207291533597182_image.png)
2022-07-19 08:23:31 +08:00
### 1.7.02022年07月19日
<b>※1、界面大改造从使用 Tkinter 改为 Qt参考了 @134******28 和 @sgb76 提供的设计方案和代码</b>
**※2、添加了基于 UOS 生态适配活动打包脚本的打包器,以及基于 Virtualbox 的简易 Windows 镜像安装工具**
**※3、将 pip 由阿里源改为华为源,提升下载安装速度,并删除使用 pip 下载库的功能(已不需要,废弃)**
4、添加 @delsin@神末shenmo 建议的 postrm 脚本
5、优化多屏窗口居中问题
6、修复 1.6.0 程序无法保存设置的问题
7、修复 1.6.0 的更新程序无法正常更新的问题
8、升级 Geek Uninstaller 版本
![image.png](https://storage.deepin.org/thread/202207190819153104_image.png)
2022-07-10 09:41:19 +08:00
### 1.6.02022年07月10日
**※1、新增程序感谢、谢明以及程序的建议和问题反馈和内置更新程序**
**※2、支持 winetricks 指定 Wine 打开**
**※3、新增窗口透明工具感谢@a2035274 和 @虚幻的早晨 在论坛的讨论**
**※4、支持在指定容器、Wine 安装 MSXML**
**※5、支持启用/关闭 opengl感谢@zhangs 在论坛发帖)以及支持安装/卸载 winbind**
**※6、添加云沙箱的网站链接快捷方式**
**※7、支持从星火应用商店源安装 Windows 常见字体**
8、优化窗口布局以及默认显示位置
9、支持打开指定容器、Wine 的资源管理器
![image.png](https://storage.deepin.org/thread/202207101734379289_image.png)
### 1.5.32022年07月07日
2022-07-07 14:09:30 +08:00
**※1、新增专门的程序设置支持设置 Wine 容器架构、DEBUG 信息是否输出、默认的 Wine、默认容器路径、是否使用终端打开和 Wine 参数**
**※2、修复了 wine 打包器的控件禁用不全和打包的 deb 用户残留的问题**
**※3、新增暗黑主题**
4、合并了 deepin wine 文管设置器
![Screenshot_20220707_215916.png](https://storage.deepin.org/thread/202207072207209350_Screenshot_20220707_215916.png)
2022-07-10 09:41:19 +08:00
### 1.5.22022年07月06日
2022-07-06 10:07:09 +08:00
**※1、添加并翻新了 deepin-wine5 打包器,改为 wine 打包器,支持常见 wine 的打包**
**※2、新增 Visual Studio C++ 的安装程序**
**※3、新增从系统安装镜像提取 DLL 到 wine 容器的功能(当前只支持 Windows XP 和 Windows Server 2003 的官方安装镜像)**
4、修复了安装星火应用商店的 wine 运行器右键打开方式没有 wine 运行器选项的问题
5、新增脚本优化 deepin terminal 调用本程序脚本显示不佳的问题
![image.png](https://storage.deepin.org/thread/202207061004446872_image.png)
![image.png](https://storage.deepin.org/thread/202207061005149959_image.png)
![image.png](https://storage.deepin.org/thread/202207061005251446_image.png)
2022-07-10 09:41:19 +08:00
### 1.5.12022年07月04日
2022-07-04 22:44:04 +08:00
**※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不知道能不能生效
![image.png](https://storage.deepin.org/thread/202207042234078682_image.png)
2022-07-10 09:41:19 +08:00
### 1.5.02022年07月03日
2022-07-04 22:44:04 +08:00
**※1、支持显示 wine 程序运行时的返回内容**
**※2、优化打包方式减少从 pip 安装的库,并将 pip 源设为阿里源提升下载速度**
**※3、新增 spark-wine7-devel**
**※4、支持从程序启动用于安装 wine 的程序(在菜单栏的“程序”)**
2022-07-03 19:03:41 +08:00
5、优化 wine 安装脚本,在安装星火应用商店的 wine 时支持检测是否有 ss-apt-fast如果有就调用替代 apt 提升安装速度
6、支持关闭指定 wine 的进程,以及访问对应 wine 容器的目录和字体目录
7、从生成shell脚本改为升级到desktop文件
![image.png](https://storage.deepin.org/thread/202207031902414162_image.png)
2022-07-10 09:41:19 +08:00
### 1.4.02021年07月27日
2022-07-04 22:44:04 +08:00
**※1、修改了 wine 选项的说明和 wine 的启动方式;**
**※2、设置了窗口主题;**
**※3、修改了打包以及 .desktop 文件**
2022-07-03 19:03:41 +08:00
4、删除了以前的残略调试代码;
5、优化了 wine 列表的显示流程;
6、更新了“关于”窗口
7、更新了提示内容
8、在 gitee/github 仓库上添加了 wine 安装脚本
![](https://images.gitee.com/uploads/images/2021/0727/151226_750579c2_7896131.png)
2022-07-10 09:41:19 +08:00
### 1.3.12021年05月23日
2022-07-03 19:03:41 +08:00
1、添加了历史记录使用更加方便
2、增加“更新内容”项
3、支持浏览窗口的默认路径为上次访问的路径
4、支持清空历史记录
5、代码结构优化
6、修改了控件大小
![run](https://images.gitee.com/uploads/images/2021/0523/155621_95e6fea5_7896131.png "截图录屏_选择区域_20210523153529.png")
![run](https://images.gitee.com/uploads/images/2021/0523/155633_b7ab458a_7896131.png "截图录屏_选择区域_20210523153548.png")
![run](https://images.gitee.com/uploads/images/2021/0523/155643_fc933b76_7896131.png "截图录屏_选择区域_20210523153929.png")
![run](https://images.gitee.com/uploads/images/2021/0523/155654_90ceb8ce_7896131.png "截图录屏_选择区域_20210523153947.png")
![run](https://images.gitee.com/uploads/images/2021/0523/155702_66841e22_7896131.png "截图录屏_选择区域_20210523154007.png")
2022-07-10 09:41:19 +08:00
### 1.3.02021年05月22日
2022-07-03 19:03:41 +08:00
1. 修改了窗口显示控件的库(从 tkinter 到 tkinter.ttk
2. 添加了更多 wine 可以选择deepin-wine、deepin-wine5、wine、wine64、deepin-wine5-stable、deepin-wine6-stable
3. 修改了程序的提示信息
![输入图片说明](https://images.gitee.com/uploads/images/2021/0522/175640_a592db4d_7896131.png "截图录屏_tk_20210522170529.png")
2022-07-10 09:41:19 +08:00
### 1.2.02021年03月14日
2022-07-03 19:03:41 +08:00
1. 修改布局方式
2. 轻度梳理代码布局
![输入图片说明](https://images.gitee.com/uploads/images/2021/0314/181320_cb4cbf72_7896131.png "屏幕截图.png")
### 1.1.2 (未发布发行版)
1. 进行了细节优化
2022-07-10 09:41:19 +08:00
### 1.1.12021年01月31日
2022-07-03 19:03:41 +08:00
1. 使用多线程,防止界面假死
2. 添加软件图标
![](https://images.gitee.com/uploads/images/2021/0131/143557_40911a67_7896131.png)
2022-07-10 09:41:19 +08:00
### 1.1.02021年01月29日
2022-07-03 19:03:41 +08:00
1. 修改了代码的部分内容,使其支持容器路径可带空格无需“\”转义,以及支持手动保存运行脚本到桌面
2022-07-10 09:41:19 +08:00
### 1.0.02021年01月29日
2022-07-03 19:03:41 +08:00
1. 实现内容
2022-07-27 22:40:05 +08:00
## 源码安装教程
1. 安装需要的依赖
```bash
sudo apt install git make
```
2. 下载仓库
```bash
git clone https://gitee.com/gfdgd-xi/deep-wine-runner.git
cd deep-wine-runner
```
3. 从源码运行程序(如果是从源码安装请跳过这一步)
```bash
make depend
make run
```
4. 从源码安装程序
```bash
make install
```
2022-08-03 17:17:37 +08:00
## 对于 Deepin/UOSAMD64 平台)小白如何使用该程序?
下面是送给小白的 wine 运行器简单使用方法先声明wine 并***不能完美的运行所有 exe 文件***,利用此 wine 运行器简易安装可执行文件的方法如下:
1. 安装本程序
2. 在应用商店里随便安装一个 QQ 或者微信等基于 deepin-wine6-stable 打包的应用
![image.png](https://storage.deepin.org/thread/202207061542433333_image.png)
3. 找到需要安装的 exe双击或者右键=》打开方式=》wine 运行器打开
![image.png](https://storage.deepin.org/thread/202207061543443740_image.png)
4. 点击“运行程序”即可
![image.png](https://storage.deepin.org/thread/202207191920282406_image.png)
2022-08-03 14:06:05 +08:00
## 稍微讲一下目前 deepin 23 Preview 运行自定义 exe 的方法Wine 运行器均已支持)
### 方法一
随便安装一个 linglong 格式包的 wine 程序(要记住包名),然后在终端输入
```bash
ll-cli run 包名 --exec '/bin/deepin-wine6-stable'
```
即可,缺陷可看运行器上方小提示第 6 点
### 方法二(容易翻车)
添加 Deepin 20 的**官方源和商店源**,然后输入如下的命令:**切记不能sudo apt upgrade**,会出现的问题可以看运行器的小提示第 7 点,以及无法保证所有 Wine 均可运行
```bash
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](user/18570) 写的 https://bbs.deepin.org/post/241148可以参考借鉴
### 方法三
我不知道了,希望能有大佬提供更好的解决方案
## 下载链接
Giteehttps://gitee.com/gfdgd-xi/deep-wine-runner
Githubhttps://github.com/gfdgd-xi/deep-wine-runner
Gitlinkhttps://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner
蓝奏云https://gfdgdxi.lanzouj.com/b01nz7y3e密码:7oii
星火应用商店spk://store/tools/spark-deepin-wine-runner
2022-07-04 22:44:04 +08:00
## 更多
+ https://gitee.com/gfdgd-xi/deep-wine-runner
+ https://github.com/gfdgd-xi/deep-wine-runner
+ https://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner
# ©2020-Now