mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-12-16 03:52:04 +08:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 09a95ebac4 | |||
| 2dc251fcb5 | |||
| b873d3e8ab | |||
| 61ea114669 | |||
| 96f02440ca | |||
| 6a2bb2e9ca | |||
| e617c24bd1 | |||
| 858617a3ae | |||
| 30e4c9d8bb | |||
| 361f3cf859 | |||
| 368a9d218a | |||
| dc7cb37d7f | |||
| 036639d830 | |||
| 07f56b820d | |||
| 0bef686aa6 | |||
| 982521b0c3 | |||
| 87a54b8d72 | |||
| ac12c24afd | |||
| 0f96e1d91a | |||
| 6689a5edb1 | |||
| b4ef46ee38 | |||
| a83e0bb2b6 | |||
| 9fdc39446e | |||
| 9892ff71a2 | |||
| 2bfa809caf |
69
.github/ISSUE_TEMPLATE.md
vendored
Normal file
69
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
name: 程序bug
|
||||||
|
about: 反馈程序的故障
|
||||||
|
---
|
||||||
|
需要把下面的替换成自己的信息,下面为例子
|
||||||
|
|
||||||
|
# 故障表现(最好带图、日志)
|
||||||
|
按右上角叉叉可以关闭运行器
|
||||||
|

|
||||||
|
## 日志(终端输入 `deepin-wine-runner` 输出的内容)
|
||||||
|
```
|
||||||
|
gfdgd_xi@gfdgdxi-PC:~$ deepin-wine-runner
|
||||||
|
/usr/bin/deepin-terminal
|
||||||
|
/usr/bin/deepin-wine6-stable
|
||||||
|
/usr/bin/deepin-wine
|
||||||
|
/usr/bin/qemu-i386-static
|
||||||
|
/usr/bin/qemu-i386
|
||||||
|
/usr/bin/qemu-x86_64
|
||||||
|
['', '']
|
||||||
|
/usr/bin/qemu-i386
|
||||||
|
/usr/bin/qemu-x86_64
|
||||||
|
['', '']
|
||||||
|
{'基于 UOS box86 的 deepin-wine6-stable': "WINEPREDLL='/opt/apps/deepin-wine-runner/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ", '基于 UOS exagear 的 deepin-wine6-stable': "WINEPREDLL='/opt/apps/deepin-wine-runner/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix /home/gfdgd_xi/.deepinwine/debian-buster --utmp-paths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ", '使用 Flatpak 安装的 Wine': 'flatpak run org.winehq.Wine', 'deepin-wine6 stable': 'deepin-wine6-stable', 'deepin-wine5 stable': 'deepin-wine5-stable', 'spark-wine': 'spark-wine', 'spark-wine7-devel': 'spark-wine7-devel', 'spark-wine8': 'spark-wine8', 'deepin-wine': 'deepin-wine', 'deepin-wine5': 'deepin-wine5', 'wine': 'wine', 'wine64': 'wine64', 'ukylin-wine': 'ukylin-wine', 'mono(这不是 wine,但可以实现初步调用运行 .net 应用)': 'mono', '基于 linglong 的 deepin-wine6-stable(不推荐)': "ll-cli run '' --exec '/bin/deepin-wine6-stable'", '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine-aarch64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine-aarch64', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-i386': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-i386', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-aarch64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-aarch64', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-x86_64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-x86_64', '/home/gfdgd_xi/.deepinwine/wine-ce-8.13-amd64/bin/wine': '/home/gfdgd_xi/.deepinwine/wine-ce-8.13-amd64/bin/wine'}
|
||||||
|
[['cmd', 'cmd'], ['cmd', 'cmd.exe'], ['cmd', 'wineBottonPath/drive_c/windows/system32/cmd.exe'], ['Internet Explorer', 'iexplore'], ['Internet Explorer', 'iexplore.exe'], ['Internet Explorer', 'wineBottonPath/drive_c/Program Files/Internet Explorer/iexplore.exe'], ['Internet Explorer', 'wineBottonPath/drive_c/Program Files (x86)/Internet Explorer/iexplore.exe'], ['微信', 'wineBottonPath/drive_c/Program Files/Tencent/WeChat/WeChat.exe'], ['微信', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe'], ['UltraISO', 'wineBottonPath/drive_c/Program Files/UltraISO/UltraISO.exe'], ['UltraISO', 'wineBottonPath/drive_c/Program Files (x86)/UltraISO/UltraISO.exe'], ['迅雷', 'wineBottonPath/drive_c/Program Files/Thunder Network/MiniThunder/Bin/ThunderMini.exe'], ['迅雷', 'wineBottonPath/drive_c/Program Files (x86)/Thunder Network/MiniThunder/Bin/ThunderMini.exe'], ['Microsoft Office Word', 'wineBottonPath/drive_c/Program Files/Microsoft Office/Office12/WINWORD.EXE'], ['Microsoft Office Word', 'wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE'], ['腾讯会议', 'wineBottonPath/drive_c/Program Files/Tencent/WeMeet/wemeetapp.exe'], ['腾讯会议', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/WeMeet/wemeetapp.exe'], ['腾讯课堂', 'wineBottonPath/drive_c/Program Files/Tencent/EDU/bin/TXEDU.exe'], ['腾讯课堂', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/EDU/bin/TXEDU.exe'], ['QQ', 'wineBottonPath/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe'], ['QQ', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/QQ/Bin/QQ.exe'], ['TIM', 'wineBottonPath/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'], ['TIM', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/TIM/Bin/TIM.exe']]
|
||||||
|
lock
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
libpng warning: iCCP: known incorrect sRGB profile
|
||||||
|
create icon [font] engine failed.[theme:bloom-dark] nonCache[theme].size[0] (No such file or directory)
|
||||||
|
create icon [floppy_unmount] engine failed.[theme:bloom-dark] nonCache[theme].size[1] (No such file or directory)
|
||||||
|
create icon [3floppy_unmount] engine failed.[theme:bloom-dark] nonCache[theme].size[2] (No such file or directory)
|
||||||
|
检测到库 riscv64
|
||||||
|
检测到库 arm64
|
||||||
|
检测到库 armhf
|
||||||
|
检测到库 i386
|
||||||
|
检测到库 s390x
|
||||||
|
检测到库 mips64el
|
||||||
|
检测到库 ppc64el
|
||||||
|
检测到库 amd64
|
||||||
|
版本号为:3.4.0
|
||||||
|
普通版本
|
||||||
|
qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 390, resource id: 0, major code: 20 (GetProperty), minor code: 0
|
||||||
|
```
|
||||||
|
|
||||||
|
# 系统版本
|
||||||
|
- 系统:Deepin 23
|
||||||
|
- 硬件:
|
||||||
|

