mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-12-16 20:11:36 +08:00
Compare commits
94 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 45befa142f | |||
| 9785ad98fc | |||
| 201328afea | |||
| 4d10470776 | |||
| 85895b5ae2 | |||
| b785779d8a | |||
| b1b07d482b | |||
| 137193c993 | |||
| 9e9f2e2732 | |||
| 95ddbb7246 | |||
| b1142664ac | |||
| 97f85bc640 | |||
| 7d80d24ff6 | |||
| 64e1c56c8e | |||
| e9d8bc1ee3 | |||
| d10beed003 | |||
| 1f4e209f6c | |||
|
|
f54e589e3d | ||
| 6dd18d9e8f | |||
| 0360eaf5e0 | |||
| d00baaf2ce | |||
| e0a977b7ea | |||
| 787de003e3 | |||
| b7dfe86710 | |||
| ee16593767 | |||
| c64b5670d9 | |||
| 1bfb04e588 | |||
| 03dbe8d6ef | |||
| 1d2f8a46f2 | |||
| d554a8c5da | |||
| cbb81c6261 | |||
| 95e7d42a52 | |||
| 07f0c4eb2d | |||
| 466a7c5596 | |||
| 5443654791 | |||
| 0d3e798644 | |||
| 73551e9a12 | |||
| e755cea8f1 | |||
| fb653fe6ec | |||
| 044bc860ef | |||
| fd8e74d05f | |||
| d2929f83c6 | |||
| 53836dac4d | |||
| 321a840b7d | |||
| aaf7ccb793 | |||
| 81ae9751cd | |||
| 4a693831d1 | |||
| 4a438a2732 | |||
| 2105f6f9fc | |||
| bddd39ae7b | |||
| f913cde28e | |||
| c0eb6410ee | |||
| 20fc7f75f2 | |||
| 603d7a3827 | |||
| 620cea5136 | |||
| db5cee1345 | |||
| 9132acc0f6 | |||
| 03bcb9cb4e | |||
| 25f399b5cc | |||
| b1d4710ddd | |||
| eb72ed46a2 | |||
| 8ede908e73 | |||
| 9f61096967 | |||
| df96b2fd7f | |||
| 6a44167c9a | |||
| 125aa730c2 | |||
| c61607de13 | |||
| 0a643cb808 | |||
| afb0754795 | |||
| 2157a4df0d | |||
| 2320317961 | |||
| 3b8d32aa69 | |||
| f170dd093f | |||
| fc06f42161 | |||
| a471fe43d2 | |||
| 33d115c836 | |||
| 78d359a3db | |||
| b7c3ebf024 | |||
| a1d61c2b65 | |||
| fa8a2a0685 | |||
| 3d6067d4c4 | |||
| 266bd65372 | |||
| a615098594 | |||
| 0caecc9181 | |||
| baf3fbefdd | |||
| fd78edd2f7 | |||
| 002a6e309d | |||
| 8a061efa2b | |||
| cc9298f6af | |||
| 05c297647e | |||
| ba91aae7e1 | |||
| c3062915f4 | |||
| 542668311d | |||
| 8dc9db1f59 |
3
.idea/.gitignore
generated
vendored
3
.idea/.gitignore
generated
vendored
@@ -1,3 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
8
.idea/deepin-wine-run.iml
generated
8
.idea/deepin-wine-run.iml
generated
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="PYTHON_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager">
|
|
||||||
<content url="file://$MODULE_DIR$" />
|
|
||||||
<orderEntry type="jdk" jdkName="Python 3.10" jdkType="Python SDK" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
6
.idea/inspectionProfiles/profiles_settings.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<component name="InspectionProjectProfileManager">
|
|
||||||
<settings>
|
|
||||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
|
||||||
<version value="1.0" />
|
|
||||||
</settings>
|
|
||||||
</component>
|
|
||||||
4
.idea/misc.xml
generated
4
.idea/misc.xml
generated
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
|
|
||||||
</project>
|
|
||||||
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/deepin-wine-run.iml" filepath="$PROJECT_DIR$/.idea/deepin-wine-run.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
version: '1.0'
|
|
||||||
name: branch-pipeline
|
|
||||||
displayName: BranchPipeline
|
|
||||||
stages:
|
|
||||||
- stage:
|
|
||||||
name: compile
|
|
||||||
displayName: 编译
|
|
||||||
steps:
|
|
||||||
- step: build@python
|
|
||||||
name: build_python
|
|
||||||
displayName: Python 构建
|
|
||||||
pythonVersion: '3.9'
|
|
||||||
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
|
||||||
artifacts:
|
|
||||||
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
|
||||||
- name: BUILD_ARTIFACT
|
|
||||||
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
|
|
||||||
path:
|
|
||||||
- ./
|
|
||||||
commands:
|
|
||||||
- python3 -m pip install --upgrade pip
|
|
||||||
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
|
||||||
- pip3 install -r requirements.txt
|
|
||||||
- python3 ./main.py
|
|
||||||
- step: publish@general_artifacts
|
|
||||||
name: publish_general_artifacts
|
|
||||||
displayName: 上传制品
|
|
||||||
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
|
||||||
dependArtifact: BUILD_ARTIFACT
|
|
||||||
# 上传到制品库时的制品命名,默认output
|
|
||||||
artifactName: output
|
|
||||||
dependsOn: build_python
|
|
||||||
- stage:
|
|
||||||
name: release
|
|
||||||
displayName: 发布
|
|
||||||
steps:
|
|
||||||
- step: publish@release_artifacts
|
|
||||||
name: publish_release_artifacts
|
|
||||||
displayName: '发布'
|
|
||||||
# 上游上传制品任务的产出
|
|
||||||
dependArtifact: output
|
|
||||||
# 发布制品版本号
|
|
||||||
version: '1.0.0.0'
|
|
||||||
# 是否开启版本号自增,默认开启
|
|
||||||
autoIncrement: true
|
|
||||||
triggers:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
exclude:
|
|
||||||
- master
|
|
||||||
include:
|
|
||||||
- .*
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
version: '1.0'
|
|
||||||
name: master-pipeline
|
|
||||||
displayName: MasterPipeline
|
|
||||||
stages:
|
|
||||||
- stage:
|
|
||||||
name: compile
|
|
||||||
displayName: 编译
|
|
||||||
steps:
|
|
||||||
- step: build@python
|
|
||||||
name: build_python
|
|
||||||
displayName: Python 构建
|
|
||||||
pythonVersion: '3.9'
|
|
||||||
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
|
||||||
artifacts:
|
|
||||||
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
|
||||||
- name: BUILD_ARTIFACT
|
|
||||||
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
|
|
||||||
path:
|
|
||||||
- ./
|
|
||||||
commands:
|
|
||||||
- python3 -m pip install --upgrade pip
|
|
||||||
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
|
||||||
- pip3 install -r requirements.txt
|
|
||||||
- python3 ./main.py
|
|
||||||
- step: publish@general_artifacts
|
|
||||||
name: publish_general_artifacts
|
|
||||||
displayName: 上传制品
|
|
||||||
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
|
||||||
dependArtifact: BUILD_ARTIFACT
|
|
||||||
# 上传到制品库时的制品命名,默认output
|
|
||||||
artifactName: output
|
|
||||||
dependsOn: build_python
|
|
||||||
- stage:
|
|
||||||
name: release
|
|
||||||
displayName: 发布
|
|
||||||
steps:
|
|
||||||
- step: publish@release_artifacts
|
|
||||||
name: publish_release_artifacts
|
|
||||||
displayName: '发布'
|
|
||||||
# 上游上传制品任务的产出
|
|
||||||
dependArtifact: output
|
|
||||||
# 发布制品版本号
|
|
||||||
version: '1.0.0.0'
|
|
||||||
# 是否开启版本号自增,默认开启
|
|
||||||
autoIncrement: true
|
|
||||||
triggers:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
version: '1.0'
|
|
||||||
name: pr-pipeline
|
|
||||||
displayName: PRPipeline
|
|
||||||
stages:
|
|
||||||
- stage:
|
|
||||||
name: compile
|
|
||||||
displayName: 编译
|
|
||||||
steps:
|
|
||||||
- step: build@python
|
|
||||||
name: build_python
|
|
||||||
displayName: Python 构建
|
|
||||||
pythonVersion: '3.9'
|
|
||||||
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
|
||||||
artifacts:
|
|
||||||
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
|
||||||
- name: BUILD_ARTIFACT
|
|
||||||
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
|
|
||||||
path:
|
|
||||||
- ./
|
|
||||||
commands:
|
|
||||||
- python3 -m pip install --upgrade pip
|
|
||||||
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
|
||||||
- pip3 install -r requirements.txt
|
|
||||||
- python3 ./main.py
|
|
||||||
- step: publish@general_artifacts
|
|
||||||
name: publish_general_artifacts
|
|
||||||
displayName: 上传制品
|
|
||||||
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
|
||||||
dependArtifact: BUILD_ARTIFACT
|
|
||||||
# 上传到制品库时的制品命名,默认output
|
|
||||||
artifactName: output
|
|
||||||
dependsOn: build_python
|
|
||||||
triggers:
|
|
||||||
pr:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.4.0
|
# 版本:2.4.0
|
||||||
# 更新时间:2022年10月15日
|
# 更新时间:2022年10月15日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
# 引入所需的库
|
# 引入所需的库
|
||||||
#################
|
#################
|
||||||
import os
|
import os
|
||||||
|
import updatekiller
|
||||||
|
|
||||||
def AddSparkStoreSource():
|
def AddSparkStoreSource():
|
||||||
# Download and install key
|
# Download and install key
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:1.8.0
|
# 版本:1.8.0
|
||||||
# 更新时间:2022年08月01日
|
# 更新时间:2022年08月01日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -14,6 +14,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
import pyquery
|
import pyquery
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
import urllib.parse as parse
|
import urllib.parse as parse
|
||||||
|
|
||||||
@@ -34,7 +35,7 @@ def CleanTerminal():
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.4.0
|
# 版本:2.4.0
|
||||||
# 更新时间:2022年10月25日
|
# 更新时间:2022年10月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -15,6 +15,7 @@ import sys
|
|||||||
import base64
|
import base64
|
||||||
import json
|
import json
|
||||||
import traceback
|
import traceback
|
||||||
|
import updatekiller
|
||||||
import urllib.request
|
import urllib.request
|
||||||
import req as requests
|
import req as requests
|
||||||
import PyQt5.QtWidgets as QtWidgets
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
@@ -28,9 +29,9 @@ except:
|
|||||||
webeng = False
|
webeng = False
|
||||||
|
|
||||||
urlSourcesList = [
|
urlSourcesList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/auto", # Gitlink 源
|
"http://www.gfdgdxi.top/deep-wine-runner-auto-configuration-script/", # Github 源
|
||||||
"https://gitee.com/gfdgd-xi/deep-wine-runner-auto-configuration-script/raw/master/", # Gitee 源
|
"https://gitee.com/gfdgd-xi/deep-wine-runner-auto-configuration-script/raw/master/", # Gitee 源
|
||||||
"https://gfdgd-xi.github.io/deep-wine-runner-auto-configuration-script/", # Github 源
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/auto", # Gitlink 源
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/auto/", # 备用源1,纯 IPv6 源
|
"http://gfdgdxi.msns.cn/wine-runner-list/auto/", # 备用源1,纯 IPv6 源
|
||||||
"http://gfdgdxi.free.idcfengye.com/deep-wine-runner-auto-configuration-script/", # 备用源2
|
"http://gfdgdxi.free.idcfengye.com/deep-wine-runner-auto-configuration-script/", # 备用源2
|
||||||
"http://gfdgdxi.free.idcfengye.com/wine-runner-list/auto/", # 备用源 3
|
"http://gfdgdxi.free.idcfengye.com/wine-runner-list/auto/", # 备用源 3
|
||||||
@@ -138,7 +139,7 @@ class InformationWindow():
|
|||||||
about = f"<h1>关于“{choose}”的介绍</h1>\n<p>暂无此程序的介绍</p>"
|
about = f"<h1>关于“{choose}”的介绍</h1>\n<p>暂无此程序的介绍</p>"
|
||||||
try:
|
try:
|
||||||
import requests as r
|
import requests as r
|
||||||
fenlists = requests.get(base64.b64decode("aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy93aW5lLXJ1bm5lci1kb3dubG9hZHMtb2YtcnVubmVyL3Jhdy9icmFuY2gvbWFzdGVyL0Jhc2hBcHBGZW4v").decode("utf-8") + urllib.request.quote(fileName) + base64.b64decode("L2FsbC5qc29u").decode("utf-8"), timeout=1000).json()
|
fenlists = requests.get("http://data.download.gfdgdxi.top/BashAppFen/" + urllib.request.quote(fileName) + base64.b64decode("L2FsbC5qc29u").decode("utf-8"), timeout=1000).json()
|
||||||
tipsInfo = ""
|
tipsInfo = ""
|
||||||
except:
|
except:
|
||||||
fenlists = [0, 0, 0, 0, 0]
|
fenlists = [0, 0, 0, 0, 0]
|
||||||
@@ -158,19 +159,19 @@ class InformationWindow():
|
|||||||
if maxHead > 5:
|
if maxHead > 5:
|
||||||
for i in range(end):
|
for i in range(end):
|
||||||
if webeng:
|
if webeng:
|
||||||
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/BadStar.svg' width=50>\n"
|
starHtml += f"<img src='http://wine-runner.gfdgdxi.top/BadStar.svg' width=50>\n"
|
||||||
else:
|
else:
|
||||||
starHtml += f"<img src='{programPath}/Icon/BadStar.svg' width=50>\n"
|
starHtml += f"<img src='{programPath}/Icon/BadStar.svg' width=50>\n"
|
||||||
else:
|
else:
|
||||||
for i in range(maxHead):
|
for i in range(maxHead):
|
||||||
if webeng:
|
if webeng:
|
||||||
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/Star.svg' width=50>\n"
|
starHtml += f"<img src='http://wine-runner.gfdgdxi.top/Star.svg' width=50>\n"
|
||||||
else:
|
else:
|
||||||
starHtml += f"<img src='{programPath}/Icon/Star.svg' width=50>\n"
|
starHtml += f"<img src='{programPath}/Icon/Star.svg' width=50>\n"
|
||||||
head = maxHead
|
head = maxHead
|
||||||
for i in range(head, end):
|
for i in range(head, end):
|
||||||
if webeng:
|
if webeng:
|
||||||
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/UnStar.svg' width=50>"
|
starHtml += f"<img src='http://wine-runner.gfdgdxi.top/UnStar.svg' width=50>"
|
||||||
else:
|
else:
|
||||||
starHtml += f"<img src='{programPath}/Icon/UnStar.svg' width=50>"
|
starHtml += f"<img src='{programPath}/Icon/UnStar.svg' width=50>"
|
||||||
about += f"\n<hr/><h1>评分情况</h1>\n<p align='center'>{starHtml}</p>\n<p align='center'>{tipsInfo}</p>"
|
about += f"\n<hr/><h1>评分情况</h1>\n<p align='center'>{starHtml}</p>\n<p align='center'>{tipsInfo}</p>"
|
||||||
@@ -252,7 +253,7 @@ class ProgramRunStatusShow():
|
|||||||
fileName = i[1]
|
fileName = i[1]
|
||||||
break
|
break
|
||||||
try:
|
try:
|
||||||
fenlists = requests.get(base64.b64decode("aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy93aW5lLXJ1bm5lci1kb3dubG9hZHMtb2YtcnVubmVyL3Jhdy9icmFuY2gvbWFzdGVyL0Jhc2hBcHBGZW4v").decode("utf-8") + urllib.request.quote(fileName) + base64.b64decode("L2FsbC5qc29u").decode("utf-8")).json()
|
fenlists = requests.get("http://data.download.gfdgdxi.top/BashAppFen/" + urllib.request.quote(fileName) + base64.b64decode("L2FsbC5qc29u").decode("utf-8")).json()
|
||||||
tipsInfo = ""
|
tipsInfo = ""
|
||||||
except:
|
except:
|
||||||
#traceback.print_exc()
|
#traceback.print_exc()
|
||||||
@@ -310,7 +311,7 @@ class ProgramRunStatusShow():
|
|||||||
else:
|
else:
|
||||||
# 显示最新的3条评论
|
# 显示最新的3条评论
|
||||||
try:
|
try:
|
||||||
all = int(requests.get(f"{base64.b64decode('aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy9iYXNocGlubHVuL3Jhdy9icmFuY2gvbWFzdGVyLw==').decode('utf-8')}{urllib.request.quote(fileName)}/data.txt").text)
|
all = int(requests.get(f"http://bashpinlun.gfdgdxi.top/{urllib.request.quote(fileName)}/data.txt").text)
|
||||||
now = all - 3
|
now = all - 3
|
||||||
print(all)
|
print(all)
|
||||||
if all < 3:
|
if all < 3:
|
||||||
@@ -321,7 +322,7 @@ class ProgramRunStatusShow():
|
|||||||
uploadList = []
|
uploadList = []
|
||||||
for i in range(all - 1, start - 1, -1):
|
for i in range(all - 1, start - 1, -1):
|
||||||
print(f"第 {i + 1} 条评论:")
|
print(f"第 {i + 1} 条评论:")
|
||||||
info = requests.get(f"{base64.b64decode('aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy9iYXNocGlubHVuL3Jhdy9icmFuY2gvbWFzdGVyLw==').decode('utf-8')}{urllib.request.quote(fileName)}/pf-{i}.txt").text.strip()
|
info = requests.get(f"http://bashpinlun.gfdgdxi.top/{urllib.request.quote(fileName)}/pf-{i}.txt").text.strip()
|
||||||
print(info)
|
print(info)
|
||||||
uploadList.append([f"用户{i + 1}", i + 1, info])
|
uploadList.append([f"用户{i + 1}", i + 1, info])
|
||||||
Add(uploadList)
|
Add(uploadList)
|
||||||
@@ -378,7 +379,7 @@ def UpdateFen():
|
|||||||
uploadList = []
|
uploadList = []
|
||||||
for i in range(now + 2, now - 1, -1):
|
for i in range(now + 2, now - 1, -1):
|
||||||
print(f"第 {i + 1} 条评论:")
|
print(f"第 {i + 1} 条评论:")
|
||||||
info = requests.get(f"https://code.gitlink.org.cn/gfdgd-xi/bashpinlun/raw/branch/master/{urllib.request.quote(fileName)}/pf-{i}.txt").text.strip()
|
info = requests.get(f"http://bashpinlun.gfdgdxi.top/{urllib.request.quote(fileName)}/pf-{i}.txt").text.strip()
|
||||||
print(info)
|
print(info)
|
||||||
uploadList.append([f"用户{i + 1}", i + 1, info])
|
uploadList.append([f"用户{i + 1}", i + 1, info])
|
||||||
#ProgramRunStatusShow.pingLunLayout.removeItem(ProgramRunStatusShow.pingLunLayout.itemAt(2))
|
#ProgramRunStatusShow.pingLunLayout.removeItem(ProgramRunStatusShow.pingLunLayout.itemAt(2))
|
||||||
@@ -515,7 +516,7 @@ def readtxt(path):
|
|||||||
|
|
||||||
def ChangeSources():
|
def ChangeSources():
|
||||||
global urlSources
|
global urlSources
|
||||||
sources = [ui.actionGitlink, ui.actionGitee, ui.actionGithub, ui.action_IPv6, ui.action_2, ui.action_3, ui.action]
|
sources = [ui.actionGitee, ui.actionGithub, ui.actionGitlink, ui.action_IPv6, ui.action_2, ui.action_3, ui.action]
|
||||||
for i in range(0, len(sources)):
|
for i in range(0, len(sources)):
|
||||||
if sources[i].isChecked():
|
if sources[i].isChecked():
|
||||||
urlSources = urlSourcesList[i]
|
urlSources = urlSourcesList[i]
|
||||||
@@ -556,9 +557,10 @@ if __name__ == "__main__":
|
|||||||
window.show()
|
window.show()
|
||||||
#ui.actionGitlink.setExclusive(True)
|
#ui.actionGitlink.setExclusive(True)
|
||||||
sourcesGroup = QtWidgets.QActionGroup(window)
|
sourcesGroup = QtWidgets.QActionGroup(window)
|
||||||
sourcesGroup.addAction(ui.actionGitlink)
|
|
||||||
sourcesGroup.addAction(ui.actionGitee)
|
sourcesGroup.addAction(ui.actionGitee)
|
||||||
sourcesGroup.addAction(ui.actionGithub)
|
sourcesGroup.addAction(ui.actionGithub)
|
||||||
|
sourcesGroup.addAction(ui.actionGitlink)
|
||||||
sourcesGroup.addAction(ui.action_IPv6)
|
sourcesGroup.addAction(ui.action_IPv6)
|
||||||
sourcesGroup.addAction(ui.action_2)
|
sourcesGroup.addAction(ui.action_2)
|
||||||
sourcesGroup.addAction(ui.action_3)
|
sourcesGroup.addAction(ui.action_3)
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ programEnv = [
|
|||||||
["PROGRAMPATH", programPath],
|
["PROGRAMPATH", programPath],
|
||||||
["VERSION", version],
|
["VERSION", version],
|
||||||
["THANK", thankText.replace("\n", "\\n")],
|
["THANK", thankText.replace("\n", "\\n")],
|
||||||
["MAKER", "gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
["MAKER", "gfdgd xi"],
|
||||||
["COPYRIGHT", f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
["COPYRIGHT", f"©2020~{time.strftime('%Y')} gfdgd xi"],
|
||||||
["PLATFORM", platform.system()],
|
["PLATFORM", platform.system()],
|
||||||
["DEBUG", str(int("--debug" in sys.argv))]
|
["DEBUG", str(int("--debug" in sys.argv))]
|
||||||
]
|
]
|
||||||
@@ -37,8 +37,8 @@ programEnv = [
|
|||||||
["($PROGRAMPATH)", programPath],
|
["($PROGRAMPATH)", programPath],
|
||||||
["($VERSION)", version],
|
["($VERSION)", version],
|
||||||
["($THANK)", thankText],
|
["($THANK)", thankText],
|
||||||
["($MAKER)", "gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
["($MAKER)", "gfdgd xi"],
|
||||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} gfdgd xi"],
|
||||||
["?", "0"],
|
["?", "0"],
|
||||||
["PLATFORM)", platform.system()],
|
["PLATFORM)", platform.system()],
|
||||||
["DEBUG)", str(int("--debug" in sys.argv))]
|
["DEBUG)", str(int("--debug" in sys.argv))]
|
||||||
@@ -61,7 +61,7 @@ commandEnv += f"PATH=\"{programPath}/command:$PATH\" "
|
|||||||
if len(sys.argv) - optionAll < 2:
|
if len(sys.argv) - optionAll < 2:
|
||||||
print("Wine 运行器自动配置文件解析器交互环境(基于 Bash)")
|
print("Wine 运行器自动配置文件解析器交互环境(基于 Bash)")
|
||||||
print(f"版本:{version}")
|
print(f"版本:{version}")
|
||||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||||
print("--------------------------------------------------------------")
|
print("--------------------------------------------------------------")
|
||||||
os.system(f"{commandEnv} bash ")
|
os.system(f"{commandEnv} bash ")
|
||||||
exit()
|
exit()
|
||||||
@@ -70,6 +70,6 @@ for i in sys.argv[1:]:
|
|||||||
command += f"\"{i}\" "
|
command += f"\"{i}\" "
|
||||||
print("Wine 运行器自动配置文件解析器(基于 Bash)")
|
print("Wine 运行器自动配置文件解析器(基于 Bash)")
|
||||||
print(f"版本:{version}")
|
print(f"版本:{version}")
|
||||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||||
print("--------------------------------------------------------------")
|
print("--------------------------------------------------------------")
|
||||||
os.system(f"{commandEnv} bash {command}")
|
os.system(f"{commandEnv} bash {command}")
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import traceback
|
import traceback
|
||||||
|
import updatekiller
|
||||||
import PyQt5.QtGui as QtGui
|
import PyQt5.QtGui as QtGui
|
||||||
import PyQt5.QtCore as QtCore
|
import PyQt5.QtCore as QtCore
|
||||||
import PyQt5.QtWidgets as QtWidgets
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
#################################################################################################################
|
#################################################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.5.0
|
# 版本:2.5.0
|
||||||
# 更新时间:2022年11月18日
|
# 更新时间:2022年11月18日
|
||||||
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||||
# 使用 Wine 运行器的语言解析器
|
# 使用 Wine 运行器的语言解析器
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 更新时间:2022年11月19日
|
# 更新时间:2022年11月19日
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# 用于判断是否为 bash 解释器
|
# 用于判断是否为 bash 解释器
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||||
# 使用 Wine 运行器的语言解析器
|
# 使用 Wine 运行器的语言解析器
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 更新时间:2022年11月03日
|
# 更新时间:2022年11月03日
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# 用于判断是否为 bash 解释器
|
# 用于判断是否为 bash 解释器
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||||
# 使用 Wine 运行器的语言解析器
|
# 使用 Wine 运行器的语言解析器
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 更新时间:2022年11月19日
|
# 更新时间:2022年11月19日
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# 用于判断是否为 bash 解释器
|
# 用于判断是否为 bash 解释器
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:3.0.1
|
# 版本:3.0.1
|
||||||
# 更新时间:2022年10月05日
|
# 更新时间:2022年10月05日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -12,6 +12,7 @@ import sys
|
|||||||
import time
|
import time
|
||||||
import json
|
import json
|
||||||
import random
|
import random
|
||||||
|
import updatekiller
|
||||||
# 阉割 Android 应用安装功能
|
# 阉割 Android 应用安装功能
|
||||||
#import uengineapi
|
#import uengineapi
|
||||||
import platform
|
import platform
|
||||||
@@ -42,8 +43,8 @@ programEnv = [
|
|||||||
["($PROGRAMPATH)", programPath],
|
["($PROGRAMPATH)", programPath],
|
||||||
["($VERSION)", version],
|
["($VERSION)", version],
|
||||||
["($THANK)", thankText],
|
["($THANK)", thankText],
|
||||||
["($MAKER)", "RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
["($MAKER)", "RacoonGX 团队,By gfdgd xi"],
|
||||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi"],
|
||||||
["($?)", "0"],
|
["($?)", "0"],
|
||||||
["($PLATFORM)", platform.system()],
|
["($PLATFORM)", platform.system()],
|
||||||
["($DEBUG)", "1"]
|
["($DEBUG)", "1"]
|
||||||
@@ -300,7 +301,7 @@ class Command():
|
|||||||
|
|
||||||
def Version(self):
|
def Version(self):
|
||||||
print(f"版本:{version}")
|
print(f"版本:{version}")
|
||||||
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi")
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def Pause(self) -> int:
|
def Pause(self) -> int:
|
||||||
@@ -649,7 +650,7 @@ if __name__ == "__main__":
|
|||||||
if len(sys.argv) - optionAll < 2:
|
if len(sys.argv) - optionAll < 2:
|
||||||
print("Wine 运行器自动配置文件解析器交互环境")
|
print("Wine 运行器自动配置文件解析器交互环境")
|
||||||
print(f"版本:{version}")
|
print(f"版本:{version}")
|
||||||
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi")
|
||||||
print("--------------------------------------------------------------")
|
print("--------------------------------------------------------------")
|
||||||
while True:
|
while True:
|
||||||
commandLine = input(">")
|
commandLine = input(">")
|
||||||
@@ -668,7 +669,7 @@ if __name__ == "__main__":
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
print("Wine 运行器自动配置文件解析器")
|
print("Wine 运行器自动配置文件解析器")
|
||||||
print(f"版本:{version}")
|
print(f"版本:{version}")
|
||||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||||
print("--------------------------------------------------------------")
|
print("--------------------------------------------------------------")
|
||||||
com.Run(com.GetCommandList(), programEnv[0][1], programEnv[1][1])
|
com.Run(com.GetCommandList(), programEnv[0][1], programEnv[1][1])
|
||||||
sys.exit(int(programEnv[9][1]))
|
sys.exit(int(programEnv[9][1]))
|
||||||
BIN
Icon/doge.png
Executable file
BIN
Icon/doge.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -20,9 +20,9 @@ if [[ $? == 0 ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
#sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list
|
#sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||||
echo deb https://code.gitlink.org.cn/gfdgd_xi/weekly-box86-debs/raw/branch/main/debian / > /etc/apt/sources.list.d/box86.list
|
echo deb http://box86.gfdgdxi.top / > /etc/apt/sources.list.d/box86.list
|
||||||
echo "adding key..."
|
echo "adding key..."
|
||||||
wget -qO- https://code.gitlink.org.cn/gfdgd_xi/weekly-box86-debs/raw/branch/main/debian/KEY.gpg | sudo apt-key add -
|
wget -qO- http://box86.gfdgdxi.top/KEY.gpg | sudo apt-key add -
|
||||||
installBox=box86
|
installBox=box86
|
||||||
if [[ $PCArch == "arm64" ]]; then
|
if [[ $PCArch == "arm64" ]]; then
|
||||||
installBox="box86 box64"
|
installBox="box86 box64"
|
||||||
|
|||||||
4
InstallDeepinWine6OnUbuntu.sh
Normal file
4
InstallDeepinWine6OnUbuntu.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
wget -O- https://deepin-wine.i-m.dev/setup.sh | sh
|
||||||
|
echo 安装完成,按回车键后退出
|
||||||
|
read
|
||||||
14
InstallDeepinWineOnUbuntu.sh
Normal file
14
InstallDeepinWineOnUbuntu.sh
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
which git > /dev/null
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
sudo apt install git -y
|
||||||
|
fi
|
||||||
|
cd /tmp
|
||||||
|
if [ -d /tmp/deepin-wine-for-ubuntu ]; then
|
||||||
|
rm -rf /tmp/deepin-wine-for-ubuntu
|
||||||
|
fi
|
||||||
|
git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git
|
||||||
|
cd deepin-wine-for-ubuntu
|
||||||
|
bash install.sh
|
||||||
|
echo 安装完成,按回车键退出
|
||||||
|
read
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import updatekiller
|
||||||
import traceback
|
import traceback
|
||||||
import req as requests
|
import req as requests
|
||||||
def exit():
|
def exit():
|
||||||
@@ -62,7 +63,7 @@ def exit():
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -14,29 +14,70 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
import shutil
|
import shutil
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
homePath = os.path.expanduser('~')
|
homePath = os.path.expanduser('~')
|
||||||
try:
|
try:
|
||||||
sources = [
|
sourcesList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json",
|
"http://fonts.wine-runner.gfdgdxi.top/list.json",
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/fonts/list.json"
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json"
|
||||||
]
|
]
|
||||||
fontList = json.loads(requests.get(sources[0]).text)
|
change = False
|
||||||
|
for i in sourcesList:
|
||||||
|
try:
|
||||||
|
fontList = json.loads(requests.get(i).text)
|
||||||
|
change = True
|
||||||
|
break
|
||||||
except:
|
except:
|
||||||
|
pass
|
||||||
|
if not change:
|
||||||
|
fontList = json.loads(requests.get(sourcesList[0]).text)
|
||||||
|
except:
|
||||||
|
print("使用离线列表")
|
||||||
fontList = [
|
fontList = [
|
||||||
["fake_simsun.ttc", "https://gitlink.org.cn/api/attachments/392168", "simsun.ttc", "fake_simsun.ttc(会替换容器内的宋体,且与 deepin 有问题)"],
|
[
|
||||||
["simsun.ttc", "https://gitlink.org.cn/api/attachments/392181", "simsun.ttc", "simsun.ttc"],
|
"fake_simsun.ttc",
|
||||||
["simsunb.ttf", "https://gitlink.org.cn/api/attachments/392180", "simsunb.ttf", "simsunb.ttf"],
|
"http://fonts.wine-runner.gfdgdxi.top/fake_simsun.ttc",
|
||||||
["msyh.ttc", "https://gitlink.org.cn/api/attachments/392182", "msyh.ttc", "msyh.ttc"],
|
"simsun.ttc",
|
||||||
["msyhl.ttc", "https://gitlink.org.cn/api/attachments/392184", "msyhl.ttc", "msyhl.ttc"],
|
"fake_simsun.ttc(会替换容器内的宋体)"
|
||||||
["msyhbd.ttc", "https://gitlink.org.cn/api/attachments/392183", "msyhbd.ttc", "msyhbd.ttc"]
|
],
|
||||||
|
[
|
||||||
|
"simsun.ttc",
|
||||||
|
"http://fonts.wine-runner.gfdgdxi.top/simsun.ttc",
|
||||||
|
"simsun.ttc",
|
||||||
|
"simsun.ttc"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"simsunb.ttf",
|
||||||
|
"http://fonts.wine-runner.gfdgdxi.top/simsunb.ttf",
|
||||||
|
"simsunb.ttf",
|
||||||
|
"simsunb.ttf"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"msyh.ttc",
|
||||||
|
"http://fonts.wine-runner.gfdgdxi.top/msyh.ttc",
|
||||||
|
"msyh.ttc",
|
||||||
|
"msyh.ttc"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"msyhl.ttc",
|
||||||
|
"http://fonts.wine-runner.gfdgdxi.top/msyhl.ttc",
|
||||||
|
"msyhl.ttc",
|
||||||
|
"msyhl.ttc"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"msyhbd.ttc",
|
||||||
|
"http://fonts.wine-runner.gfdgdxi.top/msyhbd.ttc",
|
||||||
|
"msyhbd.ttc",
|
||||||
|
"msyhbd.ttc"
|
||||||
|
]
|
||||||
]
|
]
|
||||||
def Download(wineBotton: str, id: int) -> int:
|
def Download(wineBotton: str, id: int) -> int:
|
||||||
return os.system(f"aria2c -x 16 -s 16 -d '{wineBotton}/drive_c/windows/Fonts/' -o '{fontList[id][0]}' \"{fontList[id][1]}\"")
|
return os.system(f"aria2c -x 16 -s 16 -d '{wineBotton}/drive_c/windows/Fonts/' -o '{fontList[id][0]}' \"{fontList[id][1]}\"")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -12,11 +12,12 @@
|
|||||||
#################
|
#################
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import updatekiller
|
||||||
import traceback
|
import traceback
|
||||||
import pyquery
|
import pyquery
|
||||||
|
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装 mono、gecko")
|
print("本程序可以更方便的在 wine 容器中安装 mono、gecko")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -13,27 +13,40 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
try:
|
try:
|
||||||
sourcesList = [
|
sourcesList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json",
|
"http://msxml.wine-runner.gfdgdxi.top/list.json",
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/msxml/list.json"
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json"
|
||||||
]
|
]
|
||||||
|
change = False
|
||||||
|
for i in sourcesList:
|
||||||
|
try:
|
||||||
|
msxmlList = json.loads(requests.get(i).text)
|
||||||
|
change = True
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if not change:
|
||||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||||
except:
|
except:
|
||||||
|
print("使用离线列表")
|
||||||
msxmlList = [
|
msxmlList = [
|
||||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi", "msxml6.0.msi"],
|
["MSXML 4.0 SP2", "http://msxml.wine-runner.gfdgdxi.top/msxml6.0.msi", "msxml6.0.msi"],
|
||||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi", "msxml4.0SP3.msi"],
|
["MSXML 4.0 SP3", "http://msxml.wine-runner.gfdgdxi.top/msxml4.0SP3.msi", "msxml4.0SP3.msi"],
|
||||||
["MSXML 6.0", "https://www.gitlink.org.cn/api/attachments/390681?gfdgd_xi", "msxml6_x64.msi"]
|
["MSXML 6.0", "http://msxml.wine-runner.gfdgdxi.top/msxml6_x64.msi", "msxml6_x64.msi"],
|
||||||
|
["MSXML 3.0", "http://msxml.wine-runner.gfdgdxi.top/msxml3.msi", "msxml3.msi"]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def Download(wineBotton: str, id: int, wine: str):
|
def Download(wineBotton: str, id: int, wine: str):
|
||||||
os.system(f"aria2c -x 16 -s 16 -d \"/tmp/deepin-wine-runner-msxml/\" -o \"{msxmlList[id][2]}\" \"{msxmlList[id][1]}\"")
|
os.system(f"aria2c -x 16 -s 16 -d \"/tmp/deepin-wine-runner-msxml/\" -o \"{msxmlList[id][2]}\" \"{msxmlList[id][1]}\"")
|
||||||
return os.system(f"WINEPREFIX='{wineBotton}' {wine} msiexec /i \"/tmp/deepin-wine-runner-msxml/{msxmlList[id][2]}\"")
|
return os.system(f"WINEPREFIX='{wineBotton}' {wine} msiexec /i \"/tmp/deepin-wine-runner-msxml/{msxmlList[id][2]}\"")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装 MSXML")
|
print("本程序可以更方便的在 wine 容器中安装 MSXML")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -13,14 +13,26 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
try:
|
try:
|
||||||
sourcesList = [
|
sourcesList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/net/list.json",
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/net/list.json",
|
||||||
|
"http://net.wine-runner.gfdgdxi.top/list.json",
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/net/list.json"
|
"http://gfdgdxi.msns.cn/wine-runner-list/net/list.json"
|
||||||
]
|
]
|
||||||
|
change = False
|
||||||
|
for i in sourcesList:
|
||||||
|
try:
|
||||||
|
netList = json.loads(requests.get(i).text)
|
||||||
|
change = True
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if not change:
|
||||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||||
except:
|
except:
|
||||||
|
print("使用离线列表")
|
||||||
netList = [
|
netList = [
|
||||||
["Microsoft® .NET Framework 1.1 版可转散发套件", "https://download.microsoft.com/download/8/2/7/827bb1ef-f5e1-4464-9788-40ef682930fd/dotnetfx.exe"],
|
["Microsoft® .NET Framework 1.1 版可转散发套件", "https://download.microsoft.com/download/8/2/7/827bb1ef-f5e1-4464-9788-40ef682930fd/dotnetfx.exe"],
|
||||||
["Microsoft .NET Framework 2.0 Service Pack 1 (x86)", "https://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe"],
|
["Microsoft .NET Framework 2.0 Service Pack 1 (x86)", "https://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe"],
|
||||||
@@ -56,7 +68,7 @@ def Download(wineBotton: str, id: int, wine: str):
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装 .net framework")
|
print("本程序可以更方便的在 wine 容器中安装 .net framework")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 使用系统默认的 bash 运行
|
# 使用系统默认的 bash 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.2.0
|
# 版本:2.2.0
|
||||||
# 更新时间:2022年09月25日
|
# 更新时间:2022年09月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -13,14 +13,26 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
try:
|
try:
|
||||||
sourcesList = [
|
sourcesList = [
|
||||||
|
"http://other.wine-runner.gfdgdxi.top/list.json",
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/other/list.json",
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/other/list.json",
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/other/list.json"
|
"http://gfdgdxi.msns.cn/wine-runner-list/other/list.json"
|
||||||
]
|
]
|
||||||
|
change = False
|
||||||
|
for i in sourcesList:
|
||||||
|
try:
|
||||||
|
msxmlList = json.loads(requests.get(i).text)
|
||||||
|
change = True
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if not change:
|
||||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||||
except:
|
except:
|
||||||
|
print("使用离线列表")
|
||||||
msxmlList = [
|
msxmlList = [
|
||||||
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe", "scripten.exe"],
|
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe", "scripten.exe"],
|
||||||
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
||||||
@@ -38,7 +50,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
|||||||
return os.system(f"WINEPREFIX='{wineBotton}' {wine} msiexec /i '/tmp/deepin-wine-runner-other/{msxmlList[id][3]}'")
|
return os.system(f"WINEPREFIX='{wineBotton}' {wine} msiexec /i '/tmp/deepin-wine-runner-other/{msxmlList[id][3]}'")
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装运行库")
|
print("本程序可以更方便的在 wine 容器中安装运行库")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
@@ -65,6 +77,8 @@ if __name__ == "__main__":
|
|||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
choose = input("请输入要选择要安装的应用(输入“exit”退出):").lower()
|
choose = input("请输入要选择要安装的应用(输入“exit”退出):").lower()
|
||||||
|
if choose == "exit":
|
||||||
|
break
|
||||||
choose = int(choose)
|
choose = int(choose)
|
||||||
except:
|
except:
|
||||||
print("输入错误,请重新输入")
|
print("输入错误,请重新输入")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 判断是否有安装 Qemu User
|
# 判断是否有安装 Qemu User
|
||||||
which qemu-i386 > /dev/null
|
which qemu-i386 > /dev/null
|
||||||
if [[ !$? ]]; then
|
if [[ $? == 0 ]]; then
|
||||||
echo 您已安装过 Qemu User,按回车键后退出
|
echo 您已安装过 Qemu User,按回车键后退出
|
||||||
read
|
read
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
arch=amd64
|
arch=amd64
|
||||||
libPath=/usr/lib/x86_64-linux-gnu/
|
libPath=/usr/lib/x86_64-linux-gnu/
|
||||||
version=1.0.0
|
version=1.0.1
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
@@ -16,5 +16,6 @@ fi
|
|||||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo dpkg -i /tmp/$fileName
|
sudo dpkg -i /tmp/$fileName
|
||||||
|
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||||
echo 安装完成,按回车键退出
|
echo 安装完成,按回车键退出
|
||||||
read
|
read
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=arm64
|
arch=arm64
|
||||||
libPath=/usr/lib/aarch64-linux-gnu
|
libPath=/usr/lib/aarch64-linux-gnu
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
@@ -15,6 +15,7 @@ if [[ -f /tmp/$fileName ]]; then
|
|||||||
fi
|
fi
|
||||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||||
sudo dpkg -i /tmp/$fileName
|
sudo dpkg -i /tmp/$fileName
|
||||||
echo 安装完成,按回车键退出
|
echo 安装完成,按回车键退出
|
||||||
read
|
read
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=armhf
|
arch=armhf
|
||||||
libPath=/usr/lib/arm-linux-gnueabihf/
|
libPath=/usr/lib/arm-linux-gnueabihf/
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
@@ -15,6 +15,7 @@ if [[ -f /tmp/$fileName ]]; then
|
|||||||
fi
|
fi
|
||||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||||
sudo dpkg -i /tmp/$fileName
|
sudo dpkg -i /tmp/$fileName
|
||||||
echo 安装完成,按回车键退出
|
echo 安装完成,按回车键退出
|
||||||
read
|
read
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=i386
|
arch=i386
|
||||||
libPath=/usr/lib/i386-linux-gnu/
|
libPath=/usr/lib/i386-linux-gnu/
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
@@ -15,6 +15,7 @@ if [[ -f /tmp/$fileName ]]; then
|
|||||||
fi
|
fi
|
||||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||||
sudo dpkg -i /tmp/$fileName
|
sudo dpkg -i /tmp/$fileName
|
||||||
echo 安装完成,按回车键退出
|
echo 安装完成,按回车键退出
|
||||||
read
|
read
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=mips64el
|
arch=mips64el
|
||||||
libPath=/usr/lib/mips64el-linux-gnuabi64
|
libPath=/usr/lib/mips64el-linux-gnuabi64
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
@@ -15,6 +15,7 @@ if [[ -f /tmp/$fileName ]]; then
|
|||||||
fi
|
fi
|
||||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||||
sudo dpkg -i /tmp/$fileName
|
sudo dpkg -i /tmp/$fileName
|
||||||
echo 安装完成,按回车键退出
|
echo 安装完成,按回车键退出
|
||||||
read
|
read
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=ppc64el
|
arch=ppc64el
|
||||||
libPath=/usr/lib/powerpc64le-linux-gnu/
|
libPath=/usr/lib/powerpc64le-linux-gnu/
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
@@ -15,6 +15,7 @@ if [[ -f /tmp/$fileName ]]; then
|
|||||||
fi
|
fi
|
||||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||||
sudo dpkg -i /tmp/$fileName
|
sudo dpkg -i /tmp/$fileName
|
||||||
echo 安装完成,按回车键退出
|
echo 安装完成,按回车键退出
|
||||||
read
|
read
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=riscv64
|
arch=riscv64
|
||||||
libPath=/usr/lib/riscv64-linux-gnu/
|
libPath=/usr/lib/riscv64-linux-gnu/
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
arch=s390x
|
arch=s390x
|
||||||
libPath=/usr/lib/s390x-linux-gnu/
|
libPath=/usr/lib/s390x-linux-gnu/
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||||
fileName=`basename $url`
|
fileName=`basename $url`
|
||||||
|
|
||||||
if [[ -d $libPath ]]; then
|
if [[ -d $libPath ]]; then
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年10月05日
|
# 更新时间:2022年10月05日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -13,20 +13,31 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
try:
|
try:
|
||||||
sourcesList = [
|
sourcesList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/list.json",
|
"http://vb.wine-runner.gfdgdxi.top/list.json",
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/vb/list.json"
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/list.json"
|
||||||
]
|
]
|
||||||
netList = json.loads(requests.get().text)
|
change = False
|
||||||
|
for i in sourcesList:
|
||||||
|
try:
|
||||||
|
netList = json.loads(requests.get(i).text)
|
||||||
|
change = True
|
||||||
|
break
|
||||||
except:
|
except:
|
||||||
|
pass
|
||||||
|
if not change:
|
||||||
|
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||||
|
except:
|
||||||
|
print("使用离线列表")
|
||||||
netList = [
|
netList = [
|
||||||
["Visual Basic 1(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun100.exe", "vbrun100.exe"],
|
["Visual Basic 1", "http://vb.wine-runner.gfdgdxi.top/vbrun100.exe", "vbrun100.exe"],
|
||||||
["Visual Basic 2(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun200.exe", "vbrun200.exe"],
|
["Visual Basic 2", "http://vb.wine-runner.gfdgdxi.top/vbrun200.exe", "vbrun200.exe"],
|
||||||
["Visual Basic 3", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vb3run.exe", "vb3run.exe"],
|
["Visual Basic 3", "http://vb.wine-runner.gfdgdxi.top/vb3run.exe", "vb3run.exe"],
|
||||||
["Visual Basic 4", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vb4run.exe", "vb4run.exe"],
|
["Visual Basic 4", "http://vb.wine-runner.gfdgdxi.top/vb4run.exe", "vb4run.exe"],
|
||||||
["Visual Basic 6", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun60sp4.exe", "vbrun60sp4.exe"]
|
["Visual Basic 6", "http://vb.wine-runner.gfdgdxi.top/vbrun60sp4.exe", "vbrun60sp4.exe"]
|
||||||
]
|
]
|
||||||
def Download(wineBotton: str, id: int, wine: str) -> int:
|
def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||||
try:
|
try:
|
||||||
@@ -38,7 +49,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装 Visual Basic Runtime")
|
print("本程序可以更方便的在 wine 容器中安装 Visual Basic Runtime")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -13,16 +13,27 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
try:
|
try:
|
||||||
sourcesList = [
|
sourcesList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json",
|
"http://vcpp.wine-runner.gfdgdxi.top/list.json",
|
||||||
"http://gfdgdxi.msns.cn/wine-runner-list/vscpp/list.json"
|
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json"
|
||||||
]
|
]
|
||||||
|
change = False
|
||||||
|
for i in sourcesList:
|
||||||
|
try:
|
||||||
|
netList = json.loads(requests.get(i).text)
|
||||||
|
change = True
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
if not change:
|
||||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||||
except:
|
except:
|
||||||
|
print("使用离线列表")
|
||||||
netList = [
|
netList = [
|
||||||
["VC6 运行库", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/VC6RedistSetup_deu.exe", "VC6RedistSetup_deu.exe"],
|
["VC6 运行库", "http://vcpp.wine-runner.gfdgdxi.top/VC6RedistSetup_deu.exe", "VC6RedistSetup_deu.exe"],
|
||||||
["2005 Service Pack 1 Redistributable Package MFC 安全更新", "https://download.microsoft.com/download/4/A/2/4A22001F-FA3B-4C13-BF4E-42EC249D51C4/vcredist_x86.EXE", "vcredist05_x86.exe"],
|
["2005 Service Pack 1 Redistributable Package MFC 安全更新", "https://download.microsoft.com/download/4/A/2/4A22001F-FA3B-4C13-BF4E-42EC249D51C4/vcredist_x86.EXE", "vcredist05_x86.exe"],
|
||||||
["2008 (VC++ 9.0) SP1 (不再支持) X86", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe", "vcredist08_x86.exe"],
|
["2008 (VC++ 9.0) SP1 (不再支持) X86", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe", "vcredist08_x86.exe"],
|
||||||
["2008 (VC++ 9.0) SP1 (不再支持) X64", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe", "vcredist08_x86.exe"],
|
["2008 (VC++ 9.0) SP1 (不再支持) X64", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe", "vcredist08_x86.exe"],
|
||||||
@@ -46,7 +57,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if "--help" in sys.argv:
|
if "--help" in sys.argv:
|
||||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
print("作者:gfdgd xi")
|
||||||
print("版本:1.0.0")
|
print("版本:1.0.0")
|
||||||
print("本程序可以更方便的在 wine 容器中安装 Visual Studio C++")
|
print("本程序可以更方便的在 wine 容器中安装 Visual Studio C++")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.1.0
|
# 版本:2.1.0
|
||||||
# 更新时间:2022年08月25日
|
# 更新时间:2022年08月25日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
# 引入所需的库
|
# 引入所需的库
|
||||||
#################
|
#################
|
||||||
import os
|
import os
|
||||||
|
import updatekiller
|
||||||
|
|
||||||
def InstallWithDeepinSource(program):
|
def InstallWithDeepinSource(program):
|
||||||
os.system(f"sudo cp '{programPath}/deepin.list' /etc/apt/sources.list.d/deepin20-withwinerunner.list")
|
os.system(f"sudo cp '{programPath}/deepin.list' /etc/apt/sources.list.d/deepin20-withwinerunner.list")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 使用系统默认的 python3 运行
|
# 使用系统默认的 python3 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.5.0
|
# 版本:2.5.0
|
||||||
# 更新时间:2022年11月15日
|
# 更新时间:2022年11月15日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
#################
|
#################
|
||||||
import os
|
import os
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
import updatekiller
|
||||||
|
|
||||||
def YesOrNo():
|
def YesOrNo():
|
||||||
if input().replace(" ", "").upper() == "N":
|
if input().replace(" ", "").upper() == "N":
|
||||||
|
|||||||
19
Makefile
19
Makefile
@@ -3,14 +3,18 @@ build:
|
|||||||
|
|
||||||
clean:
|
clean:
|
||||||
python3 RemovePycacheFile.py
|
python3 RemovePycacheFile.py
|
||||||
|
cd VM-source ; make clean
|
||||||
|
rm VM-source/VirtualMachine -rfv
|
||||||
|
rm -rfv VM-source/.qmake.stash
|
||||||
|
|
||||||
package:
|
package:
|
||||||
#cd VM-source && qmake
|
#cd VM-source && qmake
|
||||||
#cd VM-source && make
|
#cd VM-source && make
|
||||||
#cd wine && make
|
#cd wine && make
|
||||||
make clean -j$(nproc)
|
make clean -j$(nproc)
|
||||||
|
mkdir deb/opt/apps/deepin-wine-runner/LANG -pv
|
||||||
cp -rv helperset deb/opt/apps/deepin-wine-runner/
|
cp -rv helperset deb/opt/apps/deepin-wine-runner/
|
||||||
cp -rv VM-source/VirtualMachine VM
|
#cp -rv VM-source/VirtualMachine VM
|
||||||
cp -rv VM-source/deepin-wine-runner.svg VM
|
cp -rv VM-source/deepin-wine-runner.svg VM
|
||||||
cp -rv VM-source/Windows7X64Auto.iso VM
|
cp -rv VM-source/Windows7X64Auto.iso VM
|
||||||
cp -rv VM-source/Windows7X86Auto.iso VM
|
cp -rv VM-source/Windows7X86Auto.iso VM
|
||||||
@@ -26,6 +30,7 @@ package:
|
|||||||
cp -rv QemuDownload.py deb/opt/apps/deepin-wine-runner
|
cp -rv QemuDownload.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv QemuRun.py deb/opt/apps/deepin-wine-runner
|
cp -rv QemuRun.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv kill.sh deb/opt/apps/deepin-wine-runner
|
cp -rv kill.sh deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv updatekiller.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv InstallWineOnDeepin23Alpha.py deb/opt/apps/deepin-wine-runner
|
cp -rv InstallWineOnDeepin23Alpha.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv wrestool deb/opt/apps/deepin-wine-runner
|
cp -rv wrestool deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv Mount.sh deb/opt/apps/deepin-wine-runner
|
cp -rv Mount.sh deb/opt/apps/deepin-wine-runner
|
||||||
@@ -35,6 +40,8 @@ package:
|
|||||||
cp -rv IconList.json deb/opt/apps/deepin-wine-runner
|
cp -rv IconList.json deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv GetEXEVersion.exe deb/opt/apps/deepin-wine-runner
|
cp -rv GetEXEVersion.exe deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv MountWithoutHome.sh deb/opt/apps/deepin-wine-runner
|
cp -rv MountWithoutHome.sh deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv RunCommandWithTerminal.py deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv QemuSystemInstall.sh deb/opt/apps/deepin-wine-runner
|
||||||
echo "[]" > deb/opt/apps/deepin-wine-runner/wine/winelist.json
|
echo "[]" > deb/opt/apps/deepin-wine-runner/wine/winelist.json
|
||||||
rm -rfv deb/opt/apps/deepin-wine-runner/wine/winelist.json
|
rm -rfv deb/opt/apps/deepin-wine-runner/wine/winelist.json
|
||||||
cp -rv req deb/opt/apps/deepin-wine-runner
|
cp -rv req deb/opt/apps/deepin-wine-runner
|
||||||
@@ -100,8 +107,16 @@ package:
|
|||||||
cp -rv Model deb/opt/apps/deepin-wine-runner
|
cp -rv Model deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv API deb/opt/apps/deepin-wine-runner
|
cp -rv API deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv key deb/opt/apps/deepin-wine-runner
|
cp -rv key deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv InstallQemuUser.sh deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv RemoveQemuUser.sh deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv InstallBox86.sh deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv InstallRuntime deb/opt/apps/deepin-wine-runner
|
||||||
|
python3 UpdateTime.py
|
||||||
python3 RemovePycacheFile.py
|
python3 RemovePycacheFile.py
|
||||||
|
sudo rm -rfv /tmp/spark-deepin-wine-runner-builder/
|
||||||
cp -rv deb /tmp/spark-deepin-wine-runner-builder
|
cp -rv deb /tmp/spark-deepin-wine-runner-builder
|
||||||
|
rm -rfv deb/opt/apps/deepin-wine-runner/*
|
||||||
|
rm -rfv package-script.zip
|
||||||
mkdir -pv /tmp/spark-deepin-wine-runner-builder/usr/bin
|
mkdir -pv /tmp/spark-deepin-wine-runner-builder/usr/bin
|
||||||
ln -s /opt/apps/deepin-wine-runner/deepin-wine-packager.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-package-builder
|
ln -s /opt/apps/deepin-wine-runner/deepin-wine-packager.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-package-builder
|
||||||
ln -s /opt/apps/deepin-wine-runner/deepin-wine-easy-packager.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-packager-easy-builder
|
ln -s /opt/apps/deepin-wine-runner/deepin-wine-easy-packager.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-packager-easy-builder
|
||||||
@@ -136,7 +151,7 @@ install:
|
|||||||
sudo apt reinstall ./spark-deepin-wine-runner.deb -y --allow-downgrades
|
sudo apt reinstall ./spark-deepin-wine-runner.deb -y --allow-downgrades
|
||||||
|
|
||||||
remove:
|
remove:
|
||||||
sudo apt purge spark-deepin-wine-runner
|
sudo apt purge spark-deepin-wine-runner -y
|
||||||
|
|
||||||
run:
|
run:
|
||||||
python3 mainwindow.py
|
python3 mainwindow.py
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import PyQt5.QtWidgets as QtWidgets
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import base64
|
import base64
|
||||||
import traceback
|
import traceback
|
||||||
|
import updatekiller
|
||||||
import req as requests
|
import req as requests
|
||||||
import PyQt5.QtGui as QtGui
|
import PyQt5.QtGui as QtGui
|
||||||
import PyQt5.QtCore as QtCore
|
import PyQt5.QtCore as QtCore
|
||||||
@@ -14,7 +15,7 @@ class ProgramRunStatusShow():
|
|||||||
try:
|
try:
|
||||||
fenlists = []
|
fenlists = []
|
||||||
for i in range(6):
|
for i in range(6):
|
||||||
fenlists.append(int(requests.get(base64.b64decode("aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy93aW5lLXJ1bm5lci1kb3dubG9hZHMtb2YtcnVubmVyL3Jhdy9icmFuY2gvbWFzdGVyL0Zlbi9GZW4=").decode("utf-8") + f"{i}.txt").text))
|
fenlists.append(int(requests.get("http://data.download.gfdgdxi.top/Fen/Fen" + f"{i}.txt").text))
|
||||||
tipsInfo = ""
|
tipsInfo = ""
|
||||||
except:
|
except:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import os
|
|||||||
import shutil
|
import shutil
|
||||||
import random
|
import random
|
||||||
import sys
|
import sys
|
||||||
|
import updatekiller
|
||||||
import json
|
import json
|
||||||
import traceback
|
import traceback
|
||||||
import requests
|
import requests
|
||||||
@@ -91,7 +92,7 @@ class Ui_MainWindow(object):
|
|||||||
|
|
||||||
self.menu = MainWindow.menuBar()
|
self.menu = MainWindow.menuBar()
|
||||||
self.changeSources = self.menu.addMenu(_translate("MainWindow", "更换源"))
|
self.changeSources = self.menu.addMenu(_translate("MainWindow", "更换源"))
|
||||||
self.gitlinkAction = QtWidgets.QAction(_translate("MainWindow", "Gitlink 源(推荐)"))
|
self.gitlinkAction = QtWidgets.QAction(_translate("MainWindow", "Github 源(推荐)"))
|
||||||
self.ipv6Action = QtWidgets.QAction(_translate("MainWindow", "备用源(只支持 IPv6 用户)"))
|
self.ipv6Action = QtWidgets.QAction(_translate("MainWindow", "备用源(只支持 IPv6 用户)"))
|
||||||
self.localAction = QtWidgets.QAction(_translate("MainWindow", "本地测试源(127.0.0.1)"))
|
self.localAction = QtWidgets.QAction(_translate("MainWindow", "本地测试源(127.0.0.1)"))
|
||||||
self.changeSources.addAction(self.gitlinkAction)
|
self.changeSources.addAction(self.gitlinkAction)
|
||||||
@@ -323,6 +324,9 @@ def on_addButton_clicked():
|
|||||||
# ui.deleteZip.setChecked(False)
|
# ui.deleteZip.setChecked(False)
|
||||||
# ui.unzip.setChecked(False)
|
# ui.unzip.setChecked(False)
|
||||||
arch = internetJsonList[choose][2]
|
arch = internetJsonList[choose][2]
|
||||||
|
if "://" in downloadName:
|
||||||
|
downloadUrl = downloadName
|
||||||
|
else:
|
||||||
downloadUrl = f"{internetWineSource}/{arch}/{downloadName}"
|
downloadUrl = f"{internetWineSource}/{arch}/{downloadName}"
|
||||||
dialog = QtWidgets.QProgressDialog()
|
dialog = QtWidgets.QProgressDialog()
|
||||||
cancel = QtWidgets.QPushButton("取消")
|
cancel = QtWidgets.QPushButton("取消")
|
||||||
@@ -392,7 +396,7 @@ if __name__ == "__main__":
|
|||||||
localJsonList = []
|
localJsonList = []
|
||||||
internetJsonList = []
|
internetJsonList = []
|
||||||
internetWineSourceList = [
|
internetWineSourceList = [
|
||||||
"https://code.gitlink.org.cn/gfdgd_xi/deepin-wine-runner-ubuntu-image/raw/branch/master/Sandbox",
|
"http://chroot.gfdgdxi.top",
|
||||||
"http://gfdgdxi.msns.cn/deepin-wine-runner-ubuntu-image/Sandbox", # 备用源,纯 IPv6 源
|
"http://gfdgdxi.msns.cn/deepin-wine-runner-ubuntu-image/Sandbox", # 备用源,纯 IPv6 源
|
||||||
"http://127.0.0.1/deepin-wine-runner-ubuntu-image/Sandbox/" # 本地测试源
|
"http://127.0.0.1/deepin-wine-runner-ubuntu-image/Sandbox/" # 本地测试源
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import getpass
|
import getpass
|
||||||
|
import updatekiller
|
||||||
import PyQt5.QtWidgets as QtWidgets
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
4
QemuSystemInstall.sh
Executable file
4
QemuSystemInstall.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
pkexec apt install qemu-system -y
|
||||||
|
echo 安装完成!按回车键退出
|
||||||
|
read
|
||||||
47
README.md
47
README.md
@@ -1,5 +1,5 @@
|
|||||||
<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.2.0</h1>
|
<h1 align="center">Wine 运行器 3.2.2</h1>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
## 介绍
|
## 介绍
|
||||||
@@ -11,7 +11,7 @@ env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
|
|||||||
```
|
```
|
||||||
让你可以简易方便的使用 wine
|
让你可以简易方便的使用 wine
|
||||||
是使用 Python3 的 PyQt5 构建的
|
是使用 Python3 的 PyQt5 构建的
|
||||||
(测试平台:deepin 20.8;UOS 家庭版 21.3.1;Ubuntu 22.04;Ubuntu 20.04;UOS 专业版 1050;openkylin)
|
(测试平台:deepin 20.8;UOS 家庭版 22;Ubuntu 22.04;Ubuntu 20.04;Ubuntu 23.04;UOS 专业版 1050;openkylin;cuteos;yoyo os)
|
||||||

|

|
||||||
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
|
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
|
||||||
```bash
|
```bash
|
||||||
@@ -48,7 +48,7 @@ env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
|
|||||||
1. 用 Wine 运行 EXE
|
1. 用 Wine 运行 EXE
|
||||||
2. 支持下载/安装 Wine
|
2. 支持下载/安装 Wine
|
||||||
3. 支持下载定制好的 Chroot 容器并使用 Qemu 调用运行
|
3. 支持下载定制好的 Chroot 容器并使用 Qemu 调用运行
|
||||||
4. 支持**半自动**安装 Windows 7 镜像至 VirtualBox(只限 x86_64)
|
4. 支持**半自动**安装 Windows 7 镜像至 VirtualBox/Qemu
|
||||||
5. 支持打包 Wine 应用(简易打包器/基于生态适配脚本的打包器/高级打包器)
|
5. 支持打包 Wine 应用(简易打包器/基于生态适配脚本的打包器/高级打包器)
|
||||||
6. 检测容器缺失 DLL 并下载
|
6. 检测容器缺失 DLL 并下载
|
||||||
7. 支持在线/本地拉取 Wine 容器配置方案并部署(初步应用商店)
|
7. 支持在线/本地拉取 Wine 容器配置方案并部署(初步应用商店)
|
||||||
@@ -61,6 +61,17 @@ env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
|
|||||||
14. 支持下载适配常用字体
|
14. 支持下载适配常用字体
|
||||||
15. 支持终止指定容器运行的所有程序
|
15. 支持终止指定容器运行的所有程序
|
||||||
|
|
||||||
|
## 上架到的应用商店
|
||||||
|
> 可以从下列应用商店获取 Wine 运行器
|
||||||
|
### Deepin/UOS 应用商店
|
||||||
|

|
||||||
|
|
||||||
|
### 星火应用商店
|
||||||
|

|
||||||
|
|
||||||
|
### 龙芯应用合作社
|
||||||
|
(找时间再补图)
|
||||||
|
|
||||||
## 分支介绍
|
## 分支介绍
|
||||||
### main 分支
|
### main 分支
|
||||||
主分支,稳定分支
|
主分支,稳定分支
|
||||||
@@ -119,6 +130,31 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de
|
|||||||

|

|
||||||
|
|
||||||
## 更新日志
|
## 更新日志
|
||||||
|
### 3.2.2(2023年05月12日)
|
||||||
|
**※1. 修改源地址(迁出 Gitlink);**
|
||||||
|
**※2. 修复非 X86 架构运行器主页面虚拟机工具禁用的问题;**
|
||||||
|
3、部分组件支持选择最优源。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 3.2.1(2023年04月29日)
|
||||||
|
**※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 运行器更新策略。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 3.2.0(2023年03月19日)
|
### 3.2.0(2023年03月19日)
|
||||||
**※1、Windows 应用适配工具新增系统资源显示;**
|
**※1、Windows 应用适配工具新增系统资源显示;**
|
||||||
**※2、Windows 应用适配工具使用 C++ 重写;**
|
**※2、Windows 应用适配工具使用 C++ 重写;**
|
||||||
@@ -563,7 +599,8 @@ Gitlink:https://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner
|
|||||||
|
|
||||||
## 附:用于编译 Wine 的 Docker 容器(Debian10)
|
## 附:用于编译 Wine 的 Docker 容器(Debian10)
|
||||||
内安装了编译 Wine 所需要的依赖,Wine 编译教程:https://wiki.winehq.org/Building_Wine
|
内安装了编译 Wine 所需要的依赖,Wine 编译教程:https://wiki.winehq.org/Building_Wine
|
||||||
当然也可以到 http://wine.wine-runner.racoongx.cn/ 或 Wine 运行器内下载已经编译好的 Wine
|
当然也可以到 http://wine.wine-runner.gfdgdxi.top/ 或 Wine 运行器内下载已经编译好的 Wine
|
||||||
|
(屏蔽微信在Wine中运行时产生的水印/黑块?可以参考:https://12101111.github.io/block-wine-wechat-black-window/ 和 https://blog.csdn.net/ericden/article/details/122118443 )
|
||||||
### 拉取
|
### 拉取
|
||||||
***(需要先安装 Docker 后再输入以下命令)***
|
***(需要先安装 Docker 后再输入以下命令)***
|
||||||
```bash
|
```bash
|
||||||
@@ -617,4 +654,4 @@ make install -j4
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# ©2020-Now gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# ©2020-Now gfdgd xi
|
||||||
10
RunCommandWithTerminal.py
Normal file
10
RunCommandWithTerminal.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import sys
|
||||||
|
from Model import *
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print("请加入需要的命令")
|
||||||
|
sys.exit(1)
|
||||||
|
o = ""
|
||||||
|
for i in sys.argv[1:]:
|
||||||
|
o += f"'{i}' "
|
||||||
|
OpenTerminal(o)
|
||||||
15
RunVM.sh
15
RunVM.sh
@@ -1,17 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 使用系统默认的 bash 运行
|
# 使用系统默认的 bash 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:2.4.1
|
# 版本:2.4.1
|
||||||
# 更新时间:2022年11月06日
|
# 更新时间:2022年11月06日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
# 基于 Python3 的 tkinter 构建
|
# 基于 Python3 的 tkinter 构建
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
which VBoxManage
|
#which VBoxManage
|
||||||
if test $? == 0 ; then
|
#if test $? == 0 ; then
|
||||||
VM/VirtualMachine
|
# VM/VirtualMachine
|
||||||
exit
|
# exit
|
||||||
fi
|
#fi
|
||||||
zenity --info --no-wrap --text="未安装 VirtualBox,请自行安装 VirtualBox 并重新运行"
|
#zenity --info --no-wrap --text="未安装 VirtualBox,请自行安装 VirtualBox 并重新运行"
|
||||||
#./launch.sh deepin-terminal -C "pkexec apt install virtualbox-6.1 -y && zenity --info --text=\"安装完毕,关闭此对话框和安装终端重新运行程序即可\" --no-wrap" --keep-open
|
#./launch.sh deepin-terminal -C "pkexec apt install virtualbox-6.1 -y && zenity --info --text=\"安装完毕,关闭此对话框和安装终端重新运行程序即可\" --no-wrap" --keep-open
|
||||||
|
VM/VirtualMachine
|
||||||
29
StartVM.sh
29
StartVM.sh
@@ -1,20 +1,43 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 使用系统默认的 bash 运行
|
# 使用系统默认的 bash 运行
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:1.7.0
|
# 版本:1.7.0
|
||||||
# 更新时间:2022年07月15日
|
# 更新时间:2022年07月15日
|
||||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||||
# 基于 Python3 的 tkinter 构建
|
# 基于 Python3 的 tkinter 构建
|
||||||
###########################################################################################
|
###########################################################################################
|
||||||
VBoxManage showvminfo Windows
|
VBoxManage showvminfo Windows
|
||||||
if test 0 == $?; then
|
if [[ 0 == $? ]]; then
|
||||||
# 检测到虚拟机存在,启动虚拟机
|
# 检测到虚拟机存在,启动虚拟机
|
||||||
VBoxManage startvm Windows
|
VBoxManage startvm Windows
|
||||||
exit
|
exit
|
||||||
fi
|
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`
|
||||||
|
|
||||||
|
# 总内存大小GB
|
||||||
|
MemTotal=`awk '($1 == "MemTotal:"){printf "%.2f\n",$2/1024/1024}' /proc/meminfo`
|
||||||
|
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 -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 -nic model=rtl8139
|
||||||
|
exit
|
||||||
|
fi
|
||||||
zenity --question --no-wrap --text="检查到您未创建所指定的虚拟机,是否创建虚拟机并继续?\n如果不创建将无法使用"
|
zenity --question --no-wrap --text="检查到您未创建所指定的虚拟机,是否创建虚拟机并继续?\n如果不创建将无法使用"
|
||||||
if test 1 == $?; then
|
if [[ 1 == $? ]]; then
|
||||||
# 用户不想创建虚拟机,结束
|
# 用户不想创建虚拟机,结束
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -64,13 +64,14 @@ class Ui_MainWindow(object):
|
|||||||
self.openFile.setObjectName("openFile")
|
self.openFile.setObjectName("openFile")
|
||||||
self.actionGitlink = QtWidgets.QAction(MainWindow)
|
self.actionGitlink = QtWidgets.QAction(MainWindow)
|
||||||
self.actionGitlink.setCheckable(True)
|
self.actionGitlink.setCheckable(True)
|
||||||
self.actionGitlink.setChecked(True)
|
#self.actionGitlink.setChecked(True)
|
||||||
self.actionGitlink.setObjectName("actionGitlink")
|
self.actionGitlink.setObjectName("actionGitlink")
|
||||||
self.actionGitee = QtWidgets.QAction(MainWindow)
|
self.actionGitee = QtWidgets.QAction(MainWindow)
|
||||||
self.actionGitee.setCheckable(True)
|
self.actionGitee.setCheckable(True)
|
||||||
self.actionGitee.setObjectName("actionGitee")
|
self.actionGitee.setObjectName("actionGitee")
|
||||||
self.actionGithub = QtWidgets.QAction(MainWindow)
|
self.actionGithub = QtWidgets.QAction(MainWindow)
|
||||||
self.actionGithub.setCheckable(True)
|
self.actionGithub.setCheckable(True)
|
||||||
|
self.actionGithub.setChecked(True)
|
||||||
self.actionGithub.setObjectName("actionGithub")
|
self.actionGithub.setObjectName("actionGithub")
|
||||||
self.action_IPv6 = QtWidgets.QAction(MainWindow)
|
self.action_IPv6 = QtWidgets.QAction(MainWindow)
|
||||||
self.action_IPv6.setCheckable(True)
|
self.action_IPv6.setCheckable(True)
|
||||||
@@ -88,9 +89,11 @@ class Ui_MainWindow(object):
|
|||||||
self.menu.addAction(self.openFile)
|
self.menu.addAction(self.openFile)
|
||||||
self.menu.addSeparator()
|
self.menu.addSeparator()
|
||||||
self.menu.addAction(self.exitProgram)
|
self.menu.addAction(self.exitProgram)
|
||||||
self.menu_2.addAction(self.actionGitlink)
|
|
||||||
self.menu_2.addAction(self.actionGitee)
|
self.menu_2.addAction(self.actionGitee)
|
||||||
self.menu_2.addAction(self.actionGithub)
|
self.menu_2.addAction(self.actionGithub)
|
||||||
|
self.menu_2.addAction(self.actionGitlink)
|
||||||
|
|
||||||
|
|
||||||
self.menu_2.addAction(self.action_IPv6)
|
self.menu_2.addAction(self.action_IPv6)
|
||||||
self.menu_2.addAction(self.action_2)
|
self.menu_2.addAction(self.action_2)
|
||||||
self.menu_2.addAction(self.action_3)
|
self.menu_2.addAction(self.action_3)
|
||||||
|
|||||||
12
UpdateTime.py
Normal file
12
UpdateTime.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# 更新构建时间
|
||||||
|
import os
|
||||||
|
import json
|
||||||
|
import platform
|
||||||
|
import datetime
|
||||||
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
|
with open(f"{programPath}/deb/opt/apps/deepin-wine-runner/information.json", "r") as file:
|
||||||
|
info = json.loads(file.read())
|
||||||
|
info["Time"] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " " + platform.platform()
|
||||||
|
with open(f"{programPath}/deb/opt/apps/deepin-wine-runner/information.json", "w") as file:
|
||||||
|
file.write(json.dumps(info, ensure_ascii=False, indent=4))
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
|
|
||||||
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 8
|
|
||||||
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
|
|
||||||
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
|
|
||||||
QMAKE_CXX.COMPILER_MACROS = \
|
|
||||||
QT_COMPILER_STDCXX \
|
|
||||||
QMAKE_GCC_MAJOR_VERSION \
|
|
||||||
QMAKE_GCC_MINOR_VERSION \
|
|
||||||
QMAKE_GCC_PATCH_VERSION
|
|
||||||
QMAKE_CXX.INCDIRS = \
|
|
||||||
/usr/include/c++/8 \
|
|
||||||
/usr/include/x86_64-linux-gnu/c++/8 \
|
|
||||||
/usr/include/c++/8/backward \
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/8/include \
|
|
||||||
/usr/local/include \
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed \
|
|
||||||
/usr/include/x86_64-linux-gnu \
|
|
||||||
/usr/include
|
|
||||||
QMAKE_CXX.LIBDIRS = \
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/8 \
|
|
||||||
/usr/lib/x86_64-linux-gnu \
|
|
||||||
/usr/lib \
|
|
||||||
/lib/x86_64-linux-gnu \
|
|
||||||
/lib
|
|
||||||
BIN
VM-source/AutoConfig/aria2c.exe
Normal file
BIN
VM-source/AutoConfig/aria2c.exe
Normal file
Binary file not shown.
88
VM-source/AutoConfig/win7x64-Autounattend.xml
Normal file
88
VM-source/AutoConfig/win7x64-Autounattend.xml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<unattend xmlns="urn:schemas-microsoft-com:unattend">
|
||||||
|
<settings pass="windowsPE">
|
||||||
|
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<SetupUILanguage>
|
||||||
|
<UILanguage>zh-CN</UILanguage>
|
||||||
|
</SetupUILanguage>
|
||||||
|
<InputLocale>zh-CN</InputLocale>
|
||||||
|
<SystemLocale>zh-CN</SystemLocale>
|
||||||
|
<UILanguage>zh-CN</UILanguage>
|
||||||
|
<UserLocale>zh-CN</UserLocale>
|
||||||
|
</component>
|
||||||
|
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<UserData>
|
||||||
|
<ProductKey>
|
||||||
|
<Key />
|
||||||
|
</ProductKey>
|
||||||
|
<AcceptEula>true</AcceptEula>
|
||||||
|
</UserData>
|
||||||
|
<ImageInstall>
|
||||||
|
<OSImage>
|
||||||
|
<InstallFrom>
|
||||||
|
<MetaData wcm:action="add">
|
||||||
|
<Key>/image/index</Key>
|
||||||
|
<Value>4</Value>
|
||||||
|
</MetaData>
|
||||||
|
</InstallFrom>
|
||||||
|
<InstallTo>
|
||||||
|
<DiskID>0</DiskID>
|
||||||
|
<PartitionID>1</PartitionID>
|
||||||
|
</InstallTo>
|
||||||
|
</OSImage>
|
||||||
|
</ImageInstall>
|
||||||
|
<DiskConfiguration>
|
||||||
|
<Disk wcm:action="add">
|
||||||
|
<CreatePartitions>
|
||||||
|
<CreatePartition wcm:action="add">
|
||||||
|
<Order>1</Order>
|
||||||
|
<Size>130000</Size>
|
||||||
|
<Type>Primary</Type>
|
||||||
|
</CreatePartition>
|
||||||
|
</CreatePartitions>
|
||||||
|
<DiskID>0</DiskID>
|
||||||
|
<WillWipeDisk>true</WillWipeDisk>
|
||||||
|
<ModifyPartitions>
|
||||||
|
<ModifyPartition wcm:action="add">
|
||||||
|
<Active>true</Active>
|
||||||
|
<Extend>false</Extend>
|
||||||
|
<Format>NTFS</Format>
|
||||||
|
<Label>OS</Label>
|
||||||
|
<Letter>C</Letter>
|
||||||
|
<Order>1</Order>
|
||||||
|
<PartitionID>1</PartitionID>
|
||||||
|
</ModifyPartition>
|
||||||
|
</ModifyPartitions>
|
||||||
|
</Disk>
|
||||||
|
</DiskConfiguration>
|
||||||
|
</component>
|
||||||
|
</settings>
|
||||||
|
<settings pass="oobeSystem">
|
||||||
|
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<UserAccounts>
|
||||||
|
<LocalAccounts>
|
||||||
|
<LocalAccount wcm:action="add">
|
||||||
|
<Password>
|
||||||
|
<Value>UABhAHMAcwB3AG8AcgBkAA==</Value>
|
||||||
|
<PlainText>false</PlainText>
|
||||||
|
</Password>
|
||||||
|
<DisplayName>Windows</DisplayName>
|
||||||
|
<Group>Administrators</Group>
|
||||||
|
<Name>Windows</Name>
|
||||||
|
</LocalAccount>
|
||||||
|
</LocalAccounts>
|
||||||
|
</UserAccounts>
|
||||||
|
<OOBE>
|
||||||
|
<NetworkLocation>Work</NetworkLocation>
|
||||||
|
<ProtectYourPC>3</ProtectYourPC>
|
||||||
|
</OOBE>
|
||||||
|
<TimeZone>China Standard Time</TimeZone>
|
||||||
|
</component>
|
||||||
|
</settings>
|
||||||
|
<settings pass="specialize">
|
||||||
|
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<ComputerName>*</ComputerName>
|
||||||
|
</component>
|
||||||
|
</settings>
|
||||||
|
<cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
|
||||||
|
</unattend>
|
||||||
85
VM-source/AutoConfig/win7x86-Autounattend.xml
Normal file
85
VM-source/AutoConfig/win7x86-Autounattend.xml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<unattend xmlns="urn:schemas-microsoft-com:unattend">
|
||||||
|
<settings pass="windowsPE">
|
||||||
|
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<SetupUILanguage>
|
||||||
|
<UILanguage>zh-CN</UILanguage>
|
||||||
|
</SetupUILanguage>
|
||||||
|
<InputLocale>zh-CN</InputLocale>
|
||||||
|
<SystemLocale>zh-CN</SystemLocale>
|
||||||
|
<UILanguage>zh-CN</UILanguage>
|
||||||
|
<UserLocale>zh-CN</UserLocale>
|
||||||
|
</component>
|
||||||
|
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<UserData>
|
||||||
|
<AcceptEula>true</AcceptEula>
|
||||||
|
</UserData>
|
||||||
|
<ImageInstall>
|
||||||
|
<OSImage>
|
||||||
|
<InstallFrom>
|
||||||
|
<MetaData wcm:action="add">
|
||||||
|
<Value>5</Value>
|
||||||
|
<Key>/image/index</Key>
|
||||||
|
</MetaData>
|
||||||
|
</InstallFrom>
|
||||||
|
<InstallTo>
|
||||||
|
<DiskID>0</DiskID>
|
||||||
|
<PartitionID>1</PartitionID>
|
||||||
|
</InstallTo>
|
||||||
|
</OSImage>
|
||||||
|
</ImageInstall>
|
||||||
|
<DiskConfiguration>
|
||||||
|
<Disk wcm:action="add">
|
||||||
|
<CreatePartitions>
|
||||||
|
<CreatePartition wcm:action="add">
|
||||||
|
<Type>Primary</Type>
|
||||||
|
<Order>1</Order>
|
||||||
|
<Size>130000</Size>
|
||||||
|
</CreatePartition>
|
||||||
|
</CreatePartitions>
|
||||||
|
<WillWipeDisk>true</WillWipeDisk>
|
||||||
|
<DiskID>0</DiskID>
|
||||||
|
<ModifyPartitions>
|
||||||
|
<ModifyPartition wcm:action="add">
|
||||||
|
<Active>true</Active>
|
||||||
|
<Extend>false</Extend>
|
||||||
|
<Format>NTFS</Format>
|
||||||
|
<Label>OS</Label>
|
||||||
|
<Letter>C</Letter>
|
||||||
|
<Order>1</Order>
|
||||||
|
<PartitionID>1</PartitionID>
|
||||||
|
</ModifyPartition>
|
||||||
|
</ModifyPartitions>
|
||||||
|
</Disk>
|
||||||
|
</DiskConfiguration>
|
||||||
|
</component>
|
||||||
|
</settings>
|
||||||
|
<settings pass="oobeSystem">
|
||||||
|
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<UserAccounts>
|
||||||
|
<LocalAccounts>
|
||||||
|
<LocalAccount wcm:action="add">
|
||||||
|
<Password>
|
||||||
|
<Value>UABhAHMAcwB3AG8AcgBkAA==</Value>
|
||||||
|
<PlainText>false</PlainText>
|
||||||
|
</Password>
|
||||||
|
<DisplayName>Windows</DisplayName>
|
||||||
|
<Group>Administrators</Group>
|
||||||
|
<Name>Windows</Name>
|
||||||
|
</LocalAccount>
|
||||||
|
</LocalAccounts>
|
||||||
|
</UserAccounts>
|
||||||
|
<OOBE>
|
||||||
|
<NetworkLocation>Work</NetworkLocation>
|
||||||
|
<ProtectYourPC>3</ProtectYourPC>
|
||||||
|
</OOBE>
|
||||||
|
<TimeZone>China Standard Time</TimeZone>
|
||||||
|
</component>
|
||||||
|
</settings>
|
||||||
|
<settings pass="specialize">
|
||||||
|
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<ComputerName>*</ComputerName>
|
||||||
|
</component>
|
||||||
|
</settings>
|
||||||
|
<cpi:offlineImage cpi:source="wim:l:/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
|
||||||
|
</unattend>
|
||||||
1
VM-source/CNAME
Normal file
1
VM-source/CNAME
Normal file
@@ -0,0 +1 @@
|
|||||||
|
windows-virtual-machine-installer-for-wine-runner.gfdgdxi.top
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#############################################################################
|
#############################################################################
|
||||||
# Makefile for building: VirtualMachine
|
# Makefile for building: VirtualMachine
|
||||||
# Generated by qmake (3.1) (Qt 5.15.6)
|
# Generated by qmake (3.1) (Qt 5.15.8)
|
||||||
# Project: VirtualMachine.pro
|
# Project: VirtualMachine.pro
|
||||||
# Template: app
|
# Template: app
|
||||||
# Command: /usr/lib/qt5/bin/qmake -o Makefile VirtualMachine.pro
|
# Command: /usr/lib/qt5/bin/qmake -o Makefile VirtualMachine.pro
|
||||||
@@ -57,18 +57,24 @@ SOURCES = main.cpp \
|
|||||||
buildvbox.cpp \
|
buildvbox.cpp \
|
||||||
vbox.cpp \
|
vbox.cpp \
|
||||||
command.cpp \
|
command.cpp \
|
||||||
infoutils.cpp qrc_图标.cpp \
|
infoutils.cpp \
|
||||||
|
qemu.cpp \
|
||||||
|
qemusetting.cpp qrc_图标.cpp \
|
||||||
moc_mainwindow.cpp \
|
moc_mainwindow.cpp \
|
||||||
moc_infoutils.cpp
|
moc_infoutils.cpp \
|
||||||
|
moc_qemusetting.cpp
|
||||||
OBJECTS = main.o \
|
OBJECTS = main.o \
|
||||||
mainwindow.o \
|
mainwindow.o \
|
||||||
buildvbox.o \
|
buildvbox.o \
|
||||||
vbox.o \
|
vbox.o \
|
||||||
command.o \
|
command.o \
|
||||||
infoutils.o \
|
infoutils.o \
|
||||||
|
qemu.o \
|
||||||
|
qemusetting.o \
|
||||||
qrc_图标.o \
|
qrc_图标.o \
|
||||||
moc_mainwindow.o \
|
moc_mainwindow.o \
|
||||||
moc_infoutils.o
|
moc_infoutils.o \
|
||||||
|
moc_qemusetting.o
|
||||||
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||||
@@ -93,6 +99,7 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIdleTime.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \
|
||||||
@@ -104,11 +111,38 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWaylandClient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWaylandServer.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3danimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3danimation_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dcore_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dextras_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dinput_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dlogic_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquick_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickextras_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickinput_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickrender_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3drender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3drender_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_charts.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||||
@@ -117,10 +151,7 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcommon.pri \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwidget.pri \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
@@ -169,6 +200,10 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||||
@@ -191,7 +226,6 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||||
.qmake.stash \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||||
@@ -215,12 +249,16 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
|||||||
buildvbox.h \
|
buildvbox.h \
|
||||||
vbox.h \
|
vbox.h \
|
||||||
command.h \
|
command.h \
|
||||||
infoutils.h main.cpp \
|
infoutils.h \
|
||||||
|
qemu.h \
|
||||||
|
qemusetting.h main.cpp \
|
||||||
mainwindow.cpp \
|
mainwindow.cpp \
|
||||||
buildvbox.cpp \
|
buildvbox.cpp \
|
||||||
vbox.cpp \
|
vbox.cpp \
|
||||||
command.cpp \
|
command.cpp \
|
||||||
infoutils.cpp
|
infoutils.cpp \
|
||||||
|
qemu.cpp \
|
||||||
|
qemusetting.cpp
|
||||||
QMAKE_TARGET = VirtualMachine
|
QMAKE_TARGET = VirtualMachine
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
TARGET = VirtualMachine
|
TARGET = VirtualMachine
|
||||||
@@ -229,7 +267,7 @@ TARGET = VirtualMachine
|
|||||||
first: all
|
first: all
|
||||||
####### Build rules
|
####### Build rules
|
||||||
|
|
||||||
VirtualMachine: ui_mainwindow.h $(OBJECTS)
|
VirtualMachine: ui_mainwindow.h ui_qemusetting.h $(OBJECTS)
|
||||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
|
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
|
||||||
|
|
||||||
Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||||
@@ -256,6 +294,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIdleTime.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \
|
||||||
@@ -267,11 +306,38 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWaylandClient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWaylandServer.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3danimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3danimation_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dcore.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dcore_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dextras_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dinput_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dlogic_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquick.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquick_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickextras_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickinput_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickrender_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3drender.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3drender_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_charts.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||||
@@ -280,10 +346,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcommon.pri \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwidget.pri \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||||
@@ -332,6 +395,10 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||||
@@ -354,7 +421,6 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||||
.qmake.stash \
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||||
@@ -401,6 +467,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIdleTime.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri:
|
||||||
@@ -412,11 +479,38 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWaylandClient.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWaylandServer.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3danimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3danimation_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dcore.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dcore_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dextras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dextras_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dinput.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dinput_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dlogic.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dlogic_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquick.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquick_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickanimation.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickanimation_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickextras.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickextras_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickinput.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickinput_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickrender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickrender_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickscene2d.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3dquickscene2d_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3drender.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_3drender_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_charts.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
|
||||||
@@ -425,10 +519,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcommon.pri:
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri:
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkwidget.pri:
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||||
@@ -477,6 +568,10 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri:
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri:
|
||||||
@@ -499,7 +594,6 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf:
|
||||||
.qmake.stash:
|
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf:
|
||||||
@@ -537,9 +631,9 @@ distdir: FORCE
|
|||||||
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents 图标.qrc $(DISTDIR)/
|
$(COPY_FILE) --parents 图标.qrc $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents mainwindow.h buildvbox.h vbox.h command.h infoutils.h $(DISTDIR)/
|
$(COPY_FILE) --parents mainwindow.h buildvbox.h vbox.h command.h infoutils.h qemu.h qemusetting.h $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents main.cpp mainwindow.cpp buildvbox.cpp vbox.cpp command.cpp infoutils.cpp $(DISTDIR)/
|
$(COPY_FILE) --parents main.cpp mainwindow.cpp buildvbox.cpp vbox.cpp command.cpp infoutils.cpp qemu.cpp qemusetting.cpp $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents mainwindow.ui $(DISTDIR)/
|
$(COPY_FILE) --parents mainwindow.ui qemusetting.ui $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents zh_CN.ts en_US.ts $(DISTDIR)/
|
$(COPY_FILE) --parents zh_CN.ts en_US.ts $(DISTDIR)/
|
||||||
|
|
||||||
|
|
||||||
@@ -594,9 +688,9 @@ compiler_moc_predefs_clean:
|
|||||||
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||||
g++ -pipe -O2 -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
g++ -pipe -O2 -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||||
|
|
||||||
compiler_moc_header_make_all: moc_mainwindow.cpp moc_infoutils.cpp
|
compiler_moc_header_make_all: moc_mainwindow.cpp moc_infoutils.cpp moc_qemusetting.cpp
|
||||||
compiler_moc_header_clean:
|
compiler_moc_header_clean:
|
||||||
-$(DEL_FILE) moc_mainwindow.cpp moc_infoutils.cpp
|
-$(DEL_FILE) moc_mainwindow.cpp moc_infoutils.cpp moc_qemusetting.cpp
|
||||||
moc_mainwindow.cpp: mainwindow.h \
|
moc_mainwindow.cpp: mainwindow.h \
|
||||||
moc_predefs.h \
|
moc_predefs.h \
|
||||||
/usr/lib/qt5/bin/moc
|
/usr/lib/qt5/bin/moc
|
||||||
@@ -607,17 +701,26 @@ moc_infoutils.cpp: infoutils.h \
|
|||||||
/usr/lib/qt5/bin/moc
|
/usr/lib/qt5/bin/moc
|
||||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include infoutils.h -o moc_infoutils.cpp
|
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include infoutils.h -o moc_infoutils.cpp
|
||||||
|
|
||||||
|
moc_qemusetting.cpp: qemusetting.h \
|
||||||
|
moc_predefs.h \
|
||||||
|
/usr/lib/qt5/bin/moc
|
||||||
|
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/x86_64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/x86_64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qemusetting.h -o moc_qemusetting.cpp
|
||||||
|
|
||||||
compiler_moc_objc_header_make_all:
|
compiler_moc_objc_header_make_all:
|
||||||
compiler_moc_objc_header_clean:
|
compiler_moc_objc_header_clean:
|
||||||
compiler_moc_source_make_all:
|
compiler_moc_source_make_all:
|
||||||
compiler_moc_source_clean:
|
compiler_moc_source_clean:
|
||||||
compiler_uic_make_all: ui_mainwindow.h
|
compiler_uic_make_all: ui_mainwindow.h ui_qemusetting.h
|
||||||
compiler_uic_clean:
|
compiler_uic_clean:
|
||||||
-$(DEL_FILE) ui_mainwindow.h
|
-$(DEL_FILE) ui_mainwindow.h ui_qemusetting.h
|
||||||
ui_mainwindow.h: mainwindow.ui \
|
ui_mainwindow.h: mainwindow.ui \
|
||||||
/usr/lib/qt5/bin/uic
|
/usr/lib/qt5/bin/uic
|
||||||
/usr/lib/qt5/bin/uic mainwindow.ui -o ui_mainwindow.h
|
/usr/lib/qt5/bin/uic mainwindow.ui -o ui_mainwindow.h
|
||||||
|
|
||||||
|
ui_qemusetting.h: qemusetting.ui \
|
||||||
|
/usr/lib/qt5/bin/uic
|
||||||
|
/usr/lib/qt5/bin/uic qemusetting.ui -o ui_qemusetting.h
|
||||||
|
|
||||||
compiler_yacc_decl_make_all:
|
compiler_yacc_decl_make_all:
|
||||||
compiler_yacc_decl_clean:
|
compiler_yacc_decl_clean:
|
||||||
compiler_yacc_impl_make_all:
|
compiler_yacc_impl_make_all:
|
||||||
@@ -634,12 +737,14 @@ main.o: main.cpp mainwindow.h
|
|||||||
mainwindow.o: mainwindow.cpp mainwindow.h \
|
mainwindow.o: mainwindow.cpp mainwindow.h \
|
||||||
ui_mainwindow.h \
|
ui_mainwindow.h \
|
||||||
buildvbox.h \
|
buildvbox.h \
|
||||||
infoutils.h
|
infoutils.h \
|
||||||
|
qemusetting.h
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
|
||||||
|
|
||||||
buildvbox.o: buildvbox.cpp buildvbox.h \
|
buildvbox.o: buildvbox.cpp buildvbox.h \
|
||||||
vbox.h \
|
vbox.h \
|
||||||
infoutils.h
|
infoutils.h \
|
||||||
|
qemu.h
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o buildvbox.o buildvbox.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o buildvbox.o buildvbox.cpp
|
||||||
|
|
||||||
vbox.o: vbox.cpp vbox.h \
|
vbox.o: vbox.cpp vbox.h \
|
||||||
@@ -652,6 +757,15 @@ command.o: command.cpp command.h
|
|||||||
infoutils.o: infoutils.cpp infoutils.h
|
infoutils.o: infoutils.cpp infoutils.h
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o infoutils.o infoutils.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o infoutils.o infoutils.cpp
|
||||||
|
|
||||||
|
qemu.o: qemu.cpp qemu.h \
|
||||||
|
command.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qemu.o qemu.cpp
|
||||||
|
|
||||||
|
qemusetting.o: qemusetting.cpp qemusetting.h \
|
||||||
|
ui_qemusetting.h \
|
||||||
|
infoutils.h
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qemusetting.o qemusetting.cpp
|
||||||
|
|
||||||
qrc_图标.o: qrc_图标.cpp
|
qrc_图标.o: qrc_图标.cpp
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_图标.o qrc_图标.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_图标.o qrc_图标.cpp
|
||||||
|
|
||||||
@@ -661,6 +775,9 @@ moc_mainwindow.o: moc_mainwindow.cpp
|
|||||||
moc_infoutils.o: moc_infoutils.cpp
|
moc_infoutils.o: moc_infoutils.cpp
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_infoutils.o moc_infoutils.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_infoutils.o moc_infoutils.cpp
|
||||||
|
|
||||||
|
moc_qemusetting.o: moc_qemusetting.cpp
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qemusetting.o moc_qemusetting.cpp
|
||||||
|
|
||||||
####### Install
|
####### Install
|
||||||
|
|
||||||
install_target: first FORCE
|
install_target: first FORCE
|
||||||
|
|||||||
26
VM-source/README.md
Normal file
26
VM-source/README.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Windows虚拟机安装工具
|
||||||
|
## 介绍
|
||||||
|
基于VirtualBox/Qemu制作的小白Windows虚拟机安装工具,可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等
|
||||||
|
此为 Wine 运行器子项目:https://gitee.com/gfdgd-xi/deep-wine-runner
|
||||||
|
依照 GPLV3 协议开源
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 如何使用
|
||||||
|
安装最新版本的 Wine 运行器即可,最新版本的 Wine 运行器自带此安装工具
|
||||||
|
|
||||||
|
## 编译指南
|
||||||
|
```bash
|
||||||
|
git clone https://gitee.com/gfdgd-xi/windows-virtual-machine-installer-for-wine-runner.git
|
||||||
|
cd windows-virtual-machine-installer-for-wine-runner
|
||||||
|
qmake .
|
||||||
|
make -j4
|
||||||
|
```
|
||||||
|
## 预编译版本
|
||||||
|
https://gitee.com/gfdgd-xi/deep-wine-runner/tree/main/VM
|
||||||
|
|
||||||
|
# ©2020~2023 gfdgd xi
|
||||||
@@ -33,17 +33,22 @@ SOURCES += \
|
|||||||
buildvbox.cpp \
|
buildvbox.cpp \
|
||||||
vbox.cpp \
|
vbox.cpp \
|
||||||
command.cpp \
|
command.cpp \
|
||||||
infoutils.cpp
|
infoutils.cpp \
|
||||||
|
qemu.cpp \
|
||||||
|
qemusetting.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
mainwindow.h \
|
mainwindow.h \
|
||||||
buildvbox.h \
|
buildvbox.h \
|
||||||
vbox.h \
|
vbox.h \
|
||||||
command.h \
|
command.h \
|
||||||
infoutils.h
|
infoutils.h \
|
||||||
|
qemu.h \
|
||||||
|
qemusetting.h
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
mainwindow.ui
|
mainwindow.ui \
|
||||||
|
qemusetting.ui
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
qnx: target.path = /tmp/$${TARGET}/bin
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.8.2, 2023-03-11T11:41:41. -->
|
<!-- Written by QtCreator 4.8.2, 2023-04-29T19:59:36. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
@@ -181,19 +181,20 @@
|
|||||||
</valuelist>
|
</valuelist>
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">VirtualMachine</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
|
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">VirtualMachine.pro</value>
|
||||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
################################################
|
################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
# 作者:gfdgd xi
|
||||||
# 版本:1.0
|
# 版本:1.0
|
||||||
# 依照 GPL V3 协议开源
|
# 依照 GPL V3 协议开源
|
||||||
################################################
|
################################################
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
|
#include <sys/sysinfo.h>
|
||||||
#include "buildvbox.h"
|
#include "buildvbox.h"
|
||||||
#include "vbox.h"
|
#include "vbox.h"
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
@@ -6,6 +11,7 @@
|
|||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
#include <infoutils.h>
|
#include <infoutils.h>
|
||||||
|
#include "qemu.h"
|
||||||
// 懒得用 QThread 了(要继承)
|
// 懒得用 QThread 了(要继承)
|
||||||
#include <thread>
|
#include <thread>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
@@ -42,13 +48,15 @@ int buildvbox::Download(QString url, QString path, QString fileName){
|
|||||||
return system(("aria2c -x 16 -s 16 -c " + url + " -d " + path + " -o " + fileName).toUtf8());
|
return system(("aria2c -x 16 -s 16 -c " + url + " -d " + path + " -o " + fileName).toUtf8());
|
||||||
}
|
}
|
||||||
|
|
||||||
buildvbox::buildvbox(QString isoPath, int id){
|
buildvbox::buildvbox(QString isoPath, int id, int vm){
|
||||||
/*QDir vboxPath(QDir::homePath() + "/VirtualBox VMs/Windows");
|
/*if(vm == 1){
|
||||||
|
QDir vboxPath(QDir::homePath() + "/VirtualBox VMs/Windows");
|
||||||
if(vboxPath.exists()){
|
if(vboxPath.exists()){
|
||||||
qDebug("虚拟机存在,直接启动!");
|
qDebug("虚拟机存在,直接启动!");
|
||||||
vbox vm("Windows");
|
vbox vm("Windows");
|
||||||
vm.Start();
|
vm.Start();
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}*/
|
}*/
|
||||||
QString programPath = QCoreApplication::applicationDirPath();
|
QString programPath = QCoreApplication::applicationDirPath();
|
||||||
|
|
||||||
@@ -62,8 +70,11 @@ buildvbox::buildvbox(QString isoPath, int id){
|
|||||||
|
|
||||||
QString net = GetNet();
|
QString net = GetNet();
|
||||||
qDebug() << "使用网卡:" << net << endl;
|
qDebug() << "使用网卡:" << net << endl;
|
||||||
|
if(vm == 0){
|
||||||
//vbox *box = new vbox("Window");
|
//vbox *box = new vbox("Window");
|
||||||
vbox vm("Windows");
|
//vbox vm("Windows");
|
||||||
|
qemu vm("Windows");
|
||||||
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case 0:
|
case 0:
|
||||||
vm.Create("Windows7");
|
vm.Create("Windows7");
|
||||||
@@ -75,9 +86,18 @@ buildvbox::buildvbox(QString isoPath, int id){
|
|||||||
}
|
}
|
||||||
vm.CreateDiskControl();
|
vm.CreateDiskControl();
|
||||||
//vm.CreateDiskControl("storage_controller_2");
|
//vm.CreateDiskControl("storage_controller_2");
|
||||||
vm.CreateDisk(QDir::homePath() + "/VirtualBox VMs/Windows/Windows.vdi", 131072);
|
vm.CreateDisk(QDir::homePath() + "/Qemu/Windows/Windows.qcow2", 131072);
|
||||||
vm.MountDisk(QDir::homePath() + "/VirtualBox VMs/Windows/Windows.vdi");
|
vm.MountDisk(QDir::homePath() + "/Qemu/Windows/Windows.qcow2");
|
||||||
vm.MountISO(isoPath, "storage_controller_1", 0, 1);
|
vm.MountISO(isoPath, "storage_controller_1", 0, 1);
|
||||||
|
switch (id) {
|
||||||
|
case 0:
|
||||||
|
vm.MountISO(programPath + "/Windows7X86Auto.iso", "storage_controller_1", 1, 2);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
vm.MountISO(programPath + "/Windows7X64Auto.iso", "storage_controller_1", 1, 2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/*vm.MountISO(isoPath, "storage_controller_1", 0, 1);
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case 0:
|
case 0:
|
||||||
vm.MountISO(programPath + "/Windows7X86Auto.iso", "storage_controller_1", 1, 0);
|
vm.MountISO(programPath + "/Windows7X86Auto.iso", "storage_controller_1", 1, 0);
|
||||||
@@ -85,14 +105,14 @@ buildvbox::buildvbox(QString isoPath, int id){
|
|||||||
case 1:
|
case 1:
|
||||||
vm.MountISO(programPath + "/Windows7X64Auto.iso", "storage_controller_1", 1, 0);
|
vm.MountISO(programPath + "/Windows7X64Auto.iso", "storage_controller_1", 1, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}*/
|
||||||
// 判断 VirtualBox Guest ISO 是否存在
|
// 判断 VirtualBox Guest ISO 是否存在
|
||||||
// 在的话直接挂载
|
// 在的话直接挂载
|
||||||
if(QFile::exists("/usr/share/virtualbox/VBoxGuestAdditions.iso")){
|
/*if(QFile::exists("/usr/share/virtualbox/VBoxGuestAdditions.iso")){
|
||||||
vm.MountISO("/usr/share/virtualbox/VBoxGuestAdditions.iso", "storage_controller_1", 1, 1);
|
vm.MountISO("/usr/share/virtualbox/VBoxGuestAdditions.iso", "storage_controller_1", 1, 1);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
vm.SetCPU(1);
|
vm.SetCPU(get_nprocs());
|
||||||
long memory = 0;
|
long memory = 0;
|
||||||
long memoryAll = 0;
|
long memoryAll = 0;
|
||||||
long swap = 0;
|
long swap = 0;
|
||||||
@@ -113,3 +133,63 @@ buildvbox::buildvbox(QString isoPath, int id){
|
|||||||
vm.ShareFile("HOME", QDir::homePath());
|
vm.ShareFile("HOME", QDir::homePath());
|
||||||
vm.Start();
|
vm.Start();
|
||||||
}
|
}
|
||||||
|
else if(vm == 1){
|
||||||
|
// ?
|
||||||
|
//vbox *box = new vbox("Window");
|
||||||
|
vbox vm("Windows");
|
||||||
|
//qemu vm("Windows");
|
||||||
|
|
||||||
|
switch (id) {
|
||||||
|
case 0:
|
||||||
|
vm.Create("Windows7");
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
vm.Create("Windows7_64");
|
||||||
|
break;
|
||||||
|
vm.Create("WindowsNT_64");
|
||||||
|
}
|
||||||
|
QDir dir("/home/gfdgd_xi/Qemu/Windows/");
|
||||||
|
dir.mkpath("/home/gfdgd_xi/Qemu/Windows/");
|
||||||
|
vm.CreateDiskControl();
|
||||||
|
//vm.CreateDiskControl("storage_controller_2");
|
||||||
|
vm.CreateDisk(QDir::homePath() + "/VirtualBox VMs/Windows/Windows.vdi", 131072);
|
||||||
|
vm.MountDisk(QDir::homePath() + "/VirtualBox VMs/Windows/Windows.vdi");
|
||||||
|
vm.MountISO(isoPath, "storage_controller_1", 0, 1);
|
||||||
|
switch (id) {
|
||||||
|
case 0:
|
||||||
|
vm.MountISO(programPath + "/Windows7X86Auto.iso", "storage_controller_1", 1, 0);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
vm.MountISO(programPath + "/Windows7X64Auto.iso", "storage_controller_1", 1, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断 VirtualBox Guest ISO 是否存在
|
||||||
|
// 在的话直接挂载
|
||||||
|
if(QFile::exists("/usr/share/virtualbox/VBoxGuestAdditions.iso")){
|
||||||
|
vm.MountISO("/usr/share/virtualbox/VBoxGuestAdditions.iso", "storage_controller_1", 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
vm.SetCPU(get_nprocs_conf());
|
||||||
|
long memory = 0;
|
||||||
|
long memoryAll = 0;
|
||||||
|
long swap = 0;
|
||||||
|
long swapAll = 0;
|
||||||
|
infoUtils::memoryRate(memory, memoryAll, swap, swapAll);
|
||||||
|
//memoryRate(memory, memoryAll, swap, swapAll);
|
||||||
|
vm.SetMemory(memoryAll / 3 / 1024);
|
||||||
|
vm.SetDisplayMemory(32);
|
||||||
|
vm.SetNetBridge(net);
|
||||||
|
vm.EnabledAudio();
|
||||||
|
vm.EnabledClipboardMode();
|
||||||
|
vm.EnabledDraganddrop();
|
||||||
|
vm.SetVBoxSVGA();
|
||||||
|
vm.SetMousePS2();
|
||||||
|
vm.SetKeyboardPS2();
|
||||||
|
vm.OpenUSB();
|
||||||
|
vm.ShareFile("ROOT", "/");
|
||||||
|
vm.ShareFile("HOME", QDir::homePath());
|
||||||
|
vm.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
#ifndef BUILDVBOX_H
|
#ifndef BUILDVBOX_H
|
||||||
#define BUILDVBOX_H
|
#define BUILDVBOX_H
|
||||||
#include <QString>
|
#include <QString>
|
||||||
@@ -6,7 +10,7 @@ class buildvbox
|
|||||||
{
|
{
|
||||||
// Q_OBJECT
|
// Q_OBJECT
|
||||||
public:
|
public:
|
||||||
buildvbox(QString isoPath, int id=0);
|
buildvbox(QString isoPath, int id=0, int vm=0);
|
||||||
void CleanScreen();
|
void CleanScreen();
|
||||||
QString GetNet();
|
QString GetNet();
|
||||||
int Download(QString url, QString path, QString fileName);
|
int Download(QString url, QString path, QString fileName);
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
Command::Command()
|
Command::Command()
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
#ifndef COMMAND_H
|
#ifndef COMMAND_H
|
||||||
#define COMMAND_H
|
#define COMMAND_H
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
@@ -23,11 +27,11 @@ int main(int argc, char *argv[])
|
|||||||
trans->load("virtualmachine-en_US.qm");
|
trans->load("virtualmachine-en_US.qm");
|
||||||
|
|
||||||
a.installTranslator(trans);
|
a.installTranslator(trans);
|
||||||
// 判断是否为 !amd64
|
// 判断是否为 !amd64(无需判断了)
|
||||||
if(GetRunCommand("arch").replace(" ", "").replace("\n", "") != QString("x86_64")){
|
/*if(GetRunCommand("arch").replace(" ", "").replace("\n", "") != QString("x86_64")){
|
||||||
QMessageBox::critical(NULL, "错误", "此程序不支持非 X86 架构,立即退出");
|
QMessageBox::critical(NULL, "错误", "此程序不支持非 X86 架构,立即退出");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}*/
|
||||||
MainWindow w;
|
MainWindow w;
|
||||||
|
|
||||||
w.show();
|
w.show();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
* gfdgd xi
|
||||||
* 依照 GPLV3 开源
|
* 依照 GPLV3 开源
|
||||||
*/
|
*/
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
@@ -19,6 +19,9 @@
|
|||||||
#include <QtMath>
|
#include <QtMath>
|
||||||
#include <QJsonArray>
|
#include <QJsonArray>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <iostream>
|
||||||
|
#include "qemusetting.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent) :
|
MainWindow::MainWindow(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
@@ -26,14 +29,24 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->tabWidget->setTabPosition(QTabWidget::West); // 标签靠左
|
ui->tabWidget->setTabPosition(QTabWidget::West); // 标签靠左
|
||||||
|
// 选择最优虚拟机
|
||||||
|
if(!system("which qemu-system-x86_64")){
|
||||||
|
ui->vmChooser->setCurrentIndex(0);
|
||||||
|
}
|
||||||
|
if(!system("which vboxmanage")){
|
||||||
|
ui->vmChooser->setCurrentIndex(1);
|
||||||
|
}
|
||||||
|
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/../RunCommandWithTerminal.py")){
|
||||||
|
ui->getQemu->setDisabled(true);
|
||||||
|
}
|
||||||
// 允许输出 qDebug 信息
|
// 允许输出 qDebug 信息
|
||||||
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
||||||
// 判断是否安装 vbox
|
// 判断是否安装 vbox(无需判断)
|
||||||
if(system("which VBoxManage")){
|
/*if(system("which VBoxManage")){
|
||||||
if(QMessageBox::question(this, "提示", "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
|
if(QMessageBox::question(this, "提示", "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
|
||||||
system("xdg-open https://www.virtualbox.org/wiki/Linux_Downloads");
|
system("xdg-open https://www.virtualbox.org/wiki/Linux_Downloads");
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
// QTimer
|
// QTimer
|
||||||
QTimer *cpuGet = new QTimer(this);
|
QTimer *cpuGet = new QTimer(this);
|
||||||
connect(cpuGet, &QTimer::timeout, this, &MainWindow::ShowCPUMessage);
|
connect(cpuGet, &QTimer::timeout, this, &MainWindow::ShowCPUMessage);
|
||||||
@@ -57,6 +70,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QJsonObject versionObject = doc.object();
|
QJsonObject versionObject = doc.object();
|
||||||
|
QJsonValue buildTime = versionObject.value("Time");
|
||||||
QJsonValue versionValue = versionObject.value("Version");
|
QJsonValue versionValue = versionObject.value("Version");
|
||||||
QJsonArray thank = versionObject.value("Thank").toArray();
|
QJsonArray thank = versionObject.value("Thank").toArray();
|
||||||
QString thankText = "";
|
QString thankText = "";
|
||||||
@@ -68,7 +82,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
// 设置程序标题
|
// 设置程序标题
|
||||||
this->setWindowTitle("Windows 应用适配工具 " + versionValue.toString());
|
this->setWindowTitle("Windows 应用适配工具 " + versionValue.toString());
|
||||||
// 读取谢明列表
|
// 读取谢明列表
|
||||||
ui->textBrowser_2->setHtml("<p>程序版本号:" + versionValue.toString() + "</p>" + ui->textBrowser_2->toHtml() +
|
ui->textBrowser_2->setHtml("<p>程序版本号:" + versionValue.toString() + ", " + GetRunCommand("arch") + "</p><p>安装包构建时间:" + buildTime.toString() + "</p><p>该组件构建时间:"
|
||||||
|
+ __DATE__ + " " + __TIME__ + "</p>" + ui->textBrowser_2->toHtml() +
|
||||||
"<hr/><h1>谢明列表</h1>" + thankText);
|
"<hr/><h1>谢明列表</h1>" + thankText);
|
||||||
connect(ui->textBrowser_2, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
connect(ui->textBrowser_2, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
||||||
QDesktopServices::openUrl(link);
|
QDesktopServices::openUrl(link);
|
||||||
@@ -79,6 +94,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
connect(ui->textBrowser_3, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
connect(ui->textBrowser_3, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
||||||
QDesktopServices::openUrl(link);
|
QDesktopServices::openUrl(link);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::ShowCPUMessage(){
|
void MainWindow::ShowCPUMessage(){
|
||||||
@@ -145,6 +161,110 @@ void MainWindow::on_browser_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_install_clicked()
|
void MainWindow::on_install_clicked()
|
||||||
{
|
{
|
||||||
buildvbox(ui->isoPath->text(), ui->systemVersion->currentIndex());
|
switch (ui->vmChooser->currentIndex()) {
|
||||||
|
case 0:
|
||||||
|
if(system("which qemu-system-x86_64")){
|
||||||
|
if(QMessageBox::question(this, "提示", "您似乎没有安装 Qemu,是否继续创建虚拟机?") == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if(system("which vboxmanage")){
|
||||||
|
if(QMessageBox::question(this, "提示", "您似乎没有安装 VBox,是否继续创建虚拟机?") == QMessageBox::No){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
buildvbox(ui->isoPath->text(), ui->systemVersion->currentIndex(), ui->vmChooser->currentIndex());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_getvbox_clicked()
|
||||||
|
{
|
||||||
|
QDesktopServices::openUrl(QUrl("https://www.virtualbox.org/wiki/Linux_Downloads"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_getQemu_clicked()
|
||||||
|
{
|
||||||
|
system(("python3 '" + QCoreApplication::applicationDirPath() + "/../RunCommandWithTerminal.py' '" + QCoreApplication::applicationDirPath() + "/../QemuSystemInstall.sh'").toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_vmChooser_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
ui->qemuSetting->setDisabled(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_qemuSetting_clicked()
|
||||||
|
{
|
||||||
|
QemuSetting *show = new QemuSetting();
|
||||||
|
show->show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_addQemuDisk_triggered()
|
||||||
|
{
|
||||||
|
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
if(QMessageBox::question(this, "提示", "磁盘文件已存在,是否覆盖?\n覆盖后将无法恢复!") == QMessageBox::No){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QString path = QFileDialog::getOpenFileName(this, "选择 Qemu 镜像", QDir::homePath(), "Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)");
|
||||||
|
qDebug() << path;
|
||||||
|
if(path == ""){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QDir dir(QDir::homePath() + "/Qemu/Windows");
|
||||||
|
if(!dir.exists()){
|
||||||
|
dir.mkpath(QDir::homePath() + "/Qemu/Windows");
|
||||||
|
}
|
||||||
|
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2") | !QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
QMessageBox::critical(this, "提示", "添加错误!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(!QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
QMessageBox::critical(this, "提示", "添加错误!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QMessageBox::information(this, "提示", "添加完成!");
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_delQemuDisk_triggered()
|
||||||
|
{
|
||||||
|
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
QMessageBox::information(this, "提示", "不存在磁盘文件,无法导出");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::system(("xdg-open \"" + QDir::homePath() + "/Qemu/Windows/\"").toUtf8());
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_addQemuDiskButton_clicked()
|
||||||
|
{
|
||||||
|
MainWindow::on_addQemuDisk_triggered();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_saveQemuDiskButton_clicked()
|
||||||
|
{
|
||||||
|
MainWindow::on_delQemuDisk_triggered();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_delQemuDiskButton_clicked()
|
||||||
|
{
|
||||||
|
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
QMessageBox::information(this, "提示", "不存在磁盘文件,无法移除");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(QMessageBox::question(this, "提示", "是否删除?\n删除后将无法恢复!") == QMessageBox::No){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
|
QMessageBox::critical(this, "提示", "移除失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QMessageBox::information(this, "提示", "移除成功");
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
#ifndef MAINWINDOW_H
|
#ifndef MAINWINDOW_H
|
||||||
#define MAINWINDOW_H
|
#define MAINWINDOW_H
|
||||||
|
|
||||||
@@ -22,6 +26,24 @@ private slots:
|
|||||||
void on_install_clicked();
|
void on_install_clicked();
|
||||||
|
|
||||||
|
|
||||||
|
void on_getvbox_clicked();
|
||||||
|
|
||||||
|
void on_getQemu_clicked();
|
||||||
|
|
||||||
|
void on_vmChooser_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
void on_qemuSetting_clicked();
|
||||||
|
|
||||||
|
void on_addQemuDisk_triggered();
|
||||||
|
|
||||||
|
void on_delQemuDisk_triggered();
|
||||||
|
|
||||||
|
void on_addQemuDiskButton_clicked();
|
||||||
|
|
||||||
|
void on_saveQemuDiskButton_clicked();
|
||||||
|
|
||||||
|
void on_delQemuDiskButton_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
long m_cpuAll;
|
long m_cpuAll;
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>807</width>
|
<width>1058</width>
|
||||||
<height>429</height>
|
<height>512</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -72,10 +72,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="systemVersion">
|
<widget class="QComboBox" name="systemVersion">
|
||||||
<property name="currentText">
|
<property name="currentText">
|
||||||
<string/>
|
<string>Windows 7 32 位(支持自动安装)</string>
|
||||||
</property>
|
|
||||||
<property name="placeholderText">
|
|
||||||
<string>请选择系统类型(如果识别不了请自行选择,如果选择错误或不支持将无法进行自动安装)</string>
|
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -96,6 +93,40 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7" stretch="0,1">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>虚拟机(建议默认):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="vmChooser">
|
||||||
|
<property name="currentText">
|
||||||
|
<string>qemu/kvm</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="duplicatesEnabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>qemu/kvm</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>VirtualBox</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
<item>
|
<item>
|
||||||
@@ -111,6 +142,48 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="getQemu">
|
||||||
|
<property name="text">
|
||||||
|
<string>安装 Qemu</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="qemuSetting">
|
||||||
|
<property name="text">
|
||||||
|
<string>Qemu虚拟机设置</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="addQemuDiskButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>添加/覆盖Qemu磁盘</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="saveQemuDiskButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>导出Qemu磁盘</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="delQemuDiskButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>移除Qemu磁盘</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="getvbox">
|
||||||
|
<property name="text">
|
||||||
|
<string>获取VirtualBox</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="install">
|
<widget class="QPushButton" name="install">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -158,9 +231,11 @@ p, li { white-space: pre-wrap; }
|
|||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">给小白的一段话</span></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">给小白的一段话</span></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了,<span style=" font-weight:600; font-style:italic; text-decoration: underline;">只限使用 VirtualBox</span></p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; font-style:italic; text-decoration: underline;">如果你是用非 X86 PC,那暂时只能使用 qemu(没 kvm),且跨架构的性能损失很大,推荐使用 Windows XP 而非 Windows 7</span></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了)</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">(这里的帮助更新可能不会那么及时,更详细/新的帮助可以看:https://gitee.com/gfdgd-xi/deep-wine-runner/wikis 或 https://gitee.com/gfdgd-xi/wine-runner-wiki)</span></p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了,<span style=" font-weight:600; font-style:italic; text-decoration: underline;">qemu则是 Ctrl+Alt+G</span> )</p>
|
||||||
<hr />
|
<hr />
|
||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||||
@@ -193,7 +268,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">3、在这里修改即可</span></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">3、在这里修改即可</span></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox_20220712223705.png" /></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox_20220712223705.png" /></p>
|
||||||
<hr />
|
<hr />
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装加强功能有什么好处?</span></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装加强功能有什么好处?(只限使用 VirtualBox)</span></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、支持鼠标自由从虚拟机和实体机切换</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、支持鼠标自由从虚拟机和实体机切换</p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、支持虚拟机根据窗口大小自动设置分辨率</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、支持虚拟机根据窗口大小自动设置分辨率</p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、支持文件共享、剪切板共享、文件拖放</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、支持文件共享、剪切板共享、文件拖放</p>
|
||||||
@@ -299,7 +374,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Github:<a href="https://github.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://github.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Github:<a href="https://github.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://github.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitlink:<a href="https://gitlink.org.cn/gfdgd_xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitlink.org.cn/gfdgd_xi/deep-wine-runner</span></a></p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitlink:<a href="https://gitlink.org.cn/gfdgd_xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitlink.org.cn/gfdgd_xi/deep-wine-runner</span></a></p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此组件也有非常大的缺点,就是相比于 Wine,会需要占用大量的空间、安装需要大量的时间、某些情况下需要相比于 Wine 需要消耗更多的系统资源,但可以更加完美、流畅的运行 Windows 应用,会尽量减少因为缺少或未实现导致的 Windows exe 程序运行异常</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此组件也有非常大的缺点,就是相比于 Wine,会需要占用大量的空间、安装需要大量的时间、某些情况下需要相比于 Wine 需要消耗更多的系统资源,但可以更加完美、流畅的运行 Windows 应用,会尽量减少因为缺少或未实现导致的 Windows exe 程序运行异常</p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">该组件制作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">该组件制作者:gfdgd xi</p>
|
||||||
<hr />
|
<hr />
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">参考文献:</p>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">参考文献:</p>
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Droid Sans Mono','monospace','monospace'; font-size:11pt; color:#6a9955;">https://juejin.cn/post/7080484519328874510</span></p></body></html></string>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Droid Sans Mono','monospace','monospace'; font-size:11pt; color:#6a9955;">https://juejin.cn/post/7080484519328874510</span></p></body></html></string>
|
||||||
@@ -330,6 +405,16 @@ p, li { white-space: pre-wrap; }
|
|||||||
<string>关于</string>
|
<string>关于</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="addQemuDisk">
|
||||||
|
<property name="text">
|
||||||
|
<string>导入/覆盖</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="delQemuDisk">
|
||||||
|
<property name="text">
|
||||||
|
<string>导出</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|||||||
115
VM-source/qemu.cpp
Normal file
115
VM-source/qemu.cpp
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
*/
|
||||||
|
#include "qemu.h"
|
||||||
|
#include <QDir>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QCoreApplication>
|
||||||
|
#include "command.h"
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QProcess>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
qemu::qemu(QString name, QString managerPath) {
|
||||||
|
if(!QFile::exists(name)){
|
||||||
|
this->name = QDir::homePath() + "/Qemu/" + name;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this->name = name;
|
||||||
|
}
|
||||||
|
this->managerPath = managerPath;
|
||||||
|
//Command command = Command();
|
||||||
|
|
||||||
|
this->vboxVersion = Command().GetCommand("'" + managerPath + "qemu-system-i386' --version");
|
||||||
|
}
|
||||||
|
int qemu::Create(QString type){
|
||||||
|
if(!QFile::exists(this->name)){
|
||||||
|
QDir dir(this->name);
|
||||||
|
dir.mkpath(this->name);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::CreateDisk(QString path, int size){
|
||||||
|
if(QFile::exists(path)){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return system(("qemu-img create -f qcow2 '" + path + "' " + QString::number(size) + "M").toLatin1());
|
||||||
|
}
|
||||||
|
int qemu::CreateDiskControl(QString controlName){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::MountDisk(QString diskPath, QString controlName, int port, int device){
|
||||||
|
commandOption += "-drive 'file=" + diskPath + ",if=ide,index=" + QString::number(device) + "' ";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::MountISO(QString isoPath, QString controlName, int port, int device){
|
||||||
|
commandOption += "-drive 'media=cdrom,file=" + isoPath + ",if=ide,index=" + QString::number(device) + "' ";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::BootFirst(QString bootDrive){
|
||||||
|
commandOption += "-boot '" + bootDrive + "' ";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetNetBridge(QString netDriver){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetCPU(int number){
|
||||||
|
commandOption += "-smp " + QString::number(number) + " ";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetMemory(int memory){
|
||||||
|
commandOption += "-m " + QString::number(memory) + "M ";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetRemote(bool setting){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetRemoteConnectSetting(int port){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::Start(bool unShown){
|
||||||
|
qDebug() << commandOption;
|
||||||
|
if(Command().GetCommand("arch").replace("\n", "").replace(" ", "") == "x86_64"){
|
||||||
|
return system(("kvm " + commandOption + " &").toLatin1());
|
||||||
|
}
|
||||||
|
return system(("qemu-system-x86_64 -nic model=rtl8139 " + commandOption + " &").toLatin1());
|
||||||
|
}
|
||||||
|
int qemu::Stop(){
|
||||||
|
system("killall qemu-system-x86_64 -9");
|
||||||
|
system("killall kvm -9");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::Delete(){
|
||||||
|
return system(("rm -rfv '" + name + "'").toLatin1());
|
||||||
|
}
|
||||||
|
int qemu::SetDisplayMemory(int memory){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::InstallGuessAdditions(QString controlName, int port, int device){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::EnabledAudio(){
|
||||||
|
commandOption += "-soundhw all ";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::EnabledClipboardMode(){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::EnabledDraganddrop(){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::ShareFile(QString name, QString path){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetVBoxSVGA(){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetMousePS2(){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::SetKeyboardPS2(){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int qemu::OpenUSB(){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
46
VM-source/qemu.h
Normal file
46
VM-source/qemu.h
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
|
#ifndef QEMU_H
|
||||||
|
#define QEMU_H
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
class qemu
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// 虚拟机信息
|
||||||
|
QString name;
|
||||||
|
QString managerPath;
|
||||||
|
QString vboxVersion;
|
||||||
|
qemu(QString name, QString managerPath="/usr/bin");
|
||||||
|
int Create(QString type="Windows7");
|
||||||
|
int CreateDisk(QString path, int size);
|
||||||
|
int CreateDiskControl(QString controlName="storage_controller_1");
|
||||||
|
int MountDisk(QString diskPath, QString controlName="storage_controller_1", int port=0, int device=0);
|
||||||
|
int MountISO(QString isoPath, QString controlName="storage_controller_1", int port=1, int device=0);
|
||||||
|
int BootFirst(QString bootDrive);
|
||||||
|
int SetNetBridge(QString netDriver);
|
||||||
|
int SetCPU(int number);
|
||||||
|
int SetMemory(int memory);
|
||||||
|
int SetRemote(bool setting);
|
||||||
|
int SetRemoteConnectSetting(int port=5540);
|
||||||
|
int Start(bool unShown=false);
|
||||||
|
int Stop();
|
||||||
|
int Delete();
|
||||||
|
int SetDisplayMemory(int memory);
|
||||||
|
int InstallGuessAdditions(QString controlName="storage_controller_1", int port=1, int device=0);
|
||||||
|
int EnabledAudio();
|
||||||
|
int EnabledClipboardMode();
|
||||||
|
int EnabledDraganddrop();
|
||||||
|
int ShareFile(QString name, QString path);
|
||||||
|
int SetVBoxSVGA();
|
||||||
|
int SetMousePS2();
|
||||||
|
int SetKeyboardPS2();
|
||||||
|
int OpenUSB();
|
||||||
|
private:
|
||||||
|
QString commandOption;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QEMU_H
|
||||||
130
VM-source/qemusetting.cpp
Normal file
130
VM-source/qemusetting.cpp
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
#include "qemusetting.h"
|
||||||
|
#include "ui_qemusetting.h"
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QDesktopServices>
|
||||||
|
#include <QUrl>
|
||||||
|
#include <QJsonObject>
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <QFile>
|
||||||
|
#include "infoutils.h"
|
||||||
|
#include <QDir>
|
||||||
|
#include <sys/sysinfo.h>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
QemuSetting::QemuSetting(QWidget *parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(new Ui::QemuSetting)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
// 判断是否安装了 Wine 运行器
|
||||||
|
ui->getrunner->setHidden(QFile::exists(QCoreApplication::applicationDirPath() + "/../mainwindow.py"));
|
||||||
|
// 设置变量
|
||||||
|
if(QFile::exists(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json")){
|
||||||
|
// 读取配置文件
|
||||||
|
QFile file(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json");
|
||||||
|
file.open(QIODevice::ReadOnly);
|
||||||
|
QJsonParseError error;
|
||||||
|
QJsonDocument document = QJsonDocument::fromJson(file.readAll(), &error);
|
||||||
|
file.close();
|
||||||
|
if(error.error != QJsonParseError::NoError){
|
||||||
|
QMessageBox::critical(this, "错误", error.errorString());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QJsonObject object = document.object();
|
||||||
|
qDebug() << QJsonDocument(object).toJson();
|
||||||
|
ui->enableKvm->setChecked(object.value("EnableKVM").toBool());
|
||||||
|
ui->enableRdp->setChecked(object.value("EnableRDP").toBool());
|
||||||
|
ui->enableVnc->setChecked(object.value("EnableVNC").toBool());
|
||||||
|
ui->enableSound->setChecked(object.value("EnableSound").toBool());
|
||||||
|
ui->memoryNumber->setValue(object.value("Memory").toInt());
|
||||||
|
ui->vncNumber->setValue(object.value("VNC").toInt());
|
||||||
|
ui->cpuNumber->setValue(object.value("CPU").toInt());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// 默认
|
||||||
|
this->SetDefaultValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::SetDefaultValue(){
|
||||||
|
long memory = 0;
|
||||||
|
long memoryAll = 0;
|
||||||
|
long swap = 0;
|
||||||
|
long swapAll = 0;
|
||||||
|
infoUtils::memoryRate(memory, memoryAll, swap, swapAll);
|
||||||
|
ui->memoryNumber->setValue(memoryAll / 3 / 1024);
|
||||||
|
ui->vncNumber->setValue(5);
|
||||||
|
ui->cpuNumber->setValue(get_nprocs());
|
||||||
|
ui->enableKvm->setChecked(true);
|
||||||
|
ui->enableRdp->setChecked(true);
|
||||||
|
ui->enableVnc->setChecked(true);
|
||||||
|
ui->enableSound->setChecked(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
QemuSetting::~QemuSetting()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::on_buttonBox_accepted()
|
||||||
|
{
|
||||||
|
QMessageBox::information(NULL, "", "");
|
||||||
|
acceptDrops();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::on_save_clicked()
|
||||||
|
{
|
||||||
|
QJsonParseError error;
|
||||||
|
QJsonDocument document = QJsonDocument::fromJson("{}", &error);
|
||||||
|
if(error.error != QJsonParseError::NoError){
|
||||||
|
QMessageBox::critical(this, "错误", error.errorString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QJsonObject object = document.object();
|
||||||
|
//object.insert("1", QJsonValue("aa"));
|
||||||
|
object.insert("EnableKVM", ui->enableKvm->isChecked());
|
||||||
|
object.insert("EnableRDP", ui->enableRdp->isChecked());
|
||||||
|
object.insert("EnableVNC", ui->enableVnc->isChecked());
|
||||||
|
object.insert("EnableSound", ui->enableSound->isChecked());
|
||||||
|
object.insert("Memory", ui->memoryNumber->value());
|
||||||
|
object.insert("VNC", ui->vncNumber->value());
|
||||||
|
object.insert("CPU", ui->cpuNumber->value());
|
||||||
|
qDebug() << QJsonDocument(object).toJson();
|
||||||
|
// 读取配置文件
|
||||||
|
QDir dir(QDir::homePath() + "/.config/deepin-wine-runner/");
|
||||||
|
if(!dir.exists()){
|
||||||
|
dir.mkpath(QDir::homePath() + "/.config/deepin-wine-runner/");
|
||||||
|
}
|
||||||
|
QFile file(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json");
|
||||||
|
file.open(QIODevice::WriteOnly);
|
||||||
|
file.write(QJsonDocument(object).toJson());
|
||||||
|
file.close();
|
||||||
|
QMessageBox::information(this, "提示", "保存完成!");
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::on_cancel_clicked()
|
||||||
|
{
|
||||||
|
delete this;
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::on_getrunner_clicked()
|
||||||
|
{
|
||||||
|
QDesktopServices::openUrl(QUrl("https://gitee.com/gfdgd-xi/deep-wine-runner/"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::on_enableVnc_stateChanged(int arg1)
|
||||||
|
{
|
||||||
|
// 控件的开启/关闭
|
||||||
|
ui->vncNumber->setEnabled(ui->enableVnc->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
void QemuSetting::on_setDefault_clicked()
|
||||||
|
{
|
||||||
|
if(QMessageBox::question(this, "提示", "你确定要重置为默认?重置后将无法恢复") == QMessageBox::No){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QFile::remove(QDir::homePath() + "/.config/deepin-wine-runner/QemuSetting.json");
|
||||||
|
this->SetDefaultValue();
|
||||||
|
QMessageBox::information(this, "提示", "设置完成!");
|
||||||
|
}
|
||||||
39
VM-source/qemusetting.h
Normal file
39
VM-source/qemusetting.h
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#ifndef QEMUSETTING_H
|
||||||
|
#define QEMUSETTING_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QCheckBox>
|
||||||
|
#include <QSpinBox>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class QemuSetting;
|
||||||
|
}
|
||||||
|
|
||||||
|
class QemuSetting : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit QemuSetting(QWidget *parent = nullptr);
|
||||||
|
~QemuSetting();
|
||||||
|
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_buttonBox_accepted();
|
||||||
|
|
||||||
|
void on_save_clicked();
|
||||||
|
|
||||||
|
void on_cancel_clicked();
|
||||||
|
|
||||||
|
void on_getrunner_clicked();
|
||||||
|
|
||||||
|
void on_enableVnc_stateChanged(int arg1);
|
||||||
|
|
||||||
|
void on_setDefault_clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SetDefaultValue();
|
||||||
|
Ui::QemuSetting *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QEMUSETTING_H
|
||||||
210
VM-source/qemusetting.ui
Normal file
210
VM-source/qemusetting.ui
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>QemuSetting</class>
|
||||||
|
<widget class="QWidget" name="QemuSetting">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>496</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>设置</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="9" column="1">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string><h3>远程服务</h3></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>VNC服务端口:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QCheckBox" name="enableRdp">
|
||||||
|
<property name="text">
|
||||||
|
<string>开启 rdp 服务映射</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>内存大小(MB):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QSpinBox" name="memoryNumber">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>999999999</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QSpinBox" name="vncNumber">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string><h3>基础设置</h3></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QCheckBox" name="enableVnc">
|
||||||
|
<property name="text">
|
||||||
|
<string>开启VNC服务</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QCheckBox" name="enableKvm">
|
||||||
|
<property name="text">
|
||||||
|
<string>开启 kvm 加速</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>CPU核心数:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QSpinBox" name="cpuNumber">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>999999999</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QCheckBox" name="enableSound">
|
||||||
|
<property name="text">
|
||||||
|
<string>开启声音</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="save">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>保存</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="cancel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>取消</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="setDefault">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>重置
|
||||||
|
默认</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="getrunner">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>获取
|
||||||
|
Wine
|
||||||
|
运行器</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
*/
|
||||||
#include "vbox.h"
|
#include "vbox.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
@@ -10,9 +13,13 @@ vbox::vbox(QString name, QString managerPath) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int vbox::Create(QString type){
|
int vbox::Create(QString type){
|
||||||
return system(("\"" + managerPath + "\" createvm --name \""
|
system(("\"" + managerPath + "\" createvm --name \""
|
||||||
+ name + "\" --ostype \"" + type +
|
+ name + "\" --ostype \"" + type +
|
||||||
"\" --register").toLatin1());
|
"\" --register").toLatin1());
|
||||||
|
return system(("\"" + managerPath + "\" modifyvm \""
|
||||||
|
+ name + "\" --ostype \"" + type +
|
||||||
|
"\" ").toLatin1());
|
||||||
|
//vboxmanage modifyvm testvm --ostype
|
||||||
}
|
}
|
||||||
int vbox::CreateDisk(QString path, int size){
|
int vbox::CreateDisk(QString path, int size){
|
||||||
return system(("\"" + managerPath + "\" createvdi --filename \"" + path + "\" --size \"" + QString::number(size) + "\"").toLatin1());
|
return system(("\"" + managerPath + "\" createvdi --filename \"" + path + "\" --size \"" + QString::number(size) + "\"").toLatin1());
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
* gfdgd xi
|
||||||
|
* 依照 GPLV3 开源
|
||||||
|
*/
|
||||||
#ifndef VBOX_H
|
#ifndef VBOX_H
|
||||||
#define VBOX_H
|
#define VBOX_H
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
|
|
||||||
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 8
|
|
||||||
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
|
|
||||||
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
|
|
||||||
QMAKE_CXX.COMPILER_MACROS = \
|
|
||||||
QT_COMPILER_STDCXX \
|
|
||||||
QMAKE_GCC_MAJOR_VERSION \
|
|
||||||
QMAKE_GCC_MINOR_VERSION \
|
|
||||||
QMAKE_GCC_PATCH_VERSION
|
|
||||||
QMAKE_CXX.INCDIRS = \
|
|
||||||
/usr/include/c++/8 \
|
|
||||||
/usr/include/x86_64-linux-gnu/c++/8 \
|
|
||||||
/usr/include/c++/8/backward \
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/8/include \
|
|
||||||
/usr/local/include \
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed \
|
|
||||||
/usr/include/x86_64-linux-gnu \
|
|
||||||
/usr/include
|
|
||||||
QMAKE_CXX.LIBDIRS = \
|
|
||||||
/usr/lib/gcc/x86_64-linux-gnu/8 \
|
|
||||||
/usr/lib/x86_64-linux-gnu \
|
|
||||||
/usr/lib \
|
|
||||||
/lib/x86_64-linux-gnu \
|
|
||||||
/lib
|
|
||||||
33
VM/StartQemu.py
Normal file
33
VM/StartQemu.py
Normal 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}")
|
||||||
Binary file not shown.
BIN
VM/VirtualMachine-aarch64
Executable file
BIN
VM/VirtualMachine-aarch64
Executable file
Binary file not shown.
Binary file not shown.
BIN
VM/VirtualMachine-i686
Executable file
BIN
VM/VirtualMachine-i686
Executable file
Binary file not shown.
BIN
VM/VirtualMachine-loongarch64
Executable file
BIN
VM/VirtualMachine-loongarch64
Executable file
Binary file not shown.
BIN
VM/VirtualMachine-mips
Executable file
BIN
VM/VirtualMachine-mips
Executable file
Binary file not shown.
BIN
VM/VirtualMachine-mips64
Executable file
BIN
VM/VirtualMachine-mips64
Executable file
Binary file not shown.
BIN
VM/VirtualMachine-ppc
Executable file
BIN
VM/VirtualMachine-ppc
Executable file
Binary file not shown.
BIN
VM/VirtualMachine-ppc64el
Executable file
BIN
VM/VirtualMachine-ppc64el
Executable file
Binary file not shown.
Binary file not shown.
BIN
VM/VirtualMachine-s390x
Executable file
BIN
VM/VirtualMachine-s390x
Executable file
Binary file not shown.
BIN
VM/VirtualMachine-x86_64
Executable file
BIN
VM/VirtualMachine-x86_64
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user