3.2.1基本完成

This commit is contained in:
2023-04-29 21:05:41 +08:00
parent d554a8c5da
commit 1d2f8a46f2
39 changed files with 109 additions and 46 deletions

View File

@@ -13,24 +13,18 @@ Recommends: winbind, wimtools, python3-pyqt5.qtwebengine, qemu-user, binfmt-supp
Section: utils
Conflicts: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer, spark-deepin-wine-runner-52, spark-deepin-wine-runner
Replaces: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer, spark-deepin-wine-runner-52, spark-deepin-wine-runner
Installed-Size: 25856
Installed-Size: 76512
Description: gfdgd xi 制作的 wine 运行器
3.2.0 更新内容:
※1、Windows 应用适配工具新增系统资源显示
※2、Windows 应用适配工具使用 C++ 重写
※3、修复打包器(基于官方生态适配脚本)无法打开的问题
※4、新增运行库功能安装,以实现使用 Qemu User 跨架构运行 Wine 的功能(理论上支持 3a4000 了,但没试过)
※5、修复 Chroot 容器的一些问题
※6、修复在 Debian11 安装时缺失依赖 rar 的问题
7、新增安装 box86、box64 的功能
8、修复故障反馈功能错误的问题
9、修改程序内的部分网址
10、作者信息变更;
11、支持禁用程序的多语言支持默认禁用因为是机翻的
12、支持在程序本地翻译缺失的情况下自动机翻缺失语句
13、从此版本开始不再区分吾爱版、Spark 版和 UOS 版;
14、新增下载量查询
15、更新程序公告
16、新增断网彩蛋。
更新时间2023年01月19日
3.2.1 更新内容:
※1、Windows 虚拟机安装工具支持非 X86 架构
※2、应用打包器可以与星火应用商店配合构建 arm/all 全架构的 Wine 包
※3、Windows 虚拟机安装工具支持调用 Qemu
※4、新增 Qemu User 运行 Wine 的帮助入口
※5、修复 Windows 虚拟机的自动配置镜像缺少 aria2c.exe 的故障
※6、支持在更新程序版本时自动关闭程序进程
7、运行器和打包器支持调用 spark-wine8
8、修改作者信息
9、新增安装包构建时间
10、优化 Wine 运行器更新策略。
更新时间2023年04月29日
作者gfdgd xi

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 更新时间2022年11月19日
##########################################################################################
# 用于判断是否为 bash 解释器

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 更新时间2022年11月03日
##########################################################################################
# 用于判断是否为 bash 解释器

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 更新时间2022年11月19日
##########################################################################################
# 用于判断是否为 bash 解释器

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# 使用系统默认的 bash 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 版本2.2.0
# 更新时间2022年09月25日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# 使用系统默认的 bash 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 版本2.4.1
# 更新时间2022年11月06日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# 使用系统默认的 bash 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 版本1.7.0
# 更新时间2022年07月15日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
@@ -15,6 +15,12 @@ if [[ 0 == $? ]]; then
fi
# 检查是否有 QEMU
if [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
if [[ -f "$HOME/.config/deepin-wine-runner/QemuSetting.json" ]]; then
echo 有设置文件,读设置文件
cd `dirname $0`
python3 ./VM/StartQemu.py
exit
fi
# 查看逻辑CPU的个数
CpuCount=`cat /proc/cpuinfo| grep "processor"| wc -l`
@@ -23,11 +29,11 @@ if [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
use=$(echo "scale=4; $MemTotal / 3" | bc)
if [[ `arch` == "x86_64" ]]; then
echo X86 架构,使用 kvm 加速
kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb
kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139
exit
fi
echo 非 X86 架构,不使用 kvm 加速
qemu-system-x86_64 --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb
qemu-system-x86_64 --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139
exit
fi
zenity --question --no-wrap --text="检查到您未创建所指定的虚拟机,是否创建虚拟机并继续?\n如果不创建将无法使用"
@@ -36,4 +42,4 @@ if [[ 1 == $? ]]; then
exit
fi
cd `dirname $0`
./VM/VirtualMachine
./VM/VirtualMachine

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env python3
import os
import sys
import json
import traceback
def ReadTXT(file: str):
with open(file, "r") as file:
things = file.read()
return things
# 运行
command = "qemu-system-x86_64"
#if "--kvm" in sys.argv:
# command = "kvm"
homePath = os.path.expanduser('~')
try:
setting = json.loads(ReadTXT(f"{homePath}/.config/deepin-wine-runner/QemuSetting.json"))
except:
print("无法读取配置")
traceback.print_exc()
sys.exit(1)
option = f"-nic model=rtl8139 --hda \"$HOME/Qemu/Windows/Windows.qcow2\" -usb -m {setting['Memory']}M -smp {setting['CPU']} "
if setting["EnableKVM"]:
command = "kvm"
if setting["EnableRDP"]:
option += "-net user,hostfwd=tcp::3389-:3389 "
if setting["EnableVNC"]:
option += f"-display gtk -display vnc=:{setting['VNC']} "
if setting["EnableSound"]:
option += "-soundhw all "
os.system(f"{command} {option}")

View File

@@ -11,4 +11,4 @@ if os.path.exists("/usr/lib/x86_64-linux-gnu/") and not os.system("which qemu-x8
os.system(f"qemu-x86_64 '{programPath}/VirtualMachine-x86_64'")
exit()
print("未安装环境,立即安装!")
os.system(f"python3 '{programPath}/../RunCommandWithTerminal.py' '{programPath}/../InstallRuntime/amd64.sh'")
os.system(f"python3 '{programPath}/../RunCommandWithTerminal.py' '{programPath}/../InstallRuntime/amd64.sh'")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
#################################################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 作者gfdgd xi
# 版本3.0.0
# 更新时间2022年12月10日
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
@@ -14,6 +14,7 @@ import os
import sys
import time
import json
import pyperclip
import random
import base64
import shutil
@@ -1880,7 +1881,10 @@ class ValueCheck():
if file == "":
return
try:
QtWidgets.QInputDialog.getMultiLineText(window, "值", "计算得到的值", self.link[types](self, file))
value = self.link[types](self, file)
if QtWidgets.QInputDialog.getText(window, "值", "下面是计算得到的值,<b>是否要复制到剪切板?</b>", QtWidgets.QLineEdit.Normal, value)[1]:
pyperclip.copy(value)
QtWidgets.QMessageBox.information(window, "提示", "复制成功!")
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
@@ -2409,11 +2413,18 @@ exe路径\' 参数 \'
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>''')
updateThingsString = transla.transe("U", '''※1、Windows 虚拟机安装工具支持非 X86 架构;
※2、应用打包器可以与星火应用商店配合构建 arm/all 全架构的 Wine 包;
3、运行器和打包器支持调用 spark-wine8
3、Windows 虚拟机安装工具支持调用 Qemu
※4、新增 Qemu User 运行 Wine 的帮助入口;
※5、修复 Windows 虚拟机的自动配置镜像缺少 aria2c.exe 的故障;
※6、支持在更新程序版本时自动关闭程序进程
7、运行器和打包器支持调用 spark-wine8
8、修改作者信息
9、新增安装包构建时间
10、优化 Wine 运行器更新策略。
''')
for i in information["Thank"]:
thankText += f"{i}\n"
updateTime = "2023年03月19日"
updateTime = "2023年04月29日"
aboutProgram = transla.transe("U", """<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。</p>
<p>它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机的安装、创建、分区等操作。</p>
<pre>
@@ -2454,9 +2465,9 @@ Deepin 官网:<a href="https://www.deepin.org">https://www.deepin.org</a>
Deepin 论坛:<a href="https://bbs.deepin.org">https://bbs.deepin.org</a>
gfdgd xi<a href="https://gfdgd-xi.github.io">https://gfdgd-xi.github.io</a>
<hr>
<h1>©2020~{time.strftime("%Y")} By gfdgd xi、为什么您不喜欢熊出没和阿布呢</h1>'''
<h1>©2020~{time.strftime("%Y")} By gfdgd xi</h1>'''
title = "Wine 运行器 {}".format(version)
#<h1>©2020~{time.strftime("%Y")} <a href="https://gitee.com/gfdgd-xi">By gfdgd xi、为什么您不喜欢熊出没和阿布呢</h1>'''
#<h1>©2020~{time.strftime("%Y")} <a href="https://gitee.com/gfdgd-xi">By gfdgd xi</h1>'''
updateThings = "{} 更新内容:\n{}\n更新时间{}".format(version, updateThingsString, updateTime, time.strftime("%Y"))
try:
threading.Thread(target=requests.get, args=[parse.unquote(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9vcGVuL0luc3RhbGwucGhw").decode("utf-8")) + "?Version=" + version]).start()
@@ -2620,7 +2631,7 @@ mainLayout.addWidget(returnText, 0, 1, 2, 1)
# 版权
copy = QtWidgets.QLabel(f"""\n程序版本{version}<b>提示Wine 无法保证可以运行所有的 Windows 程序,如果想要运行更多 Windows 程序,可以考虑虚拟机和双系统</b><br>
©2020~{time.strftime("%Y")} gfdgd xi、为什么您不喜欢熊出没和阿布呢""")
©2020~{time.strftime("%Y")} gfdgd xi""")
mainLayout.addWidget(copy, 2, 0, 1, 1)
# 程序运行
@@ -2932,10 +2943,13 @@ def AddLib(install: QtWidgets.QAction, uninstall, menu, info):
menu.addAction(uninstall)
if os.path.exists(f"{programPath}/InstallRuntime"):
installLib = menu.addMenu(transla.transe("U", "运行库(&R)"))
installLib = menu.addMenu(transla.transe("U", "应用运行库(&R)"))
howtouseQemuUser = QtWidgets.QAction(transla.transe("U", "Qemu User 使用教程(配合运行库实现在非 X86 架构运行 X86 Wine"))
howtouseQemuUser.triggered.connect(lambda: webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/deep-wine-runner/wikis/%E4%BD%BF%E7%94%A8%E5%B8%AE%E5%8A%A9/%E9%9D%9EX86%E6%9E%B6%E6%9E%84PC/%E4%BD%BF%E7%94%A8Qemu%20User%E8%BF%90%E8%A1%8CWine%EF%BC%88%E6%94%AF%E6%8C%81%E5%85%A8%E6%9E%B6%E6%9E%84%EF%BC%89"))
installLib.addAction(howtouseQemuUser)
installQemuMenu = installLib.addMenu(transla.transe("U", "安装 Qemu User"))
installQemu = QtWidgets.QAction("安装 Qemu User")
removeQemu = QtWidgets.QAction("卸载 Qemu User")
installQemu = QtWidgets.QAction(transla.transe("U", "安装 Qemu User"))
removeQemu = QtWidgets.QAction(transla.transe("U", "卸载 Qemu User"))
installQemuMenu.addAction(installQemu)
installQemuMenu.addAction(removeQemu)
installQemu.triggered.connect(lambda: OpenTerminal(f"bash '{programPath}/InstallQemuUser.sh'"))

View File

@@ -1,6 +1,6 @@
{
"Version": "3.2.1",
"Time": "2023-04-15 18:40:50 Linux-5.15.77-amd64-desktop-x86_64-with-Deepin-20.8-apricot",
"Time": "2023-04-29 20:59:36 Linux-5.15.77-amd64-desktop-x86_64-with-Deepin-20.9-apricot",
"Thank": [
"感谢 RacoonGX 的付出与贡献",
"感谢 @Amber 编写的《使用wine运行器打包无安装包的软件》https://bbs.deepin.org/post/247720",