|
||||||
|
- 其他补充信息
|
||||||
|
|
||||||
|
# 之前做过什么操作
|
||||||
|
在终端里输入了内容
|
||||||
|
```bash
|
||||||
|
sudo apt upgrade
|
||||||
|
```
|
||||||
|
更新了系统
|
||||||
|
|
||||||
|
# 复现步骤
|
||||||
|
1. 打开运行器,然后点击右上角叉叉可以关闭
|
||||||
|
|
||||||
|
# 推测故障原因(可选)
|
||||||
|
Qt 默认有一套配置好的退出事件
|
||||||
|
|
||||||
|
# 联系方式(可选)
|
||||||
12
DesktopIcon/spark-deepin-wine-package-builder.desktop
Normal file
12
DesktopIcon/spark-deepin-wine-package-builder.desktop
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
X-Categories=System;Wine;
|
||||||
|
Exec=/usr/bin/deepin-wine-package-builder "~/.wine" %F
|
||||||
|
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||||
|
Name=Wine Package Builder
|
||||||
|
Name[zh]=Wine 打包器
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=true
|
||||||
|
NoDisplay=true
|
||||||
|
Keywords=exe;scr;
|
||||||
|
MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut;
|
||||||
12
DesktopIcon/spark-deepin-wine-packager-easy-builder.desktop
Normal file
12
DesktopIcon/spark-deepin-wine-packager-easy-builder.desktop
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
X-Categories=System;Wine;
|
||||||
|
Exec=/usr/bin/deepin-wine-packager-easy-builder %F
|
||||||
|
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||||
|
Name=Wine Package Builder
|
||||||
|
Name[zh]=Wine 简易打包器
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=true
|
||||||
|
NoDisplay=true
|
||||||
|
Keywords=exe;scr;
|
||||||
|
MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut;
|
||||||
10
DesktopIcon/spark-deepin-wine-packager-with-script.desktop
Normal file
10
DesktopIcon/spark-deepin-wine-packager-with-script.desktop
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
X-Categories=System;Wine;
|
||||||
|
Exec=/usr/bin/deepin-wine-packager-with-script
|
||||||
|
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||||
|
Name=Wine Package Builder For UOS
|
||||||
|
NoDisplay=true
|
||||||
|
Name[zh]=Wine 打包器(基于活动脚本)
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=true
|
||||||
10
DesktopIcon/spark-deepin-wine-runner-control-vm.desktop
Normal file
10
DesktopIcon/spark-deepin-wine-runner-control-vm.desktop
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
X-Categories=System;Wine;
|
||||||
|
Exec=/opt/apps/deepin-wine-runner/RunVM.sh %F
|
||||||
|
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||||
|
Name=Setting VirtualMachine
|
||||||
|
Name[zh]=设置 Windows 虚拟机
|
||||||
|
NoDisplay=true
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=true
|
||||||
9
DesktopIcon/spark-deepin-wine-runner-start-vm.desktop
Normal file
9
DesktopIcon/spark-deepin-wine-runner-start-vm.desktop
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
X-Categories=System;
|
||||||
|
Exec=/opt/apps/deepin-wine-runner/StartVM.sh %F
|
||||||
|
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||||
|
Name=Start Windows VirtualMachine
|
||||||
|
Name[zh]=开启 Windows 虚拟机
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=true
|
||||||
11
DesktopIcon/spark-deepin-wine-runner.desktop
Normal file
11
DesktopIcon/spark-deepin-wine-runner.desktop
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
X-Categories=System;Wine;
|
||||||
|
Exec=/usr/bin/deepin-wine-runner %F
|
||||||
|
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||||
|
Name=Wine Runner
|
||||||
|
Name[zh]=Wine 运行器
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=true
|
||||||
|
Keywords=exe;scr;
|
||||||
|
MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut;
|
||||||
31
InstallBox86-own.sh
Executable file
31
InstallBox86-own.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
if [[ `whoami` != root ]]; then
|
||||||
|
echo 请以 root 权限运行
|
||||||
|
echo 按任意键退出
|
||||||
|
read
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
PCArch=`dpkg --print-architecture`
|
||||||
|
echo 使用国内源
|
||||||
|
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||||
|
#sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/debian ./ > /etc/apt/sources.list.d/box86.list"
|
||||||
|
#wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||||
|
#echo "adding key..."
|
||||||
|
#installBox=box86-generic-arm
|
||||||
|
#if [[ $PCArch == "arm64" ]]; then
|
||||||
|
# sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/debian ./ > /etc/apt/sources.list.d/box64.list"
|
||||||
|
# wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||||
|
# installBox="box86-generic-arm box64-generic-arm"
|
||||||
|
# sudo dpkg --add-architecture armhf
|
||||||
|
#fi
|
||||||
|
wget http://deb.box86.wine-runner.gfdgdxi.top/sources/github.sh
|
||||||
|
bash github.sh
|
||||||
|
rm github.sh
|
||||||
|
echo " + sudo apt update"
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install binfmt-support -y
|
||||||
|
sudo apt install libc6:armhf -y
|
||||||
|
sudo apt install -y box86
|
||||||
|
sudo apt install -y box64
|
||||||
|
echo 安装完成!按回车键退出
|
||||||
|
read
|
||||||
55
README.md
55
README.md
@@ -1,47 +1,24 @@
|
|||||||
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
|
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
|
||||||
<h1 align="center">Wine 运行器 3.4.0.1</h1>
|
<h1 align="center">Wine 运行器 3.4.1</h1>
|
||||||
<hr>
|
<hr>
|
||||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
||||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
||||||
|
|
||||||
## 介绍
|
## 介绍
|
||||||
Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序,内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。
|
Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序。原版的 Wine 只能使用命令操作,且安装过程较为繁琐,对小白不友好。于是该运行器为了解决该痛点,内置了对Wine图形化的支持、Wine 安装器、微型应用商店、各种Wine工具、自制的Wine程序打包器、运行库安装工具等。
|
||||||
它同时还内置了基于Qemu/VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作,也能在非 X86 架构安装 X86 架构的 Windows 操作系统(但是效率较低)。
|
它同时还内置了基于Qemu/VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作,也能在非 X86 架构安装 X86 架构的 Windows 操作系统(但是效率较低,可以运行些老系统)。
|
||||||
此外,它还简化了如下命令,让你可以更简便地使用Wine:
|
而且对于部分 Wine 应用适配者来说,提供了图形化的打包工具,以及提供了一些常用工具以及运行库的安装方式,以及能安装多种不同的 Wine 以测试效果,能极大提升适配效率。
|
||||||
```bash
|
且对于 Deepin23 用户做了特别优化,以便能在缺少 i386 运行库的情况下运行 Wine32。同时也为非 X86 架构用户提供了 Box86/64、Qemu User 的安装方式
|
||||||
env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
|
|
||||||
```
|
|
||||||
让你可以简易方便的使用 wine
|

|
||||||
是使用 Python3 的 PyQt5 构建的
|
|
||||||
(测试平台:deepin 20.8;UOS 家庭版 22;Ubuntu 22.04;Ubuntu 20.04;Ubuntu 23.04;UOS 专业版 1050;openkylin;cuteos;yoyo os)
|
|
||||||

|
|
||||||
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
|
|
||||||
```bash
|
|
||||||
/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
|
|
||||||
```
|
|
||||||
[](https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers)
|
[](https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers)
|
||||||
最后感谢 [@鹤舞白沙](https://bbs.deepin.org/user/227203) 编写的《Wine运行器和Wine打包器傻瓜式使用教程(小白专用)》,链接:https://bbs.deepin.org/post/246837
|
最后感谢 [@鹤舞白沙](https://bbs.deepin.org/user/227203) 编写的《Wine运行器和Wine打包器傻瓜式使用教程(小白专用)》,链接:https://bbs.deepin.org/post/246837
|
||||||
|
|
||||||
|
打包器视频教程:https://www.bilibili.com/video/BV1Bh4y1Q7nT/
|
||||||
|
Wine 运行器 QQ 交流群:762985460
|
||||||
|
|
||||||
## 软件架构
|
## 软件架构
|
||||||
理论上支持全架构,如果 Python 能运行的话
|
理论上支持全架构,如果 Python 能运行的话
|
||||||
非 X86 架构会利用到 `box86`、`exagear`、`qemu` 等技术
|
非 X86 架构会利用到 `box86`、`exagear`、`qemu` 等技术
|
||||||
@@ -138,6 +115,16 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de
|
|||||||

|

|
||||||
|
|
||||||
## 更新日志
|
## 更新日志
|
||||||
|
### 3.4.1(2023年09月30日)
|
||||||
|
**※1、支持识别 spark-wine8-wow 且打包时可以使用该 wine**
|
||||||
|
**※2、替换安装 Box86 的 pkexec 为 sudo**
|
||||||
|
**※3、Wine 下载工具新增更多 Wine**
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 3.4.0.1(2023年08月18日)
|
### 3.4.0.1(2023年08月18日)
|
||||||
**※1、修复部分高性能机器打包器提示“无效的压缩参数”:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SMTJ**
|
**※1、修复部分高性能机器打包器提示“无效的压缩参数”:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SMTJ**
|
||||||
**※2、支持设置程序字体大小:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SAYE**
|
**※2、支持设置程序字体大小:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SAYE**
|
||||||
|
|||||||
65
README_en.md
Normal file
65
README_en.md
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
|
||||||
|
<h1 align="center">Wine Runner 3.4.0.1</h1>
|
||||||
|
<hr>
|
||||||
|
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
||||||
|
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
||||||
|
|
||||||
|
## Introduce
|
||||||
|
Wine Runner is a program that help Linux user to run Windows program. However,
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
[](https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers)
|
||||||
|
最后感谢 [@鹤舞白沙](https://bbs.deepin.org/user/227203) 编写的《Wine运行器和Wine打包器傻瓜式使用教程(小白专用)》,链接:https://bbs.deepin.org/post/246837
|
||||||
|
|
||||||
|
Wine Runner Packager Video tutorial: https://www.bilibili.com/video/BV1Bh4y1Q7nT/
|
||||||
|
Wine Runner QQ communication group:762985460
|
||||||
|
|
||||||
|
## Program Support Architecture
|
||||||
|
Runner is able to run for common architecture if these system can run Python.
|
||||||
|
Non-x86 system will use `box86/box64`, `exagear`, `qemu` and so on.
|
||||||
|
|
||||||
|
## Wine Runner Auto Builder(Newest Version)
|
||||||
|
This version can't sure what bug will happen when you are using.
|
||||||
|
Download Website: https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml
|
||||||
|
|
||||||
|
## Which App Store You Can Download Wine Runner
|
||||||
|
### Deepin/UOS App Store
|
||||||
|

|
||||||
|
|
||||||
|
### Spark Store
|
||||||
|

|
||||||
|
### Loongson App Store
|
||||||
|

|
||||||
|
|
||||||
|
## Git Branch Introduce
|
||||||
|
### main
|
||||||
|
The main branch
|
||||||
|
|
||||||
|
## Different Of Version(It No longer Distinguishing From 3.1.0)
|
||||||
|
### Normal
|
||||||
|
Normal Version(It usually from Gitee, Github, Gitlink, etc)
|
||||||
|
### `-spark` In Version
|
||||||
|
Install runner from Spark Store
|
||||||
|
### `-uos` In Version
|
||||||
|
Install runner from Deepin/UOS App Store, and you can install without open the develop mode.
|
||||||
|
### `-52` In Version
|
||||||
|
It only release for 52pojie, and some function was removed such as updater, bug uploader and so on.
|
||||||
|

|
||||||
|
Nobody want to see this error when you are using.
|
||||||
|
|
||||||
|
## Program Tips
|
||||||
|
I don't want to write, it's too long and too old.
|
||||||
|
|
||||||
|
## Update Log
|
||||||
|
### 3.4.0.1(August 18th, 2023)
|
||||||
|
1. **Repair some machine tips `无效的压缩参数` when you are packing program in Wine Runner Packager, you also can see this isscue: https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SMTJ**
|
||||||
|
2. **Runner support to set program font size, you also can see this isscue: https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SAYE**
|
||||||
|
### 3.4.0(August 11th, 2023)
|
||||||
|
1. **Repair Easy Packager can't open and check wine error problem.**
|
||||||
|
2. **Professional Packager support to set different mimetype value for different .desktop file**
|
||||||
|
3. **Repair install runner problem in Ubuntu 23.04**
|
||||||
|
4. **Professional Packager support to save pack info what you are inputing**
|
||||||
|
5. **Deepin23 support run Winetricks with runner**
|
||||||
|
6. **Add video help website**
|
||||||
|
7. and so on
|
||||||
@@ -6,6 +6,13 @@ arch = subprocess.getoutput("dpkg --print-architecture").replace(" ", "").replac
|
|||||||
if os.path.exists(f"{programPath}/VirtualMachine-{arch}"):
|
if os.path.exists(f"{programPath}/VirtualMachine-{arch}"):
|
||||||
os.system(f"{programPath}/VirtualMachine-{arch}")
|
os.system(f"{programPath}/VirtualMachine-{arch}")
|
||||||
exit()
|
exit()
|
||||||
|
# 判断文件是否解压
|
||||||
|
if not os.path.exists(f"{programPath}/VirtualMachine-amd64"):
|
||||||
|
# 解压文件
|
||||||
|
os.system(f"cd '{programPath}' ; tar -xvf vm.tar.gz")
|
||||||
|
if os.path.exists(f"{programPath}/VirtualMachine-{arch}"):
|
||||||
|
os.system(f"{programPath}/VirtualMachine-{arch}")
|
||||||
|
exit()
|
||||||
# 只能使用 Qemu User 运行程序
|
# 只能使用 Qemu User 运行程序
|
||||||
if os.path.exists("/usr/lib/x86_64-linux-gnu/") and not os.system("which qemu-x86_64"):
|
if os.path.exists("/usr/lib/x86_64-linux-gnu/") and not os.system("which qemu-x86_64"):
|
||||||
os.system(f"qemu-x86_64 '{programPath}/VirtualMachine-x86_64'")
|
os.system(f"qemu-x86_64 '{programPath}/VirtualMachine-x86_64'")
|
||||||
|
|||||||
58
arch-i386-to-all/change.py
Executable file
58
arch-i386-to-all/change.py
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import random
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
# 读取文本文档
|
||||||
|
def ReadTXT(path):
|
||||||
|
with open(path, "r") as file:
|
||||||
|
result = file.read()
|
||||||
|
return result
|
||||||
|
|
||||||
|
# 写入文本文档
|
||||||
|
def WriteTXT(path, things):
|
||||||
|
with open(path, "w") as file:
|
||||||
|
file.write(things)
|
||||||
|
|
||||||
|
|
||||||
|
for i in sys.argv[1:]:
|
||||||
|
#result = subprocess.getoutput(f"apt info '{i}'")
|
||||||
|
tempPath = f"/tmp/unpack-wine-{random.randint(0, 1000)}"
|
||||||
|
#os.system(f"mkdir -p '{tempPath}/DEBIAN'")
|
||||||
|
#result = ReadTXT(f"{tempPath}/DEBIAN/control")
|
||||||
|
result = subprocess.getoutput(f"dpkg --info '{i}'")
|
||||||
|
package = "demo"
|
||||||
|
version = "1.0.0"
|
||||||
|
for k in result.splitlines():
|
||||||
|
# 删除前后空格
|
||||||
|
k = k.strip()
|
||||||
|
# 判断架构
|
||||||
|
if k[:8] == "Package:":
|
||||||
|
package = k[9:].strip()
|
||||||
|
if k[:8] == "Version:":
|
||||||
|
version = k[9:].strip()
|
||||||
|
|
||||||
|
if k[:13] == "Architecture:":
|
||||||
|
arch = k[14:].strip()
|
||||||
|
if arch != "all":
|
||||||
|
print(f"需要转换架构:{arch}=>all")
|
||||||
|
print("开始自动转换")
|
||||||
|
os.system(f"mkdir -pv '{tempPath}'")
|
||||||
|
os.system(f"dpkg -x '{i}' '{tempPath}'")
|
||||||
|
os.system(f"dpkg -e '{i}' '{tempPath}/DEBIAN'")
|
||||||
|
control = ReadTXT(f"{tempPath}/DEBIAN/control")
|
||||||
|
newControl = ""
|
||||||
|
for g in control.splitlines():
|
||||||
|
gNoSpace = g.strip()
|
||||||
|
if gNoSpace[:13] == "Architecture:":
|
||||||
|
newControl += "Architecture: all\n"
|
||||||
|
continue
|
||||||
|
if gNoSpace == "Multi-Arch: same":
|
||||||
|
continue
|
||||||
|
newControl += f"{g}\n"
|
||||||
|
WriteTXT(f"{tempPath}/DEBIAN/control", newControl)
|
||||||
|
os.system(f"dpkg-deb -Z xz -z 9 -b '{tempPath}' '{package}_{version}_all.deb'")
|
||||||
|
os.system(f"rm -rfv '{tempPath}'")
|
||||||
|
break
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
Package: spark-deepin-wine-runner
|
Package: spark-deepin-wine-runner
|
||||||
Version: 3.4.0.1
|
Version: 3.4.1
|
||||||
Maintainer: gfdgd xi <3025613752@qq.com>
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
Homepage: https://gitee.com/gfdgd-xi/deep-wine-runner
|
Homepage: https://gitee.com/gfdgd-xi/deep-wine-runner
|
||||||
Architecture: all
|
Architecture: all
|
||||||
|
|||||||
@@ -646,7 +646,7 @@ if __name__ == "__main__":
|
|||||||
"使用 Deepin Wine2 打包应用"
|
"使用 Deepin Wine2 打包应用"
|
||||||
]
|
]
|
||||||
wineChooserIndex = 2
|
wineChooserIndex = 2
|
||||||
wineList = ["spark-wine8", "spark-wine7-devel", "deepin-wine6-stable", "deepin-wine5-stable", "deepin-wine5", "deepin-wine"]
|
wineList = ["spark-wine8", "spark-wine7-devel", "deepin-wine6-stable", "deepin-wine6-vannila", "spark-wine8-wow", "deepin-wine5-stable", "deepin-wine5", "deepin-wine"]
|
||||||
if os.system("which deepin-wine6-stable"):
|
if os.system("which deepin-wine6-stable"):
|
||||||
for i in range(len(wineList)):
|
for i in range(len(wineList)):
|
||||||
if not os.system(f"which '{wineList[i]}'"):
|
if not os.system(f"which '{wineList[i]}'"):
|
||||||
|
|||||||
@@ -1291,38 +1291,54 @@ extract_archive()
|
|||||||
fi
|
fi
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
ACTIVEX_NAME=""
|
||||||
BOTTLENAME="{e5_text.text()}"
|
BOTTLENAME="{e5_text.text()}"
|
||||||
APPVER="{e2_text.text()}"
|
APPVER="{e2_text.text()}"
|
||||||
EXEC_PATH="@@@EXEC_PATH@@@"
|
EXEC_PATH="@@@EXEC_PATH@@@"
|
||||||
START_SHELL_PATH="{["/opt/deepinwine/tools/run_v4.sh", "/opt/deepinwine/tools/spark_run_v4.sh"][int(chooseWineHelperValue.isChecked())]}"
|
START_SHELL_PATH="{["/opt/deepinwine/tools/run_v4.sh", "/opt/deepinwine/tools/spark_run_v4.sh"][int(chooseWineHelperValue.isChecked())]}"
|
||||||
export MIME_TYPE=""
|
export MIME_TYPE=""
|
||||||
|
export MIME_EXEC=""
|
||||||
export DEB_PACKAGE_NAME="{e1_text.text()}"
|
export DEB_PACKAGE_NAME="{e1_text.text()}"
|
||||||
export APPRUN_CMD="$HOME/.deepinwine/{os.path.basename(wine[wineVersion.currentText()]).replace('.7z', '')}/bin/{useInstallWineArch.currentText()}"
|
export APPRUN_CMD="$HOME/.deepinwine/{os.path.basename(wine[wineVersion.currentText()]).replace('.7z', '')}/bin/{useInstallWineArch.currentText()}"
|
||||||
|
EXPORT_ENVS=""
|
||||||
|
EXEC_NAME="@@@EXEC_NAME@@@"
|
||||||
export PATCH_LOADER_ENV=""
|
export PATCH_LOADER_ENV=""
|
||||||
export FILEDLG_PLUGIN="/opt/apps/$DEB_PACKAGE_NAME/files/gtkGetFileNameDlg"
|
export FILEDLG_PLUGIN="/opt/apps/$DEB_PACKAGE_NAME/files/gtkGetFileNameDlg"
|
||||||
DISABLE_ATTACH_FILE_DIALOG="1"
|
DISABLE_ATTACH_FILE_DIALOG=""
|
||||||
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
|
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
|
||||||
|
|
||||||
DEEPIN_WINE_BIN_DIR=`dirname $APPRUN_CMD`
|
DEEPIN_WINE_BIN_DIR=`dirname $APPRUN_CMD`
|
||||||
DEEPIN_WINE_DIR=`dirname $DEEPIN_WINE_BIN_DIR`
|
DEEPIN_WINE_DIR=`dirname $DEEPIN_WINE_BIN_DIR`
|
||||||
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
|
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
|
||||||
|
|
||||||
|
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
|
||||||
|
|
||||||
|
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
|
||||||
|
|
||||||
|
export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64
|
||||||
|
|
||||||
|
export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls"
|
||||||
|
|
||||||
if [ -n "$PATCH_LOADER_ENV" ] && [ -n "$EXEC_PATH" ];then
|
if [ -n "$PATCH_LOADER_ENV" ] && [ -n "$EXEC_PATH" ];then
|
||||||
export $PATCH_LOADER_ENV
|
export $PATCH_LOADER_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
extract_archive "$ARCHIVE_FILE_DIR/wine_archive.7z" "$ARCHIVE_FILE_DIR/wine_archive.md5sum" "$DEEPIN_WINE_DIR"
|
extract_archive "$ARCHIVE_FILE_DIR/wine_archive.7z" "$ARCHIVE_FILE_DIR/wine_archive.md5sum" "$DEEPIN_WINE_DIR"
|
||||||
|
|
||||||
if [ -d "$DEEPIN_WINE_BIN_DIR" ] && [ "$DEEPIN_WINE_BIN_DIR" != "." ];then
|
|
||||||
export DEEPIN_WINE_BIN_DIR
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
|
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
|
||||||
export ATTACH_FILE_DIALOG=1
|
export ATTACH_FILE_DIALOG=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$EXPORT_ENVS" ];then
|
||||||
|
export $EXPORT_ENVS
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$EXEC_PATH" ];then
|
if [ -n "$EXEC_PATH" ];then
|
||||||
|
if [ -z "${{EXEC_PATH##*.lnk*}}" ];then
|
||||||
|
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||||
|
else
|
||||||
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
||||||
fi
|
fi
|
||||||
@@ -2167,8 +2183,8 @@ bottleNameLock = False
|
|||||||
###############
|
###############
|
||||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
# 如果要添加其他 wine,请在字典添加其名称和执行路径
|
# 如果要添加其他 wine,请在字典添加其名称和执行路径
|
||||||
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "spark-wine8": "spark-wine8"}
|
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila"}
|
||||||
wineValue = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5-stable": "deepin-wine5 stable", "deepin-wine6-stable": "deepin-wine6 stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "spark-wine8": "spark-wine8"}
|
wineValue = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5-stable": "deepin-wine5 stable", "deepin-wine6-stable": "deepin-wine6 stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila"}
|
||||||
# 读取 wine 本地列表
|
# 读取 wine 本地列表
|
||||||
for i in os.listdir("/opt"):
|
for i in os.listdir("/opt"):
|
||||||
if os.path.exists(f"/opt/{i}/bin/wine"):
|
if os.path.exists(f"/opt/{i}/bin/wine"):
|
||||||
|
|||||||
@@ -95,9 +95,10 @@ updateButton.clicked.connect(UpdateButtonClick)
|
|||||||
nameThings.setDisabled(True)
|
nameThings.setDisabled(True)
|
||||||
contactThings.setDisabled(True)
|
contactThings.setDisabled(True)
|
||||||
starMenu.setDisabled(True)
|
starMenu.setDisabled(True)
|
||||||
updateThings.setDisabled(True)
|
#updateThings.setDisabled(True)
|
||||||
|
updateThings.setReadOnly(True)
|
||||||
updateButton.setDisabled(True)
|
updateButton.setDisabled(True)
|
||||||
updateThings.setText("请移步到 Gitee 或 Github 提交 Bug(推荐使用 Gitee)")
|
updateThings.setText("请移步到 Gitee 或 Github 提交 Bug(推荐使用 Gitee)\nWine 运行器 QQ 交流群:762985460")
|
||||||
widget.setLayout(widgetLayout)
|
widget.setLayout(widgetLayout)
|
||||||
window.setCentralWidget(widget)
|
window.setCentralWidget(widget)
|
||||||
window.setWindowTitle(f"Wine 运行器 {version} 问题/建议反馈")
|
window.setWindowTitle(f"Wine 运行器 {version} 问题/建议反馈")
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"Version": "3.4.0.1",
|
"Version": "3.4.1",
|
||||||
"Time": "未知",
|
"Time": "未知",
|
||||||
"Thank": [
|
"Thank": [
|
||||||
"感谢 RacoonGX 的付出与贡献",
|
"感谢 RacoonGX 的付出与贡献",
|
||||||
|
|||||||
@@ -2278,10 +2278,12 @@ def CheckWine():
|
|||||||
"基于 UOS exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
|
"基于 UOS exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
|
||||||
"使用 Flatpak 安装的 Wine": "flatpak run org.winehq.Wine",
|
"使用 Flatpak 安装的 Wine": "flatpak run org.winehq.Wine",
|
||||||
"deepin-wine6 stable": "deepin-wine6-stable",
|
"deepin-wine6 stable": "deepin-wine6-stable",
|
||||||
|
"deepin-wine6-vannila": "deepin-wine6-vannila",
|
||||||
"deepin-wine5 stable": "deepin-wine5-stable",
|
"deepin-wine5 stable": "deepin-wine5-stable",
|
||||||
"spark-wine": "spark-wine",
|
"spark-wine": "spark-wine",
|
||||||
"spark-wine7-devel": "spark-wine7-devel",
|
"spark-wine7-devel": "spark-wine7-devel",
|
||||||
"spark-wine8": "spark-wine8",
|
"spark-wine8": "spark-wine8",
|
||||||
|
"spark-wine8-wow": "spark-wine8-wow",
|
||||||
"deepin-wine": "deepin-wine",
|
"deepin-wine": "deepin-wine",
|
||||||
"deepin-wine5": "deepin-wine5",
|
"deepin-wine5": "deepin-wine5",
|
||||||
"wine": "wine",
|
"wine": "wine",
|
||||||
@@ -2539,40 +2541,18 @@ exe路径\' 参数 \'
|
|||||||
5、wine 容器如果没有指定,则会默认为 ~/.wine;
|
5、wine 容器如果没有指定,则会默认为 ~/.wine;
|
||||||
6、如果可执行文件比较大的话,会出现点击“获取该程序运行情况”出现假死的情况,因为正在后台读取 SHA1,只需要等一下即可(读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关);
|
6、如果可执行文件比较大的话,会出现点击“获取该程序运行情况”出现假死的情况,因为正在后台读取 SHA1,只需要等一下即可(读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关);
|
||||||
7、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序;''')
|
7、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序;''')
|
||||||
updateThingsString = transla.transe("U", '''<b>3.4.0.1 更新内容:</b>
|
updateThingsString = transla.transe("U", '''<b>3.4.1 更新内容:</b>
|
||||||
※1、修复部分高性能机器打包器提示“无效的压缩参数”:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SMTJ
|
※1、支持识别 spark-wine8-wow 且打包时可以使用该 wine
|
||||||
※2、支持设置程序字体大小:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SAYE
|
※2、替换安装 Box86 的 pkexec 为 sudo
|
||||||
|
※3、Wine 下载工具新增更多 Wine''')
|
||||||
<b>3.4.0 更新内容:</b>
|
|
||||||
※1、修复简易打包器无法打开的问题以及 Wine 识别错误的问题
|
|
||||||
※2、高级打包器支持多 .desktop 分别设置不同的 MimeType
|
|
||||||
※3、修复运行器在 Ubuntu 23 的安装问题
|
|
||||||
※4、高级打包器支持导出/导入填写信息
|
|
||||||
※5、Deepin 23 支持使用 Winetricks
|
|
||||||
※6、新增视频教程
|
|
||||||
※7、修复虚拟机工具在检测到 Qemu 磁盘但没有安装 Qemu 时无法启动的问题
|
|
||||||
※8、修复虚拟机工具的一些问题并调整部分设置
|
|
||||||
※9、虚拟机工具支持设置 UEFI 启动
|
|
||||||
※10、虚拟机安装工具提供 LoongArch 新世界版本
|
|
||||||
11、高级打包器支持隐藏输入框以及使用小字体
|
|
||||||
12、打包器提供 bcm 和 dcm wine 支持
|
|
||||||
13、修复星火 wine 配置错误问题
|
|
||||||
14、打包器支持多线程打包
|
|
||||||
15、修复升级工具问题:https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX
|
|
||||||
16、跟进打包器 run.sh 模板
|
|
||||||
17、云沙箱新增 cloud.vdnel.cn
|
|
||||||
18、打包器新增分类 Game、System、AudioVideo
|
|
||||||
19、修复安装 Box64 时源里没有 libc6:armhf 导致无法安装的问题''')
|
|
||||||
for i in information["Thank"]:
|
for i in information["Thank"]:
|
||||||
thankText += f"{i}\n"
|
thankText += f"{i}\n"
|
||||||
updateTime = "2023年08月18日"
|
updateTime = "2023年09月30日"
|
||||||
aboutProgram = transla.transe("U", """<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序,内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。</p>
|
aboutProgram = transla.transe("U", """<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序。原版的 Wine 只能使用命令操作,且安装过程较为繁琐,对小白不友好。于是该运行器为了解决该痛点,内置了对Wine图形化的支持、Wine 安装器、微型应用商店、各种Wine工具、自制的Wine程序打包器、运行库安装工具等。</p>
|
||||||
<p>它同时还内置了基于VirtualBox/Qemu制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作。</p>
|
<p>它同时还内置了基于Qemu/VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作,也能在非 X86 架构安装 X86 架构的 Windows 操作系统(但是效率较低,可以运行些老系统)。</p>
|
||||||
<pre>
|
<p>而且对于部分 Wine 应用适配者来说,提供了图形化的打包工具,以及提供了一些常用工具以及运行库的安装方式,以及能安装多种不同的 Wine 以测试效果,能极大提升适配效率。</p>
|
||||||
|
<p>且对于 Deepin23 用户做了特别优化,以便能在缺少 i386 运行库的情况下运行 Wine32。同时也为非 X86 架构用户提供了 Box86/64、Qemu User 的安装方式</p>
|
||||||
一个图形化了如下命令的程序(最简单格式)
|
<pre>""")
|
||||||
<code>env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径</code>
|
|
||||||
让你可以简易方便的使用 wine""")
|
|
||||||
about = f'''<style>
|
about = f'''<style>
|
||||||
a:link, a:active {{
|
a:link, a:active {{
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -2586,6 +2566,7 @@ a:link, a:active {{
|
|||||||
安装包构建时间:{information['Time']}
|
安装包构建时间:{information['Time']}
|
||||||
Qt 版本:{QtCore.qVersion()}
|
Qt 版本:{QtCore.qVersion()}
|
||||||
程序官网:{programUrl}
|
程序官网:{programUrl}
|
||||||
|
<b>Wine 运行器 QQ 交流群:762985460</b>
|
||||||
当前程序占用体积:@programSize@MB</pre>
|
当前程序占用体积:@programSize@MB</pre>
|
||||||
<p>本程序依照 GPLV3 协议开源</p>
|
<p>本程序依照 GPLV3 协议开源</p>
|
||||||
<hr>
|
<hr>
|
||||||
@@ -2804,10 +2785,11 @@ installWineOnDeepin23 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Funct
|
|||||||
installWineOnDeepin23Alpha = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine23A.png"), transla.transe("U", "安装 wine(只限Deepin23 Alpha)"))
|
installWineOnDeepin23Alpha = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine23A.png"), transla.transe("U", "安装 wine(只限Deepin23 Alpha)"))
|
||||||
installWineHQOrg = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ(官方源)"))
|
installWineHQOrg = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ(官方源)"))
|
||||||
installWineHQ = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ(国内清华大学镜像源)"))
|
installWineHQ = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ(国内清华大学镜像源)"))
|
||||||
installMoreWine = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/more-wine.png"), transla.transe("U", "安装更多 Wine"))
|
installMoreWine = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/more-wine.png"), transla.transe("U", "安装更多 Wine(Wine 下载工具)"))
|
||||||
downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/CHROOT.png"), transla.transe("U", "下载 Chroot 容器"))
|
downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/CHROOT.png"), transla.transe("U", "下载 Chroot 容器"))
|
||||||
installBox86CN = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64(国内源)"))
|
installBox86CN = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64 日构建(国内源)"))
|
||||||
installBox86 = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64(国外 Github 源)"))
|
installBox86 = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64 日构建(国外 Github 源)"))
|
||||||
|
installBox86Own = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64(使用自建源,支持 riscv64)"))
|
||||||
addWineDebMirrorForDeepin20 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "添加 Wine 运行器源以安装较新版本的 WineHQ(支持 Deepin20/Debian10)"))
|
addWineDebMirrorForDeepin20 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "添加 Wine 运行器源以安装较新版本的 WineHQ(支持 Deepin20/Debian10)"))
|
||||||
p2 = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), transla.transe("U", "设置程序(&S)"))
|
p2 = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), transla.transe("U", "设置程序(&S)"))
|
||||||
enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)"))
|
enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)"))
|
||||||
@@ -2828,6 +2810,7 @@ programmenu.addAction(installMoreWine)
|
|||||||
programmenu.addAction(downloadChrootBottle)
|
programmenu.addAction(downloadChrootBottle)
|
||||||
programmenu.addAction(installBox86CN)
|
programmenu.addAction(installBox86CN)
|
||||||
programmenu.addAction(installBox86)
|
programmenu.addAction(installBox86)
|
||||||
|
programmenu.addAction(installBox86Own)
|
||||||
#programmenu.addSeparator()
|
#programmenu.addSeparator()
|
||||||
#programmenu.addAction(setMiniFont)
|
#programmenu.addAction(setMiniFont)
|
||||||
#programmenu.addAction(setTinyFont)
|
#programmenu.addAction(setTinyFont)
|
||||||
@@ -2864,8 +2847,9 @@ installMoreWine.triggered.connect(InstallMoreWine)
|
|||||||
downloadChrootBottle.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/QemuDownload.py'"]).start())
|
downloadChrootBottle.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/QemuDownload.py'"]).start())
|
||||||
p2.triggered.connect(ProgramSetting.ShowWindow)
|
p2.triggered.connect(ProgramSetting.ShowWindow)
|
||||||
enabledAll.triggered.connect(lambda: DisableButton(False))
|
enabledAll.triggered.connect(lambda: DisableButton(False))
|
||||||
installBox86CN.triggered.connect(lambda: OpenTerminal(f"pkexec bash '{programPath}/InstallBox86-cn.sh'"))
|
installBox86CN.triggered.connect(lambda: OpenTerminal(f"sudo bash '{programPath}/InstallBox86-cn.sh'"))
|
||||||
installBox86.triggered.connect(lambda: OpenTerminal(f"pkexec bash '{programPath}/InstallBox86.sh'"))
|
installBox86.triggered.connect(lambda: OpenTerminal(f"sudo bash '{programPath}/InstallBox86.sh'"))
|
||||||
|
installBox86Own.triggered.connect(lambda: OpenTerminal(f"sudo bash '{programPath}/InstallBox86-own.sh'"))
|
||||||
p3.triggered.connect(CleanProgramHistory)
|
p3.triggered.connect(CleanProgramHistory)
|
||||||
cleanCache.triggered.connect(CleanProgramCache)
|
cleanCache.triggered.connect(CleanProgramCache)
|
||||||
cleanProgramUnuse.triggered.connect(CleanProgram)
|
cleanProgramUnuse.triggered.connect(CleanProgram)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"Version": "3.4.0.1",
|
"Version": "3.4.1",
|
||||||
"Time": "未知",
|
"Time": "未知",
|
||||||
"Thank": [
|
"Thank": [
|
||||||
"感谢 RacoonGX 的付出与贡献",
|
"感谢 RacoonGX 的付出与贡献",
|
||||||
|
|||||||
Reference in New Issue
Block a user