mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-12-15 03:22:04 +08:00
Compare commits
286 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 269c800341 | |||
| 1390ca65aa | |||
| 194f086b58 | |||
| e12ca11b08 | |||
| 506c33085f | |||
| f7a683ebf0 | |||
| 6d6aa30557 | |||
| c0aaf54ea4 | |||
| 4a47d95cd6 | |||
| 6be5b433ca | |||
| 08e7d2997d | |||
| a991d7de04 | |||
| d0dc90b95d | |||
| 10b2d8c72b | |||
| 5d819b3c8e | |||
| c7166d9330 | |||
| 053f32e5f2 | |||
| 07db3bf724 | |||
| 949fd1a07f | |||
| 1f5cc8f6c6 | |||
| 4fc20d94aa | |||
| eb049f8560 | |||
| 0173dae3e2 | |||
| e60b7fbbd0 | |||
| bdcae751c7 | |||
| c7eb70780e | |||
| b30be9ff48 | |||
| 6ee9e2a85f | |||
| 02c882c33c | |||
| e811970e08 | |||
| 7436ae72a5 | |||
| f1498a376b | |||
| 516a854f84 | |||
| d019d0d223 | |||
| be57235f02 | |||
| fd9d08b328 | |||
| a8c5acfae2 | |||
| 81ac91b180 | |||
| e477b94cda | |||
| 57db5a2630 | |||
| 4812a9a872 | |||
| ff15b60e4c | |||
| 9b82a3818b | |||
| 275379e4ba | |||
| 9e7ad17ea2 | |||
| 03942892fd | |||
| 370bde5e63 | |||
| c6e722de60 | |||
| de76733f3f | |||
| 37ad313a66 | |||
| d62ec78926 | |||
| 7d1d121c01 | |||
| f20565af53 | |||
| 8b0d0f1018 | |||
| e7cbbc62b9 | |||
| 844f709480 | |||
| 7571a6aafc | |||
| 47bdde1eb3 | |||
| f5b2a3fd93 | |||
| bc0c9039fd | |||
| 3f6c4a47ff | |||
| bab6115348 | |||
| 5f8387e14e | |||
| 1a786145fb | |||
| 0c2f37c187 | |||
| 134fff9f17 | |||
| 4853cafb67 | |||
| 0300f8e599 | |||
| 97b761067b | |||
| d93e7475ff | |||
| b031667887 | |||
| 3fde8e01bc | |||
| 09a95ebac4 | |||
| 2dc251fcb5 | |||
| b873d3e8ab | |||
| 61ea114669 | |||
| 96f02440ca | |||
| 6a2bb2e9ca | |||
| e617c24bd1 | |||
| 858617a3ae | |||
| 30e4c9d8bb | |||
| 361f3cf859 | |||
| 368a9d218a | |||
| dc7cb37d7f | |||
| 036639d830 | |||
| 07f56b820d | |||
| 0bef686aa6 | |||
| 982521b0c3 | |||
| 87a54b8d72 | |||
| ac12c24afd | |||
| 0f96e1d91a | |||
| 6689a5edb1 | |||
| b4ef46ee38 | |||
| a83e0bb2b6 | |||
| 9fdc39446e | |||
| 9892ff71a2 | |||
| 2bfa809caf | |||
| e54a424f81 | |||
| fbe795b6f8 | |||
| aa756b218c | |||
| e625bf97ad | |||
| 83f49a8c7e | |||
| dcabe5b2cf | |||
| 37c0cbf252 | |||
| 98f2beb994 | |||
| 3515e3f44f | |||
| cb0cd776a4 | |||
| ef8c115df2 | |||
| 5fb2bdf5f9 | |||
| a1b2915e3a | |||
| a2424e08ba | |||
| 2cf1266190 | |||
| 8a709ce7e2 | |||
| 82b13b585d | |||
| db622c93ba | |||
| e642d17828 | |||
| f2d766d0f9 | |||
| 01fe3ed3ab | |||
| c05371b856 | |||
| afefb854b6 | |||
| acff44eb2d | |||
| 8699f74087 | |||
| 1a78a98d8e | |||
| 7794df8170 | |||
| 226db3dfd6 | |||
| 0124c4a304 | |||
| bbf47b8120 | |||
| 1942299850 | |||
| 47cffa0637 | |||
| 96fa417b3b | |||
| 3fd2b14a2a | |||
| 8bdb45a87f | |||
| fd36c84d74 | |||
| 34a5ae629e | |||
| 0dda0870c0 | |||
| 2689bc1cfb | |||
| 8607de0fb0 | |||
| 0d2e59b9fe | |||
| 8ba8953aef | |||
| b665842e89 | |||
| ddd65bbf5f | |||
|
|
6768cf9e7b | ||
| 0de3547af0 | |||
| 6fb473f5d1 | |||
| c5e63f3699 | |||
| 878e7f6b2a | |||
| caa73c3bde | |||
| 3c6bb5042f | |||
| 881ff84efd | |||
| 38fed35de8 | |||
| 60836b448f | |||
| 89627200ad | |||
| 40de39fd19 | |||
| 16386b8557 | |||
| c1dc157c71 | |||
| 851105e7bd | |||
| 45594618f8 | |||
|
|
0960218c64 | ||
| 6d4dc4d7d9 | |||
| 995aad5273 | |||
| 851bf9fcc6 | |||
| 00da7fc010 | |||
| 9fd8f5144f | |||
| b31c4bf134 | |||
| 66ace92775 | |||
| 74e82aca00 | |||
| e175a80e57 | |||
| 27cd65a48f | |||
| a5cb1f81f8 | |||
| 2fb32f84d7 | |||
| 6c6b5ff67e | |||
| d3790780dd | |||
| 00245232bf | |||
| 5cb05e9956 | |||
| 72208fd378 | |||
| f63cdff0aa | |||
| 6c43ce51b4 | |||
| a85a7aeb0c | |||
| 70014b29ef | |||
| 808471c330 | |||
| cf0be8a2f1 | |||
| fffb56c098 | |||
| 2dab9ef7ce | |||
|
|
1964dfc866 | ||
|
|
efd22ba3a6 | ||
|
|
2a9ece428a | ||
| adf35abfc7 | |||
| 6ef513d6f5 | |||
| 550827f97c | |||
| 29f42c95b4 | |||
| ee68f6e26a | |||
| aff9996515 | |||
| 075478029d | |||
| f766e8577c | |||
| 08191c17ed | |||
| 7665dbe6d9 | |||
| 7711c186fd | |||
| 93d41ac3e2 | |||
| 59ec3d5822 | |||
| a5d1a04573 | |||
| e434aa9116 | |||
| dc789132d3 | |||
| 9b5beadbcc | |||
| 635171998d | |||
| b757d09901 | |||
| 84f0eefc27 | |||
| f9cac7619c | |||
| 8ae5efe50c | |||
| 58798dd0c6 | |||
| fdced1f2c3 | |||
| aaa5b724e4 | |||
| bbff9aa85f | |||
| 4a469f2a82 | |||
| 58400ed5ff | |||
| 2de9de6633 | |||
| eba3d9f728 | |||
| d8dce3b62c | |||
| 81f49ae83c | |||
| 160d2ecf9d | |||
| d31be64151 | |||
| 77ec7ff2bf | |||
| 6201ec2ed6 | |||
| ed344e7a6c | |||
| ed61089844 | |||
| e3435ad29a | |||
| 0e705a955a | |||
| 77d91f31b2 | |||
| c0b7c99c43 | |||
| cfbffc1a68 | |||
| 490b6ce28d | |||
| 75ae205cbf | |||
| ee49a4aec1 | |||
| 364983ac5b | |||
| ef375f32b9 | |||
| 4ff2d0815d | |||
| 8df919cadb | |||
| 89b812e6a6 | |||
| 803eb09b5a | |||
| 6397130bb2 | |||
| 8a4a5f4ee3 | |||
| 3529dc1503 | |||
| 09eb12d750 | |||
| bf95889b93 | |||
| 76d3fd556e | |||
| 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 |
69
.github/ISSUE_TEMPLATE.md
vendored
Normal file
69
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
name: 程序bug
|
||||
about: 反馈程序的故障
|
||||
---
|
||||
需要把下面的替换成自己的信息,下面为例子
|
||||
|
||||
# 故障表现(最好带图、日志)
|
||||
按右上角叉叉可以关闭运行器
|
||||

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

|
||||
- 其他补充信息
|
||||
|
||||
# 之前做过什么操作
|
||||
在终端里输入了内容
|
||||
```bash
|
||||
sudo apt upgrade
|
||||
```
|
||||
更新了系统
|
||||
|
||||
# 复现步骤
|
||||
1. 打开运行器,然后点击右上角叉叉可以关闭
|
||||
|
||||
# 推测故障原因(可选)
|
||||
Qt 默认有一套配置好的退出事件
|
||||
|
||||
# 联系方式(可选)
|
||||
68
.github/ISSUE_TEMPLATE/ISSCUE_BUG.md
vendored
Normal file
68
.github/ISSUE_TEMPLATE/ISSCUE_BUG.md
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
name: 程序bug
|
||||
about: 反馈程序的故障
|
||||
---
|
||||
需要把下面的替换成自己的信息,下面为例子
|
||||
|
||||
# 故障表现(最好带图、日志)
|
||||
按右上角叉叉可以关闭运行器
|
||||

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

|
||||
- 其他补充信息
|
||||
|
||||
# 之前做过什么操作
|
||||
在终端里输入了内容
|
||||
```bash
|
||||
sudo apt upgrade
|
||||
```
|
||||
更新了系统
|
||||
|
||||
# 复现步骤
|
||||
1. 打开运行器,然后点击右上角叉叉可以关闭
|
||||
|
||||
# 推测故障原因(可选)
|
||||
Qt 默认有一套配置好的退出事件
|
||||
|
||||
35
.github/workflows/auto-building.yml
vendored
Normal file
35
.github/workflows/auto-building.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
name: Auto Building Wine Runner
|
||||
run-name: ${{ github.actor }} Auto Building Wine Runner 🚀
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
Explore-GitHub-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Building DEB
|
||||
env:
|
||||
GUSER: ${{ secrets.GUSER }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||
run: |
|
||||
# 配置环境
|
||||
sudo apt update
|
||||
sudo apt install git dpkg-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qt5-qmake -y
|
||||
git clone https://github.com/gfdgd-xi/deep-wine-runner
|
||||
cd deep-wine-runner
|
||||
make build
|
||||
mv spark-deepin-wine-runner.deb ~
|
||||
mv spark-deepin-wine-runner-ace.deb ~
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner.deb
|
||||
path: /home/runner/spark-deepin-wine-runner.deb
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner-ace.deb
|
||||
path: /home/runner/spark-deepin-wine-runner-ace.deb
|
||||
|
||||
|
||||
78
.github/workflows/building-off-line-package.yml
vendored
Normal file
78
.github/workflows/building-off-line-package.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
name: Building Wine Runner Off-line Pages(amd64)
|
||||
run-name: ${{ github.actor }} Building Wine Runner Off-line Pages(amd64) 🚀
|
||||
on:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
Explore-GitHub-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Building DEB
|
||||
env:
|
||||
GUSER: ${{ secrets.GUSER }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||
run: |
|
||||
# 获取所需数据
|
||||
cpu=$(cat /proc/cpuinfo | grep processor | wc -l)
|
||||
# 配置环境
|
||||
sudo apt update
|
||||
sudo apt install python3-requests debootstrap xz-utils -y
|
||||
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools psmisc -y
|
||||
cd ~
|
||||
mkdir package
|
||||
# 部署 chroot 环境
|
||||
sudo debootstrap bookworm debian
|
||||
wget https://github.com/gfdgd-xi/deep-wine-runner/raw/main/pardus-chroot
|
||||
sudo cp pardus-chroot /usr/bin
|
||||
sudo chmod 777 /usr/bin/pardus-chroot
|
||||
sudo pardus-chroot debian
|
||||
### 配置容器
|
||||
## 加入 wine 源
|
||||
sudo chroot debian dpkg --add-architecture i386
|
||||
sudo chroot debian apt update
|
||||
sudo chroot debian apt install wget -y
|
||||
sudo chroot debian wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo chroot debian wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
||||
sudo chroot debian apt update
|
||||
## 获取 Wine 运行器安装包
|
||||
git clone https://github.com/gfdgd-xi/deep-wine-runner --depth=1
|
||||
cd deep-wine-runner
|
||||
make build
|
||||
cd ..
|
||||
url=`python3 deep-wine-runner/off-line-shell/GetNewestDebUrl.py`
|
||||
#wget $url
|
||||
mv deep-wine-runner/spark-deepin-wine-runner.deb debian/tmp/wine-runner.deb
|
||||
## 安装
|
||||
sudo chroot debian apt install locales /tmp/wine-runner.deb winehq-devel xfce4-terminal -y
|
||||
# 构建软件包
|
||||
mkdir package/opt -p
|
||||
mkdir package/runner -p
|
||||
sudo cp debian/opt/wine-devel package/opt -rv
|
||||
sudo cp debian/usr/bin package -rv
|
||||
sudo cp debian/usr/lib package -rv
|
||||
sudo cp debian/usr/lib32 package -rv
|
||||
sudo cp debian/usr/lib64 package -rv
|
||||
sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv
|
||||
cp deep-wine-runner/off-line-shell/run.sh package -rv
|
||||
cp deep-wine-runner/off-line-shell/bwrap_amd64 package/bwrap -rv
|
||||
sudo chmod 777 -Rv package ; true
|
||||
cd package
|
||||
# 添加 Wine 运行器离线模式标识
|
||||
touch runner/off-line.lock
|
||||
tar -cvf ../spark-deepin-wine-runner-off-line.tar *
|
||||
cd ..
|
||||
xz -T $cpu spark-deepin-wine-runner-off-line.tar
|
||||
cp deep-wine-runner/off-line-shell/compression-packager.sh spark-deepin-wine-runner-off-line.sh
|
||||
cat spark-deepin-wine-runner-off-line.tar.xz >> spark-deepin-wine-runner-off-line.sh
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner-off-line.tar.xz
|
||||
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner-off-line.sh
|
||||
path: /home/runner/spark-deepin-wine-runner-off-line.sh
|
||||
|
||||
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.user*
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.4.0
|
||||
# 更新时间:2022年10月15日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
|
||||
21
AddWineDebMirrorForDeepin20.sh
Executable file
21
AddWineDebMirrorForDeepin20.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
echo 网址:http://deb.wine.wine-runner.gfdgdxi.top/
|
||||
if [[ ! -f /etc/apt/sources.list.d/gfdgdxi-list-winehq.list ]]; then
|
||||
echo 未添加源,现在开始添加!
|
||||
sudo apt update
|
||||
sudo apt install wget gpg
|
||||
if [[ -f /tmp/github.sh ]]; then
|
||||
rm -v /tmp/github.sh
|
||||
fi
|
||||
cd /tmp
|
||||
wget http://deb.wine.wine-runner.gfdgdxi.top/sources/github.sh
|
||||
bash github.sh
|
||||
rm github.sh
|
||||
echo 添加完成,现在安装 Wine!
|
||||
else
|
||||
echo 已添加源,忽略,现在安装 Wine!
|
||||
sudo apt update
|
||||
fi
|
||||
sudo apt install winehq-devel -y
|
||||
echo 安装完成,按回车键退出!
|
||||
read
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -81,6 +81,11 @@ if os.system("which deepin-wine6-stable > /dev/null"):
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
os.system("sudo apt install deepin-wine6-stable -y")
|
||||
if os.system("which deepin-wine8-stable > /dev/null"):
|
||||
print("请问是否要安装 deepin-wine8-stable?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
os.system("sudo apt install deepin-wine6-stable -y")
|
||||
if os.system("which spark-wine7-devel > /dev/null"):
|
||||
print("请问是否要安装 spark-wine7-devel(需要安装最新版星火应用商店)?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:1.8.0
|
||||
# 更新时间:2022年08月01日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -35,7 +35,7 @@ def CleanTerminal():
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.4.0
|
||||
# 更新时间:2022年10月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -29,9 +29,9 @@ except:
|
||||
webeng = False
|
||||
|
||||
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://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.free.idcfengye.com/deep-wine-runner-auto-configuration-script/", # 备用源2
|
||||
"http://gfdgdxi.free.idcfengye.com/wine-runner-list/auto/", # 备用源 3
|
||||
@@ -139,7 +139,7 @@ class InformationWindow():
|
||||
about = f"<h1>关于“{choose}”的介绍</h1>\n<p>暂无此程序的介绍</p>"
|
||||
try:
|
||||
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 = ""
|
||||
except:
|
||||
fenlists = [0, 0, 0, 0, 0]
|
||||
@@ -159,19 +159,19 @@ class InformationWindow():
|
||||
if maxHead > 5:
|
||||
for i in range(end):
|
||||
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:
|
||||
starHtml += f"<img src='{programPath}/Icon/BadStar.svg' width=50>\n"
|
||||
else:
|
||||
for i in range(maxHead):
|
||||
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:
|
||||
starHtml += f"<img src='{programPath}/Icon/Star.svg' width=50>\n"
|
||||
head = maxHead
|
||||
for i in range(head, end):
|
||||
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:
|
||||
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>"
|
||||
@@ -253,7 +253,7 @@ class ProgramRunStatusShow():
|
||||
fileName = i[1]
|
||||
break
|
||||
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 = ""
|
||||
except:
|
||||
#traceback.print_exc()
|
||||
@@ -311,7 +311,7 @@ class ProgramRunStatusShow():
|
||||
else:
|
||||
# 显示最新的3条评论
|
||||
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
|
||||
print(all)
|
||||
if all < 3:
|
||||
@@ -322,7 +322,7 @@ class ProgramRunStatusShow():
|
||||
uploadList = []
|
||||
for i in range(all - 1, start - 1, -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)
|
||||
uploadList.append([f"用户{i + 1}", i + 1, info])
|
||||
Add(uploadList)
|
||||
@@ -379,7 +379,7 @@ def UpdateFen():
|
||||
uploadList = []
|
||||
for i in range(now + 2, now - 1, -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)
|
||||
uploadList.append([f"用户{i + 1}", i + 1, info])
|
||||
#ProgramRunStatusShow.pingLunLayout.removeItem(ProgramRunStatusShow.pingLunLayout.itemAt(2))
|
||||
@@ -516,7 +516,7 @@ def readtxt(path):
|
||||
|
||||
def ChangeSources():
|
||||
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)):
|
||||
if sources[i].isChecked():
|
||||
urlSources = urlSourcesList[i]
|
||||
@@ -557,9 +557,10 @@ if __name__ == "__main__":
|
||||
window.show()
|
||||
#ui.actionGitlink.setExclusive(True)
|
||||
sourcesGroup = QtWidgets.QActionGroup(window)
|
||||
sourcesGroup.addAction(ui.actionGitlink)
|
||||
|
||||
sourcesGroup.addAction(ui.actionGitee)
|
||||
sourcesGroup.addAction(ui.actionGithub)
|
||||
sourcesGroup.addAction(ui.actionGitlink)
|
||||
sourcesGroup.addAction(ui.action_IPv6)
|
||||
sourcesGroup.addAction(ui.action_2)
|
||||
sourcesGroup.addAction(ui.action_3)
|
||||
|
||||
87
BuildDemoConfigFile/com.7zip.demo_23.01spark0_all.json
Normal file
87
BuildDemoConfigFile/com.7zip.demo_23.01spark0_all.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"Package": [
|
||||
"L",
|
||||
"com.7zip.demo"
|
||||
],
|
||||
"Version": [
|
||||
"L",
|
||||
"23.01spark0"
|
||||
],
|
||||
"Description": [
|
||||
"L",
|
||||
"7Zip For Deepin Wine6 Stable"
|
||||
],
|
||||
"Maintainer": [
|
||||
"L",
|
||||
"gfdgd xi<3025613752@qq.com>"
|
||||
],
|
||||
"BottleName": [
|
||||
"L",
|
||||
"Spark-7zip"
|
||||
],
|
||||
"BottlePath": [
|
||||
"L",
|
||||
"/home/gfdgd_xi/.deepinwine/Spark-7zip"
|
||||
],
|
||||
"WineVersion": [
|
||||
"Co",
|
||||
5
|
||||
],
|
||||
"DebSavePath": [
|
||||
"L",
|
||||
"/home/gfdgd_xi/Desktop/com.7zip.demo_23.01spark0_all.deb"
|
||||
],
|
||||
"Desktop": [
|
||||
"List-Desktop",
|
||||
[
|
||||
[
|
||||
"c:/Program Files/7-Zip/7zFM.exe",
|
||||
11,
|
||||
"",
|
||||
"7Zip",
|
||||
"/home/gfdgd_xi/Desktop/Icon_0001.png",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
"UseInstallWineArch": [
|
||||
"Co",
|
||||
0
|
||||
],
|
||||
"RemoveBash": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"CleanBottleByUOS": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"ChooseWineHelperValue": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"DisabledMono": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"DebDepends": [
|
||||
"L",
|
||||
"deepin-wine6-stable | deepin-wine6-stable-bcm | deepin-wine6-stable-dcm, spark-dwine-helper | store.spark-app.spark-dwine-helper, fonts-wqy-microhei, fonts-wqy-zenhei"
|
||||
],
|
||||
"DebRecommend": [
|
||||
"L",
|
||||
""
|
||||
],
|
||||
"DebFirstArch": [
|
||||
"Co",
|
||||
0
|
||||
],
|
||||
"DebArch": [
|
||||
"Co",
|
||||
0
|
||||
],
|
||||
"SparkHelperConfigPath": [
|
||||
"Str-SparkHelperConfigPath",
|
||||
null
|
||||
]
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
#################################################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.5.0
|
||||
# 更新时间:2022年11月18日
|
||||
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||
# 使用 Wine 运行器的语言解析器
|
||||
##########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 更新时间:2022年11月19日
|
||||
##########################################################################################
|
||||
# 用于判断是否为 bash 解释器
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||
# 使用 Wine 运行器的语言解析器
|
||||
##########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 更新时间:2022年11月03日
|
||||
##########################################################################################
|
||||
# 用于判断是否为 bash 解释器
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||
# 使用 Wine 运行器的语言解析器
|
||||
##########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 更新时间:2022年11月19日
|
||||
##########################################################################################
|
||||
# 用于判断是否为 bash 解释器
|
||||
|
||||
@@ -43,8 +43,8 @@ programEnv = [
|
||||
["($PROGRAMPATH)", programPath],
|
||||
["($VERSION)", version],
|
||||
["($THANK)", thankText],
|
||||
["($MAKER)", "RacoonGX 团队,By gfdgd xi"],
|
||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi"],
|
||||
["($MAKER)", "gfdgd xi"],
|
||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} gfdgd xi"],
|
||||
["($?)", "0"],
|
||||
["($PLATFORM)", platform.system()],
|
||||
["($DEBUG)", "1"]
|
||||
@@ -301,7 +301,7 @@ class Command():
|
||||
|
||||
def Version(self):
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||
return 0
|
||||
|
||||
def Pause(self) -> int:
|
||||
@@ -650,7 +650,7 @@ if __name__ == "__main__":
|
||||
if len(sys.argv) - optionAll < 2:
|
||||
print("Wine 运行器自动配置文件解析器交互环境")
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi")
|
||||
print(f"©2020~{time.strftime('%Y')} By gfdgd xi")
|
||||
print("--------------------------------------------------------------")
|
||||
while True:
|
||||
commandLine = input(">")
|
||||
|
||||
351
DefaultSetting.py
Normal file
351
DefaultSetting.py
Normal file
@@ -0,0 +1,351 @@
|
||||
#!/usr/bin/env python3
|
||||
# 读取设置单独用一个 py 文件
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import base64
|
||||
import shutil
|
||||
import getpass
|
||||
import datetime
|
||||
import traceback
|
||||
import subprocess
|
||||
import configparser
|
||||
import PyQt5.QtGui as QtGui
|
||||
import PyQt5.QtCore as QtCore
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
|
||||
# 获取用户主目录
|
||||
def get_home():
|
||||
return os.path.expanduser('~')
|
||||
|
||||
# 读取文本文档
|
||||
def readtxt(path):
|
||||
f = open(path, "r") # 设置文件对象
|
||||
str = f.read() # 获取内容
|
||||
f.close() # 关闭文本对象
|
||||
return str # 返回结果
|
||||
|
||||
defultProgramList = {
|
||||
"Architecture": "Auto",
|
||||
"Debug": True,
|
||||
"DefultWine": "deepin-wine8-stable",
|
||||
"DefultBotton" : get_home() + "/.wine",
|
||||
"TerminalOpen": False,
|
||||
"WineOption": "",
|
||||
"WineBottonDifferent": False,
|
||||
"CenterWindow": False,
|
||||
"Theme": "",
|
||||
"MonoGeckoInstaller": False,
|
||||
"AutoWine": True,
|
||||
"RuntimeCache": True,
|
||||
"MustRead": False,
|
||||
"BuildByBottleName": False,
|
||||
"AutoPath": False,
|
||||
"QemuUnMountHome": False,
|
||||
"Chinese": True,
|
||||
"FontSize": 1
|
||||
}
|
||||
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
|
||||
try:
|
||||
information = json.loads(readtxt(f"{programPath}/information.json"))
|
||||
setting = json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineSetting.json"))
|
||||
except:
|
||||
traceback.print_exc()
|
||||
setting = defultProgramList
|
||||
|
||||
def SetFont(app):
|
||||
defaultFont = app.font()
|
||||
size = setting["FontSize"]
|
||||
font = QtGui.QFont(defaultFont)
|
||||
if size == 1:
|
||||
app.setFont(defaultFont)
|
||||
return
|
||||
font.setPixelSize(int(defaultFont.pixelSize() / size))
|
||||
font.setPointSize(int(defaultFont.pointSize() / size))
|
||||
app.setFont(font)
|
||||
|
||||
def getFileFolderSize(fileOrFolderPath):
|
||||
"""get size for file or folder"""
|
||||
totalSize = 0
|
||||
try:
|
||||
if not os.path.exists(fileOrFolderPath):
|
||||
return totalSize
|
||||
if os.path.isfile(fileOrFolderPath):
|
||||
totalSize = os.path.getsize(fileOrFolderPath) # 5041481
|
||||
return totalSize
|
||||
if os.path.islink(fileOrFolderPath):
|
||||
return 0
|
||||
if os.path.isdir(fileOrFolderPath):
|
||||
with os.scandir(fileOrFolderPath) as dirEntryList:
|
||||
for curSubEntry in dirEntryList:
|
||||
curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name)
|
||||
if curSubEntry.is_dir():
|
||||
curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007
|
||||
totalSize += curSubFolderSize
|
||||
elif curSubEntry.is_file():
|
||||
curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891
|
||||
totalSize += curSubFileSize
|
||||
return totalSize
|
||||
except:
|
||||
return totalSize
|
||||
|
||||
def FileToBase64(filePath):
|
||||
src = ""
|
||||
with open(filePath, "rb") as f:
|
||||
base64Byte = base64.b64encode(f.read())
|
||||
src += base64Byte.decode("utf-8")
|
||||
return src
|
||||
|
||||
def SaveLogWindow():
|
||||
pass
|
||||
|
||||
class SaveLogReport():
|
||||
userName = getpass.getuser()
|
||||
time = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
|
||||
kernelVersion = subprocess.getoutput("uname -a")
|
||||
wineRunnerVersion = information["Version"]
|
||||
architecture = subprocess.getoutput("arch")
|
||||
cpuInfo = subprocess.getoutput("lscpu")
|
||||
lsmod = subprocess.getoutput("lsmod")
|
||||
lshw = subprocess.getoutput("lshw")
|
||||
cpu = subprocess.getoutput("cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F: '{print $2}'")
|
||||
gpu = subprocess.getoutput("lspci | grep -i 'VGA\|3D\|2D'")
|
||||
|
||||
def __init__(self, chooseWineName, chooseWineCommand, runCommand, binPath, logOut, description="无", imgPath=[]) -> None:
|
||||
self.chooseWineName = chooseWineName
|
||||
self.chooseWineCommand = chooseWineCommand
|
||||
self.runCommand = runCommand
|
||||
self.binPath = binPath
|
||||
self.logOut = logOut
|
||||
self.description = description
|
||||
self.imgPath = imgPath
|
||||
# 读取可执行文件信息
|
||||
if os.path.exists(binPath):
|
||||
try:
|
||||
self.binSize = f"{str(int(getFileFolderSize(binPath) / 1024 / 1024))}MB"
|
||||
except:
|
||||
self.binSize = "Error"
|
||||
traceback.print_exc()
|
||||
os.system(f"'{programPath}/wrestool' '{binPath}' -x -t 14 > '/tmp/wine-runner-log-icon.png'")
|
||||
# 如果提取成功
|
||||
if os.path.exists("/tmp/wine-runner-log-icon.png"):
|
||||
# 转换成 base64 编码
|
||||
self.binIcon = "data:image/jpg;base64," + FileToBase64("/tmp/wine-runner-log-icon.png")
|
||||
self.binIconPath = "/tmp/wine-runner-log-icon.png"
|
||||
else:
|
||||
self.binIcon = "Not Found"
|
||||
self.binIconPath = "Not Found"
|
||||
else:
|
||||
self.binSize = "Not Found"
|
||||
self.binIcon = "Not Found"
|
||||
self.binIconPath = "Not Found"
|
||||
try:
|
||||
self.memoryInfo = readtxt("/proc/meminfo")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
self.memoryInfo = traceback.format_exc()
|
||||
# 读取系统信息
|
||||
try:
|
||||
with open("/etc/os-release", "r") as file:
|
||||
text = "[Default]\n" + file.read()
|
||||
conf = configparser.ConfigParser()
|
||||
conf.read_string(text)
|
||||
self.systemVersion = conf.get("Default", "PRETTY_NAME")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
self.systemVersion = subprocess.getoutput("lsb_release -a")
|
||||
|
||||
def SetWindow(self):
|
||||
def AddImageToListClicked():
|
||||
choose = QtWidgets.QFileDialog.getOpenFileNames(messagebox, "选择图像", get_home(), "图片文件(*.png *.jpg *.bmp *.gif *.svg);;所有文件(*.*)")
|
||||
print(choose)
|
||||
for i in choose[0]:
|
||||
if i in imageList:
|
||||
continue
|
||||
imageList.append(i)
|
||||
nmodel = QtGui.QStandardItemModel(messagebox)
|
||||
for i in imageList:
|
||||
item = QtGui.QStandardItem(i)
|
||||
nmodel.appendRow(item)
|
||||
imageListView.setModel(nmodel)
|
||||
|
||||
def DeleteImageToListClicked():
|
||||
index = imageListView.currentIndex().row()
|
||||
if index < 0:
|
||||
QtWidgets.QMessageBox.information(messagebox, "提示", "您未选择任何项")
|
||||
return
|
||||
del imageList[index]
|
||||
nmodel = QtGui.QStandardItemModel(messagebox)
|
||||
for i in imageList:
|
||||
item = QtGui.QStandardItem(i)
|
||||
nmodel.appendRow(item)
|
||||
imageListView.setModel(nmodel)
|
||||
# 选择第一项
|
||||
imageListView.setCurrentIndex(nmodel.index(0, 0))
|
||||
|
||||
def OkClicked():
|
||||
self.description = description.toPlainText()
|
||||
self.imgPath = imageList
|
||||
path = QtWidgets.QFileDialog.getSaveFileName(messagebox, "保存日志报告", get_home(), "7z 文件(*.7z);;所有文件(*.*)")
|
||||
print(path)
|
||||
if path[0] != "":
|
||||
try:
|
||||
self.To7z(path[0])
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(messagebox, "错误", traceback.format_exc())
|
||||
return
|
||||
messagebox.close()
|
||||
QtWidgets.QMessageBox.information(messagebox, "提示", "生成完成!\n建议将报告与可执行文件一并提交以便排除错误")
|
||||
|
||||
def CancelClicked():
|
||||
messagebox.close()
|
||||
|
||||
# 权重
|
||||
size = QtWidgets.QSizePolicy()
|
||||
size.setHorizontalPolicy(0)
|
||||
imageList = []
|
||||
messagebox = QtWidgets.QDialog()
|
||||
layout = QtWidgets.QGridLayout()
|
||||
description = QtWidgets.QTextEdit()
|
||||
imageListView = QtWidgets.QListView()
|
||||
addImageToList = QtWidgets.QPushButton("+")
|
||||
deleteImageToList = QtWidgets.QPushButton("-")
|
||||
controlLayout = QtWidgets.QHBoxLayout()
|
||||
ok = QtWidgets.QPushButton("保存")
|
||||
cancel = QtWidgets.QPushButton("取消")
|
||||
description.setPlaceholderText("可以填写故障的现象、复现步骤以及其他有关的信息,同时也可以填写联系方式")
|
||||
addImageToList.clicked.connect(AddImageToListClicked)
|
||||
deleteImageToList.clicked.connect(DeleteImageToListClicked)
|
||||
ok.clicked.connect(OkClicked)
|
||||
cancel.clicked.connect(CancelClicked)
|
||||
addImageToList.setSizePolicy(size)
|
||||
deleteImageToList.setSizePolicy(size)
|
||||
ok.setSizePolicy(size)
|
||||
cancel.setSizePolicy(size)
|
||||
layout.addWidget(QtWidgets.QLabel("<h2>描述(建议填写)</h2>"), 0, 0)
|
||||
layout.addWidget(description, 1, 0, 1, 3)
|
||||
layout.addWidget(QtWidgets.QLabel("<hr>"), 2, 0, 1, 4)
|
||||
layout.addWidget(QtWidgets.QLabel("<h2>截图(建议选择)</h2>"), 3, 0)
|
||||
layout.addWidget(imageListView, 4, 0, 4, 3)
|
||||
layout.addWidget(addImageToList, 5, 3)
|
||||
layout.addWidget(deleteImageToList, 6, 3)
|
||||
layout.addLayout(controlLayout, 8, 2, 1, 2)
|
||||
controlLayout.addWidget(cancel)
|
||||
controlLayout.addWidget(ok)
|
||||
messagebox.setLayout(layout)
|
||||
messagebox.exec_()
|
||||
|
||||
def To7z(self, savePath):
|
||||
os.system("rm -rfv /tmp/wine-runner-log")
|
||||
os.system("mkdir -v /tmp/wine-runner-log")
|
||||
self.ToHtml("/tmp/wine-runner-log/index.html", toZip=True)
|
||||
if os.path.exists(self.binIconPath):
|
||||
shutil.copy(self.binIconPath, f"/tmp/wine-runner-log/{os.path.basename(self.binIconPath)}")
|
||||
lists = ["wine-runner-log-icon.png", "index.html"]
|
||||
for i in self.imgPath:
|
||||
name = os.path.basename(i)
|
||||
if os.path.basename(i) in lists:
|
||||
while name in lists:
|
||||
name = os.path.splitext(name)[0] + "-copy" + os.path.splitext(name)[1]
|
||||
lists.append(name)
|
||||
else:
|
||||
lists.append(name)
|
||||
shutil.copy(i, f"/tmp/wine-runner-log/{name}")
|
||||
os.system(f"7z a '{savePath}' /tmp/wine-runner-log")
|
||||
|
||||
|
||||
def ToHtml(self, savePath, toZip=False):
|
||||
print(self.userName, self.time)
|
||||
# 对文本进行处理
|
||||
description = ""
|
||||
logOut = ""
|
||||
cpuInfo = ""
|
||||
memoryInfo = ""
|
||||
imgPath = ""
|
||||
lsmod = ""
|
||||
lshw = ""
|
||||
charReplaceMap = {
|
||||
"<": "<",
|
||||
">": ">",
|
||||
"&": "&",
|
||||
'"': """
|
||||
}
|
||||
for i in self.description.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
description += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.logOut.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
logOut += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.cpuInfo.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
cpuInfo += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.memoryInfo.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
memoryInfo += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.lsmod.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
lsmod += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.lshw.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
lshw += f'<span class="line code">{i}</span>\n'
|
||||
text = readtxt(f"{programPath}/Resources/LogTemplate/template.html")
|
||||
if toZip:
|
||||
binIcon = os.path.basename(self.binIconPath)
|
||||
# 重名排除
|
||||
lists = ["wine-runner-log-icon.png", "index.html"]
|
||||
for i in self.imgPath:
|
||||
name = os.path.basename(i)
|
||||
if os.path.basename(i) in lists:
|
||||
while name in lists:
|
||||
name = os.path.splitext(name)[0] + "-copy" + os.path.splitext(name)[1]
|
||||
lists.append(name)
|
||||
else:
|
||||
lists.append(name)
|
||||
imgPath += f'<p align="center"><img src="{name}" class="imgShow"></p>\n'
|
||||
else:
|
||||
binIcon = self.binIcon
|
||||
for i in self.imgPath:
|
||||
try:
|
||||
path = "data:image/jpg;base64," + FileToBase64(i)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
path = "Error"
|
||||
imgPath += f' <p align="center"><img src="{path}" class="imgShow"></p>\n'
|
||||
|
||||
replaceMap = {
|
||||
"%UserName%": self.userName,
|
||||
"%Time%": self.time,
|
||||
"%KernelVersion": self.kernelVersion,
|
||||
"%ChooseWineName%": self.chooseWineName,
|
||||
"%ChooseWineCommand%": self.chooseWineCommand,
|
||||
"%RunCommand%": self.runCommand,
|
||||
"%BinPath%": self.binPath,
|
||||
"%WineRunnerVersion%": self.wineRunnerVersion,
|
||||
"%BinSize%": self.binSize,
|
||||
"%BinIcon%": binIcon,
|
||||
"%CPUInfo%": cpuInfo,
|
||||
"%Architecture%": self.architecture,
|
||||
"%MemoryInfo%": memoryInfo,
|
||||
"%LogOut%": logOut,
|
||||
"%Description%": description,
|
||||
"%ImgPath%": imgPath,
|
||||
"%Lsmod%": lsmod,
|
||||
"%Lshw%": lshw,
|
||||
"%CPU%": self.cpu,
|
||||
"%GPU%": self.gpu,
|
||||
"%SystemVersion%": self.systemVersion
|
||||
}
|
||||
for i in replaceMap.keys():
|
||||
text = text.replace(i, replaceMap[i])
|
||||
with open(savePath, "w") as file:
|
||||
file.write(text)
|
||||
|
||||
12
DesktopIcon/spark-deepin-wine-packager-easy-builder.desktop
Normal file
12
DesktopIcon/spark-deepin-wine-packager-easy-builder.desktop
Normal file
@@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
X-Categories=System;Wine;
|
||||
Exec=/usr/bin/deepin-wine-packager-easy-builder %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Wine Package Builder
|
||||
Name[zh]=Wine 简易打包器
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
NoDisplay=true
|
||||
Keywords=exe;scr;
|
||||
MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut;
|
||||
@@ -1,5 +1,11 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import base64
|
||||
import requests
|
||||
print(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9JbnN0YWxsLnBocD9WZXJzaW9uPQ==").decode("utf-8") + sys.argv[1]).text)
|
||||
# 读取版本号
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
with open(f"{programPath}/information.json") as file:
|
||||
version = json.loads(file.read())["Version"]
|
||||
print(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9JbnN0YWxsLnBocD9WZXJzaW9uPQ==").decode("utf-8") + version).text)
|
||||
10
GetProgramVersion.py
Executable file
10
GetProgramVersion.py
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env python3
|
||||
# 读取程序版本号
|
||||
import os
|
||||
import json
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
try:
|
||||
with open(f"{programPath}/information.json") as file:
|
||||
print(json.loads(file.read())["Version"])
|
||||
except:
|
||||
print("1.0.0")
|
||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
Icon/Program/AboutIcon1.png
Executable file
BIN
Icon/Program/AboutIcon1.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 126 KiB |
48
InstallBox86-cn.sh
Executable file
48
InstallBox86-cn.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
if [[ `whoami` != root ]]; then
|
||||
echo 请以 root 权限运行
|
||||
echo 按任意键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
PCArch=`dpkg --print-architecture`
|
||||
if [[ $PCArch != "aarch64" ]] && [[ $PCArch != "arm64" ]]; then
|
||||
echo 非 ARM 架构,无法继续
|
||||
echo 按任意键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
which box86
|
||||
if [[ $? == 0 ]]; then
|
||||
echo 已安装,结束
|
||||
echo 按回车键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
echo 使用国内源
|
||||
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/debian ./ > /etc/apt/sources.list.d/box86.list"
|
||||
wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||
echo "adding key..."
|
||||
installBox=box86-generic-arm
|
||||
if [[ $PCArch == "arm64" ]]; then
|
||||
sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/debian ./ > /etc/apt/sources.list.d/box64.list"
|
||||
wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||
installBox="box86-generic-arm box64-generic-arm"
|
||||
sudo dpkg --add-architecture armhf
|
||||
fi
|
||||
echo " + sudo apt update"
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support -y
|
||||
sudo apt install libc6:armhf -y
|
||||
echo apt 源添加完毕!按回车键继续安装 Box86/Box64,若想要停止安装,则请按 Ctrl+C 或按终端右上角 ×(叉叉)退出
|
||||
echo 按回车键后将会自动安装包名为 box86-generic-arm、box64-generic-arm(box64 要在 aarch64 系统才可安装)的 Box86/Box64 包(适用于通用 ARM 系统)
|
||||
echo 其他特殊版本及其包名可见如下链接(如适用于 rk3399 的版本):
|
||||
echo " - Box64:https://github.com/ryanfortner/box64-debs/"
|
||||
echo " - Box86:https://github.com/ryanfortner/box86-debs/"
|
||||
echo " - Box64(国内镜像):http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs"
|
||||
echo " - Box64(国内镜像):http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs"
|
||||
read
|
||||
sudo apt install -y $installBox
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
31
InstallBox86-own.sh
Executable file
31
InstallBox86-own.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
if [[ `whoami` != root ]]; then
|
||||
echo 请以 root 权限运行
|
||||
echo 按任意键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
PCArch=`dpkg --print-architecture`
|
||||
echo 使用国内源
|
||||
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
#sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/debian ./ > /etc/apt/sources.list.d/box86.list"
|
||||
#wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||
#echo "adding key..."
|
||||
#installBox=box86-generic-arm
|
||||
#if [[ $PCArch == "arm64" ]]; then
|
||||
# sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/debian ./ > /etc/apt/sources.list.d/box64.list"
|
||||
# wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||
# installBox="box86-generic-arm box64-generic-arm"
|
||||
# sudo dpkg --add-architecture armhf
|
||||
#fi
|
||||
wget http://deb.box86.wine-runner.gfdgdxi.top/sources/github.sh
|
||||
bash github.sh
|
||||
rm github.sh
|
||||
echo " + sudo apt update"
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support -y
|
||||
sudo apt install libc6:armhf -y
|
||||
sudo apt install -y box86
|
||||
sudo apt install -y box64
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
@@ -19,17 +19,29 @@ if [[ $? == 0 ]]; then
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
#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 使用 Github 源
|
||||
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||
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 -
|
||||
installBox=box86
|
||||
installBox=box86-generic-arm
|
||||
if [[ $PCArch == "arm64" ]]; then
|
||||
installBox="box86 box64"
|
||||
sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list
|
||||
wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||
installBox="box86-generic-arm box64-generic-arm"
|
||||
sudo dpkg --add-architecture armhf
|
||||
fi
|
||||
echo " + sudo apt update"
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support -y
|
||||
echo apt 源添加完毕!按回车键继续安装 Box86/Box64,若想要停止安装,则请按 Ctrl+C 或按终端右上角 ×(叉叉)退出
|
||||
echo 按回车键后将会自动安装包名为 box86-generic-arm、box64-generic-arm(box64 要在 aarch64 系统才可安装)的 Box86/Box64 包(适用于通用 ARM 系统)
|
||||
echo 其他特殊版本及其包名可见如下链接(如适用于 rk3399 的版本):
|
||||
echo " - Box64:https://github.com/ryanfortner/box64-debs/"
|
||||
echo " - Box86:https://github.com/ryanfortner/box86-debs/"
|
||||
echo " - Box64(国内镜像):https://jihulab.com/gfdgd-xi/box64-debs"
|
||||
echo " - Box64(国内镜像):https://jihulab.com/gfdgd-xi/box86-debs"
|
||||
read
|
||||
sudo apt install -y $installBox
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -23,6 +23,7 @@ def exit():
|
||||
sys.exit()
|
||||
# 获取云列表
|
||||
sourcesList = [
|
||||
"http://dll.wine-runner.gfdgdxi.top",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/dlls",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/dlls"
|
||||
]
|
||||
@@ -31,7 +32,8 @@ print("获取列表中……", end="")
|
||||
try:
|
||||
lists = json.loads(requests.get(f"{url}/list.json").text)
|
||||
except:
|
||||
print("\r列表获取失败!")
|
||||
print("\r列表获取失败!按回车键退出")
|
||||
input()
|
||||
exit()
|
||||
print("\r列表获取成功!")
|
||||
|
||||
@@ -63,7 +65,7 @@ def exit():
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -18,26 +18,66 @@ import updatekiller
|
||||
import req as requests
|
||||
homePath = os.path.expanduser('~')
|
||||
try:
|
||||
sources = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/fonts/list.json"
|
||||
sourcesList = [
|
||||
"http://fonts.wine-runner.gfdgdxi.top/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:
|
||||
pass
|
||||
if not change:
|
||||
fontList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
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"],
|
||||
["simsunb.ttf", "https://gitlink.org.cn/api/attachments/392180", "simsunb.ttf", "simsunb.ttf"],
|
||||
["msyh.ttc", "https://gitlink.org.cn/api/attachments/392182", "msyh.ttc", "msyh.ttc"],
|
||||
["msyhl.ttc", "https://gitlink.org.cn/api/attachments/392184", "msyhl.ttc", "msyhl.ttc"],
|
||||
["msyhbd.ttc", "https://gitlink.org.cn/api/attachments/392183", "msyhbd.ttc", "msyhbd.ttc"]
|
||||
[
|
||||
"fake_simsun.ttc",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/fake_simsun.ttc",
|
||||
"simsun.ttc",
|
||||
"fake_simsun.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:
|
||||
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 "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
|
||||
105
InstallFoxpro.py
Executable file
105
InstallFoxpro.py
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 构建
|
||||
###########################################################################################
|
||||
#################
|
||||
# 引入所需的库
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"http://foxpro.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/Visual FoxPro/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)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
netList = [
|
||||
["3.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP3SP1RT.EXE", "VFP3SP1RT.EXE"],
|
||||
["5.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP5SP1RT.EXE", "VFP5SP1RT.EXE"],
|
||||
["6.0 Runtime Service Pack 5", "http://foxpro.wine-runner.gfdgdxi.top/VFP6SP5RT.EXE", "VFP6SP5RT.EXE"],
|
||||
["7.0 Runtime Service Pack 0", "http://foxpro.wine-runner.gfdgdxi.top/VFP7SP0RT.EXE", "VFP7SP0RT.EXE"],
|
||||
["7.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP7SP1RT.EXE", "VFP7SP1RT.EXE"],
|
||||
["8.0 Runtime Service Pack 0", "http://foxpro.wine-runner.gfdgdxi.top/VFP8SP0RT.EXE", "VFP8SP0RT.EXE"],
|
||||
["8.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP8SP1RT.EXE", "VFP8SP1RT.EXE"],
|
||||
["9.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP9SP1RT.EXE", "VFP9SP1RT.EXE"],
|
||||
["9.0 Runtime Service Pack 2 with Hotfixes", "http://foxpro.wine-runner.gfdgdxi.top/VFP9SP2RT.EXE", "VFP9SP2RT.EXE"]
|
||||
]
|
||||
def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
try:
|
||||
os.remove(f"/tmp/deepin-wine-runner-FoxPro/{netList[id][2]}")
|
||||
except:
|
||||
pass
|
||||
os.system(f"aria2c -x 16 -s 16 -d '/tmp/deepin-wine-runner-FoxPro' -o '{netList[id][2]}' \"{netList[id][1]}\"")
|
||||
return os.system(f"WINEPREFIX='{wineBotton}' {wine} '/tmp/deepin-wine-runner-FoxPro/{netList[id][2]}'")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 Visual FoxPro")
|
||||
sys.exit()
|
||||
if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
print("您未指定需要安装 Visual FoxPro 的容器和使用的 wine,无法继续")
|
||||
print("参数:")
|
||||
print("XXX 参数一 参数二 参数三(可略)")
|
||||
print("参数一为需要安装的容器,参数二为需要使用的wine,参数三为是否缓存(可略),三个参数位置不能颠倒")
|
||||
sys.exit()
|
||||
|
||||
homePath = os.path.expanduser('~')
|
||||
print('''
|
||||
mmmmmm mmmmm
|
||||
# mmm m m # "# m mm mmm
|
||||
#mmmmm #" "# #m# #mmm#" #" " #" "#
|
||||
# # # m#m # # # #
|
||||
# "#m#" m" "m # # "#m#"
|
||||
|
||||
|
||||
''')
|
||||
|
||||
print("请选择以下的 Visual FoxPro 进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(netList)):
|
||||
print(f"{i} Visual FoxPro {netList[i][0]}")
|
||||
while True:
|
||||
try:
|
||||
choose = input("请输入要选择的 Visual FoxPro 版本(输入“exit”退出):").lower()
|
||||
if choose == "exit":
|
||||
break
|
||||
choose = int(choose)
|
||||
except:
|
||||
print("输入错误,请重新输入")
|
||||
continue
|
||||
if 0 <= choose and choose < len(netList):
|
||||
break
|
||||
if choose == "exit":
|
||||
exit()
|
||||
print(f"您选择了 Visual FoxPro {netList[choose][0]}")
|
||||
if os.path.exists(f"{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}"):
|
||||
print("已经缓存,使用本地版本")
|
||||
os.system(f"WINEPREFIX='{sys.argv[1]}' {sys.argv[2]} '{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}'")
|
||||
input("安装结束,按回车键退出")
|
||||
exit()
|
||||
print("开始下载")
|
||||
os.system(f"rm -rf '{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}'")
|
||||
os.system(f"mkdir -p '{homePath}/.cache/deepin-wine-runner/vcpp'")
|
||||
os.system(f"aria2c -x 16 -s 16 -d '{homePath}/.cache/deepin-wine-runner/vcpp' -o '{netList[choose][2]}' \"{netList[choose][1]}\"")
|
||||
os.system(f"WINEPREFIX='{sys.argv[1]}' {sys.argv[2]} '{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}'")
|
||||
input("安装结束,按回车键退出")
|
||||
6
InstallLat.sh
Executable file
6
InstallLat.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
echo lat只能在loongarch架构安装
|
||||
sudo apt update
|
||||
sudo apt install lat
|
||||
echo 按回车键退出
|
||||
read
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,7 +17,7 @@ import traceback
|
||||
import pyquery
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 mono、gecko")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,24 +17,36 @@ import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/msxml/list.json"
|
||||
"http://msxml.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json"
|
||||
]
|
||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||
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)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
msxmlList = [
|
||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi", "msxml4.0SP3.msi"],
|
||||
["MSXML 6.0", "https://www.gitlink.org.cn/api/attachments/390681?gfdgd_xi", "msxml6_x64.msi"]
|
||||
["MSXML 4.0 SP2", "http://msxml.wine-runner.gfdgdxi.top/msxml6.0.msi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "http://msxml.wine-runner.gfdgdxi.top/msxml4.0SP3.msi", "msxml4.0SP3.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):
|
||||
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]}\"")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 MSXML")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -18,10 +18,21 @@ import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"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"
|
||||
]
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
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)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
netList = [
|
||||
["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"],
|
||||
@@ -57,7 +68,7 @@ def Download(wineBotton: str, id: int, wine: str):
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 .net framework")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.2.0
|
||||
# 更新时间:2022年09月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,7 +17,9 @@ echo '" #"# # # #" # #" # #mmmm# # #'
|
||||
echo ' ## ##" # # # #"""" # # # #'
|
||||
echo ' # # mm#mm # # "#mm" # # #mm#"'
|
||||
echo ' # '
|
||||
|
||||
echo
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo 当前使用国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/
|
||||
|
||||
ubuntuSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ jammy main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
@@ -28,11 +30,11 @@ ubuntuSource=(
|
||||
debianSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ buster main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bullseye main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bookworm main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
)
|
||||
# 选择发行版
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/"
|
||||
#echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
#echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/"
|
||||
echo
|
||||
echo "选择发行版:"
|
||||
echo "0. Debian"
|
||||
@@ -43,7 +45,7 @@ echo "选择系统版本"
|
||||
if [ $system = "0" ]; then
|
||||
echo "0. Debian 10 (Buster)"
|
||||
echo "1. Debian 11 (Bullseye)"
|
||||
echo "2. Debian Testing (Bookworm)"
|
||||
echo "2. Debian 12 (Bookworm)"
|
||||
fi
|
||||
if [ $system = "1" ]; then
|
||||
echo "0. Ubuntu 22.04"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.2.0
|
||||
# 更新时间:2022年09月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,17 +17,19 @@ echo '" #"# # # #" # #" # #mmmm# # #'
|
||||
echo ' ## ##" # # # #"""" # # # #'
|
||||
echo ' # # mm#mm # # "#mm" # # #mm#"'
|
||||
echo ' # '
|
||||
|
||||
echo
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo 当前不使用国内镜像源
|
||||
|
||||
ubuntuSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ jammy main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/impish/winehq-impish.sources"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ focal main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ bionic main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources"
|
||||
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/winehq-bionic.sources"
|
||||
)
|
||||
debianSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ buster main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bullseye main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/buster/winehq-buster.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources"
|
||||
)
|
||||
# 选择发行版
|
||||
@@ -43,7 +45,7 @@ echo "选择系统版本"
|
||||
if [ $system = "0" ]; then
|
||||
echo "0. Debian 10 (Buster)"
|
||||
echo "1. Debian 11 (Bullseye)"
|
||||
echo "2. Debian Testing (Bookworm)"
|
||||
echo "2. Debian 12 (Bookworm)"
|
||||
fi
|
||||
if [ $system = "1" ]; then
|
||||
echo "0. Ubuntu 22.04"
|
||||
@@ -61,7 +63,9 @@ read programVersion
|
||||
# 初步配置
|
||||
sudo apt-key del "D43F 6401 4536 9C51 D786 DDEA 76F1 A20F F987 672F"
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
#sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo mkdir -pm755 /etc/apt/keyrings
|
||||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
# 检测 apt-fast 或 ss-apt-fast 是否存在
|
||||
apt="apt"
|
||||
which apt-fast > /dev/null
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,11 +17,22 @@ import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
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",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/other/list.json"
|
||||
]
|
||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||
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)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
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 Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
||||
@@ -39,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]}'")
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装运行库")
|
||||
sys.exit()
|
||||
@@ -66,6 +77,8 @@ if __name__ == "__main__":
|
||||
while True:
|
||||
try:
|
||||
choose = input("请输入要选择要安装的应用(输入“exit”退出):").lower()
|
||||
if choose == "exit":
|
||||
break
|
||||
choose = int(choose)
|
||||
except:
|
||||
print("输入错误,请重新输入")
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
arch=amd64
|
||||
libPath=/usr/lib/x86_64-linux-gnu/
|
||||
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"
|
||||
version=1.0.1
|
||||
url="https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
fileName=`basename $url`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=arm64
|
||||
libPath=/usr/lib/aarch64-linux-gnu
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=armhf
|
||||
libPath=/usr/lib/arm-linux-gnueabihf/
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=i386
|
||||
libPath=/usr/lib/i386-linux-gnu/
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=mips64el
|
||||
libPath=/usr/lib/mips64el-linux-gnuabi64
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=ppc64el
|
||||
libPath=/usr/lib/powerpc64le-linux-gnu/
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=riscv64
|
||||
libPath=/usr/lib/riscv64-linux-gnu/
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
arch=s390x
|
||||
libPath=/usr/lib/s390x-linux-gnu/
|
||||
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`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年10月05日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,17 +17,27 @@ import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/vb/list.json"
|
||||
"http://vb.wine-runner.gfdgdxi.top/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:
|
||||
pass
|
||||
if not change:
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
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 2(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/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 4", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/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 1", "http://vb.wine-runner.gfdgdxi.top/vbrun100.exe", "vbrun100.exe"],
|
||||
["Visual Basic 2", "http://vb.wine-runner.gfdgdxi.top/vbrun200.exe", "vbrun200.exe"],
|
||||
["Visual Basic 3", "http://vb.wine-runner.gfdgdxi.top/vb3run.exe", "vb3run.exe"],
|
||||
["Visual Basic 4", "http://vb.wine-runner.gfdgdxi.top/vb4run.exe", "vb4run.exe"],
|
||||
["Visual Basic 6", "http://vb.wine-runner.gfdgdxi.top/vbrun60sp4.exe", "vbrun60sp4.exe"]
|
||||
]
|
||||
def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
try:
|
||||
@@ -39,7 +49,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 Visual Basic Runtime")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,13 +17,23 @@ import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/vscpp/list.json"
|
||||
"http://vcpp.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json"
|
||||
]
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
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)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
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"],
|
||||
["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"],
|
||||
@@ -47,7 +57,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 Visual Studio C++")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -69,7 +69,8 @@ m m "
|
||||
for i in [
|
||||
["原版 Wine(Wine64)", "wine"],
|
||||
["deepin-wine5-stable", "deepin-wine5-stable"],
|
||||
["deepin-wine6-stable", "deepin-wine6-stable"]
|
||||
["deepin-wine6-stable", "deepin-wine6-stable"],
|
||||
["deepin-wine8-stable", "deepin-wine8-stable"]
|
||||
]:
|
||||
if not os.system(f"which {i[1]} > /dev/null"):
|
||||
continue
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.5.0
|
||||
# 更新时间:2022年11月15日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
|
||||
5
LANG/Makefile
Normal file
5
LANG/Makefile
Normal file
@@ -0,0 +1,5 @@
|
||||
build:
|
||||
lrelease deepin-wine-packager-en_US.ts -qm deepin-wine-packager-en_US.qm
|
||||
lrelease deepin-wine-runner-en_US.ts -qm deepin-wine-runner-en_US.qm
|
||||
lrelease installwine-en_US.ts -qm installwine-en_US.qm
|
||||
lrelease virtualmachine-en_US.ts -qm virtualmachine-en_US.qm
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
31
Makefile
31
Makefile
@@ -3,6 +3,7 @@ build:
|
||||
|
||||
clean:
|
||||
python3 RemovePycacheFile.py
|
||||
rm *.deb -fv
|
||||
cd VM-source ; make clean
|
||||
rm VM-source/VirtualMachine -rfv
|
||||
rm -rfv VM-source/.qmake.stash
|
||||
@@ -12,24 +13,32 @@ package:
|
||||
#cd VM-source && make
|
||||
#cd wine && make
|
||||
make clean -j$(nproc)
|
||||
mkdir deb/opt/apps/deepin-wine-runner/LANG -pv
|
||||
cp -rv helperset deb/opt/apps/deepin-wine-runner/
|
||||
#cp -rv VM-source/VirtualMachine VM
|
||||
|
||||
cp -rv VM-source/deepin-wine-runner.svg VM
|
||||
cp -rv VM-source/Windows7X64Auto.iso VM
|
||||
cp -rv VM-source/Windows7X86Auto.iso VM
|
||||
cp -rv VM-source/test.qcow2 VM
|
||||
cp -rv VM-source/*.fd VM
|
||||
cp -rv wine/ deb/opt/apps/deepin-wine-runner/
|
||||
cp -rv Test/ deb/opt/apps/deepin-wine-runner/
|
||||
cp -rv information.json package-script
|
||||
zip -v -q -r package-script.zip package-script
|
||||
cp -rv InstallBox86-cn.sh deb/opt/apps/deepin-wine-runner/
|
||||
cp -rv VM deb/opt/apps/deepin-wine-runner
|
||||
cp -rv 2048 deb/opt/apps/deepin-wine-runner/
|
||||
cp -rv Download.py deb/opt/apps/deepin-wine-runner/
|
||||
cp -rv AllInstall.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv ShellList deb/opt/apps/deepin-wine-runner
|
||||
cp -rv QemuDownload.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv DefaultSetting.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 updatekiller.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv AddWineDebMirrorForDeepin20.sh deb/opt/apps/deepin-wine-runner
|
||||
cp -rv InstallNewWineHQOrg.sh 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 Mount.sh deb/opt/apps/deepin-wine-runner
|
||||
@@ -45,12 +54,16 @@ package:
|
||||
rm -rfv deb/opt/apps/deepin-wine-runner/wine/winelist.json
|
||||
cp -rv req deb/opt/apps/deepin-wine-runner
|
||||
cp -rv pardus-chroot deb/opt/apps/deepin-wine-runner
|
||||
cp -rv winetricks deb/opt/apps/deepin-wine-runner
|
||||
cp -rv WineLib deb/opt/apps/deepin-wine-runner
|
||||
cp -rv InstallFoxpro.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv BuildDesktop.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv ChangePassword.sh deb/opt/apps/deepin-wine-runner
|
||||
cp -rv trans deb/opt/apps/deepin-wine-runner
|
||||
cp -rv RegShot deb/opt/apps/deepin-wine-runner
|
||||
cp -rv BeCyIconGrabber.exe deb/opt/apps/deepin-wine-runner
|
||||
cp -rv AutoShell deb/opt/apps/deepin-wine-runner
|
||||
cp -rv Resources deb/opt/apps/deepin-wine-runner
|
||||
cp -rv deepin-wine-packager-with-script.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv deepin-wine-packager.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv deepin-wine-runner-update-bug deb/opt/apps/deepin-wine-runner
|
||||
@@ -110,9 +123,14 @@ package:
|
||||
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
|
||||
mkdir -pv deb/opt/apps/deepin-wine-runner/entries/
|
||||
cp -rv deb/usr/share/applications deb/opt/apps/deepin-wine-runner/entries/applications
|
||||
python3 UpdateTime.py
|
||||
python3 RemovePycacheFile.py
|
||||
sudo rm -rfv /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
|
||||
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
|
||||
@@ -133,18 +151,25 @@ package:
|
||||
ln -s /opt/apps/deepin-wine-runner/InstallNetFramework.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-runner-wine-netframework-installer
|
||||
ln -s /opt/apps/deepin-wine-runner/InstallVisualCPlusPlus.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-runner-wine-vscppruntime-installer
|
||||
ln -s /opt/apps/deepin-wine-runner/deepin-wine-venturi-setter.py /tmp/spark-deepin-wine-runner-builder/usr/bin/deepin-wine-venturi-setter
|
||||
|
||||
bash builddeb/ChangeDebVersion.sh
|
||||
sudo chown -R root:root /tmp/spark-deepin-wine-runner-builder
|
||||
|
||||
dpkg -b /tmp/spark-deepin-wine-runner-builder spark-deepin-wine-runner.deb
|
||||
dpkg-deb -Z xz -z 9 -b /tmp/spark-deepin-wine-runner-builder spark-deepin-wine-runner.deb
|
||||
sudo rm -rfv /tmp/spark-deepin-wine-runner-builder
|
||||
# 构建 ace 包
|
||||
cp -rv deb-ace /tmp/spark-deepin-wine-runner-builder
|
||||
cp -rv spark-deepin-wine-runner.deb /tmp/spark-deepin-wine-runner-builder/opt/apps/spark-deepin-wine-runner-ace
|
||||
bash builddeb/ChangeDebVersion.sh
|
||||
sudo chown -R root:root /tmp/spark-deepin-wine-runner-builder
|
||||
dpkg-deb -Z xz -z 9 -b /tmp/spark-deepin-wine-runner-builder spark-deepin-wine-runner-ace.deb
|
||||
sudo rm -rfv /tmp/spark-deepin-wine-runner-builder
|
||||
|
||||
|
||||
install:
|
||||
make build -j$(nproc)
|
||||
sudo apt update ; true
|
||||
#sudo dpkg -i spark-deepin-wine-runner.deb
|
||||
sudo apt reinstall ./spark-deepin-wine-runner.deb -y --allow-downgrades
|
||||
rm spark-deepin-wine-runner.deb -vf
|
||||
|
||||
remove:
|
||||
sudo apt purge spark-deepin-wine-runner -y
|
||||
|
||||
10
PackageConfig/0/DEBIAN/control
Normal file
10
PackageConfig/0/DEBIAN/control
Normal file
@@ -0,0 +1,10 @@
|
||||
Package: @@PACKAGE@@
|
||||
Version: @@VERSION@@
|
||||
Architecture: @@ARCH@@
|
||||
Maintainer: @@MAKER@@
|
||||
Depends: @@DEPENDS@@
|
||||
Section: non-free/otherosfs
|
||||
Priority: optional
|
||||
Multi-Arch: foreign
|
||||
Installed-Size: @@SIZE@@
|
||||
Description: @@DESCRIPTION@@
|
||||
@@ -0,0 +1,14 @@
|
||||
[Desktop Entry]
|
||||
Categories=;
|
||||
Comment=@@NAME@@
|
||||
Encoding=UTF-8
|
||||
Exec="/opt/apps/@@PACKAGE@@/files/run.sh" --uri
|
||||
GenericName=@@NAME@@
|
||||
Icon=@@ICONLIST@@
|
||||
MimeType=@@MIMETYPE@@
|
||||
Name=@@NAME@@.desktop
|
||||
StartupNotify=false
|
||||
Terminal=false
|
||||
Type=Application
|
||||
X-Created-By=
|
||||
X-Deepin-Vendor=user-custom
|
||||
113
PackageConfig/0/opt/apps/@@PACKAGE@@/files/run.sh
Normal file
113
PackageConfig/0/opt/apps/@@PACKAGE@@/files/run.sh
Normal file
@@ -0,0 +1,113 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2016 Deepin, Inc.
|
||||
#
|
||||
# Author: Li LongYu <lilongyu@linuxdeepin.com>
|
||||
# Peng Hao <penghao@linuxdeepin.com>
|
||||
#
|
||||
#
|
||||
# Copyright (C) 2022 The Spark Project
|
||||
#
|
||||
#
|
||||
# Modifier shenmo <shenmo@spark-app.store>
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
#######################函数段。下文调用的额外功能会在此处声明
|
||||
|
||||
Get_Dist_Name()
|
||||
{{
|
||||
if grep -Eqii "Deepin" /etc/issue || grep -Eq "Deepin" /etc/*-release; then
|
||||
DISTRO='Deepin'
|
||||
elif grep -Eqi "UnionTech" /etc/issue || grep -Eq "UnionTech" /etc/*-release; then
|
||||
DISTRO='UniontechOS'
|
||||
else
|
||||
DISTRO='OtherOS'
|
||||
fi
|
||||
}}
|
||||
|
||||
|
||||
####获得发行版名称
|
||||
|
||||
#########################预设值段
|
||||
|
||||
version_gt() { test "$(echo "$@" | tr " " "
|
||||
" | sort -V | head -n 1)" != "$1"; }
|
||||
####用于比较版本?未实装
|
||||
BOTTLENAME="@@@BOTTLENAME@@@"
|
||||
APPVER="@@@APPVER@@@"
|
||||
EXEC_PATH="@@@EXEC_PATH@@@"
|
||||
##### 软件在wine中的启动路径
|
||||
START_SHELL_PATH="/opt/deepinwine/tools/spark_run_v4.sh"
|
||||
export MIME_TYPE=""
|
||||
#####没什么用
|
||||
export DEB_PACKAGE_NAME="@@@DEB_PACKAGE_NAME@@@"
|
||||
####这里写包名才能在启动的时候正确找到files.7z,似乎也和杀残留进程有关
|
||||
export APPRUN_CMD="@@@APPRUN_CMD@@@"
|
||||
#####wine启动指令,建议
|
||||
EXPORT_ENVS=""
|
||||
|
||||
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
|
||||
|
||||
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
|
||||
|
||||
export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64
|
||||
|
||||
export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls"
|
||||
|
||||
DISABLE_ATTACH_FILE_DIALOG=""
|
||||
##默认为空。若为1,则不使用系统自带的文件选择,而是使用wine的
|
||||
##对于deepin/UOS,大部分的应用都不需要使用wine的,如果有需求(比如wine应用选择的限定种类文件系统的文管不支持)
|
||||
##请填1。
|
||||
##注意:因为非DDE的环境不确定,所以默认会在非Deepin/UOS发行版上禁用这个功能。如果你确认在适配的发行版上可以正常启动,请注释或者删除下面这段
|
||||
|
||||
##############<<<<<<<<<禁用文件选择工具开始
|
||||
Get_Dist_Name
|
||||
#此功能实现参见结尾函数段
|
||||
if [ "$DISTRO" != "Deepin" ] && [ "$DISTRO" != "UniontechOS" ];then
|
||||
DISABLE_ATTACH_FILE_DIALOG="1"
|
||||
echo "非deepin/UOS,默认关闭系统自带的文件选择工具,使用Wine的"
|
||||
echo "如果你想改变这个行为,请到/opt/apps/$DEB_PACKAGE_NAME/files/$0处修改"
|
||||
echo "To打包者:如果你要打开自带请注意在适配的发行版上进行测试"
|
||||
echo "To用户:打包者没有打开这个功能,这证明启用这个功能可能造成运行问题。如果你要修改这个行为,请确保你有一定的动手能力"
|
||||
fi
|
||||
##############>>>>>>>>>禁用文件选择工具结束
|
||||
|
||||
##############<<<<<<<<<屏蔽mono和gecko安装器开始
|
||||
##默认屏蔽mono和gecko安装器
|
||||
{['''#if [ "$APPRUN_CMD" = "spark-wine7-devel" ];then
|
||||
|
||||
#export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
#echo "为了降低打包体积,默认关闭gecko和momo,如有需要,注释此行(仅对spark-wine7-devel有效)"
|
||||
|
||||
#fi''', '''if [ "$APPRUN_CMD" = "spark-wine7-devel" ];then
|
||||
|
||||
export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
echo "为了降低打包体积,默认关闭gecko和momo,如有需要,注释此行(仅对spark-wine7-devel有效)"
|
||||
|
||||
fi'''][int(disabledMono.isChecked())]}
|
||||
##############>>>>>>>>>屏蔽mono和gecko安装器结束
|
||||
|
||||
#########################执行段
|
||||
|
||||
|
||||
|
||||
|
||||
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
|
||||
export ATTACH_FILE_DIALOG=1
|
||||
fi
|
||||
|
||||
if [ -n "$EXPORT_ENVS" ];then
|
||||
export $EXPORT_ENVS
|
||||
fi
|
||||
|
||||
if [ -n "$EXEC_PATH" ];then
|
||||
if [ -z "${{EXEC_PATH##*.lnk*}}" ];then
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
||||
fi
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
||||
fi
|
||||
13
PackageConfig/list.json
Normal file
13
PackageConfig/list.json
Normal file
@@ -0,0 +1,13 @@
|
||||
[
|
||||
"@@PACKAGE@@",
|
||||
"@@VERSION@@",
|
||||
"@@ARCH@@",
|
||||
"@@MAKER@@",
|
||||
"@@DEPENDS@@",
|
||||
"@@SIZE@@",
|
||||
"@@DESCRIPTION@@"
|
||||
"@@ICONLIST@@",
|
||||
"@@NAME@@",
|
||||
"@@MIMETYPE@@",
|
||||
"@@CATEGORIES@@"
|
||||
]
|
||||
@@ -15,7 +15,7 @@ class ProgramRunStatusShow():
|
||||
try:
|
||||
fenlists = []
|
||||
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 = ""
|
||||
except:
|
||||
traceback.print_exc()
|
||||
|
||||
@@ -92,7 +92,7 @@ class Ui_MainWindow(object):
|
||||
|
||||
self.menu = MainWindow.menuBar()
|
||||
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.localAction = QtWidgets.QAction(_translate("MainWindow", "本地测试源(127.0.0.1)"))
|
||||
self.changeSources.addAction(self.gitlinkAction)
|
||||
@@ -324,7 +324,10 @@ def on_addButton_clicked():
|
||||
# ui.deleteZip.setChecked(False)
|
||||
# ui.unzip.setChecked(False)
|
||||
arch = internetJsonList[choose][2]
|
||||
downloadUrl = f"{internetWineSource}/{arch}/{downloadName}"
|
||||
if "://" in downloadName:
|
||||
downloadUrl = downloadName
|
||||
else:
|
||||
downloadUrl = f"{internetWineSource}/{arch}/{downloadName}"
|
||||
dialog = QtWidgets.QProgressDialog()
|
||||
cancel = QtWidgets.QPushButton("取消")
|
||||
cancel.setDisabled(True)
|
||||
@@ -393,7 +396,7 @@ if __name__ == "__main__":
|
||||
localJsonList = []
|
||||
internetJsonList = []
|
||||
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://127.0.0.1/deepin-wine-runner-ubuntu-image/Sandbox/" # 本地测试源
|
||||
]
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
pkexec apt install qemu-system -y
|
||||
sudo apt update
|
||||
sudo apt install qemu-system qemu-user qemu-efi qemu-efi-aarch64 qemu-efi-arm -y
|
||||
sudo apt install qemu-user-static binfmt-support qemu-system-gui -y
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
208
README.md
208
README.md
@@ -1,48 +1,35 @@
|
||||
<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.6.1</h1>
|
||||
<hr>
|
||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
||||
|
||||
## 介绍
|
||||
Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序,内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。
|
||||
它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作。
|
||||
此外,它还简化了如下命令,让你可以更简便地使用Wine:
|
||||
```bash
|
||||
env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
|
||||
```
|
||||
让你可以简易方便的使用 wine
|
||||
是使用 Python3 的 PyQt5 构建的
|
||||
(测试平台:deepin 20.8;UOS 家庭版 21.3.1;Ubuntu 22.04;Ubuntu 20.04;UOS 专业版 1050;openkylin)
|
||||

|
||||
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
|
||||
```bash
|
||||
/XXX
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
│ └── postrm(可选)
|
||||
└── opt
|
||||
└── apps
|
||||
└── XXX
|
||||
├── entries
|
||||
│ ├── applications
|
||||
│ │ └── XXX.desktop
|
||||
│ └── icons
|
||||
│ └── hicolor
|
||||
│ └── scalable
|
||||
│ └── apps
|
||||
│ └── XXX.png(XXX.svg)
|
||||
├── files
|
||||
│ ├── files.7z
|
||||
│ └── run.sh
|
||||
└── info
|
||||
Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序。原版的 Wine 只能使用命令操作,且安装过程较为繁琐,对小白不友好。于是该运行器为了解决该痛点,内置了对Wine图形化的支持、Wine 安装器、微型应用商店、各种Wine工具、自制的Wine程序打包器、运行库安装工具等。
|
||||
它同时还内置了基于Qemu/VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作,也能在非 X86 架构安装 X86 架构的 Windows 操作系统(但是效率较低,可以运行些老系统)。
|
||||
而且对于部分 Wine 应用适配者来说,提供了图形化的打包工具,以及提供了一些常用工具以及运行库的安装方式,以及能安装多种不同的 Wine 以测试效果,能极大提升适配效率。
|
||||
且对于 Deepin23 用户做了特别优化,以便能在缺少 i386 运行库的情况下运行 Wine32。同时也为非 X86 架构用户提供了 Box86/64、Qemu User 的安装方式
|
||||
|
||||
11 directories, 6 files
|
||||
```
|
||||
[](https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers)
|
||||
最后感谢 [@鹤舞白沙](https://bbs.deepin.org/user/227203) 编写的《Wine运行器和Wine打包器傻瓜式使用教程(小白专用)》,链接:https://bbs.deepin.org/post/246837
|
||||
|
||||

|
||||
|
||||
[](https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers)
|
||||
最后感谢 [@鹤舞白沙](https://bbs.deepin.org/user/227203) 编写的《Wine运行器和Wine打包器傻瓜式使用教程(小白专用)》,链接:https://bbs.deepin.org/post/246837
|
||||
|
||||
打包器视频教程:https://www.bilibili.com/video/BV1Bh4y1Q7nT/
|
||||
Wine 运行器 QQ 交流群:762985460
|
||||
Wine运行器 QQ 频道:https://pd.qq.com/s/edqkgeydx
|
||||
Wine 运行器离线包下载地址:https://www.123pan.com/s/pDSKVv-pAJWv.html
|
||||
|
||||
### 注
|
||||
spark-deepin-wine-runner 是普通包,spark-deepin-wine-runner-ace 是使用 ace 兼容环境运行的运行器
|
||||
|
||||
## 软件架构
|
||||
理论上支持全架构,如果 Python 能运行的话
|
||||
非 X86 架构会利用到 `box86`、`exagear`、`qemu` 等技术
|
||||
非 X86 架构会利用到 `box86`/`box64`、`exagear`、`qemu` 等技术
|
||||
|
||||
## Wine 运行器自动构建(Newest)
|
||||
此只供尝鲜,不保证能用:https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml
|
||||
|
||||
## 目前实现功能(部分)
|
||||
1. 用 Wine 运行 EXE
|
||||
@@ -70,7 +57,10 @@ env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
|
||||

|
||||
|
||||
### 龙芯应用合作社
|
||||
(找时间再补图)
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 分支介绍
|
||||
### main 分支
|
||||
@@ -130,6 +120,132 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de
|
||||

|
||||
|
||||
## 更新日志
|
||||
### 3.6.1(2023年12月25日)
|
||||
**※1、修复应用无法打开的问题**
|
||||
|
||||
### 3.6.0(2023年12月24日)
|
||||
**※1、修复高级打包器选择软件适配脚本后无法打包的问题 https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I8I110**
|
||||
**※2、支持调用 Deepin Wine8 Stable**
|
||||
**※3、移除过时的 Wine 安装程序入口**
|
||||
**※4、Wine 安装器支持根据地区自动选择国内源以及国际源**
|
||||
**※5、Wine 安装器新增 Sourceforge 源**
|
||||
**※6、新增 Wine 运行报告生成功能**
|
||||
**※7、初步英语翻译**
|
||||
**※8、新增离线安装包(只支持 amd64)**
|
||||
**※9、支持识别 /opt 文件夹下的 Wine**
|
||||
10、新增 Wine 运行器视频教程的 Youtube 入口
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### 3.5.0(2023年11月17日)
|
||||
**※1、虚拟机工具支持 kvm 检测**
|
||||
**※2、修改虚拟机工具提示文本,新增对 UOS 3a4000 用户无法正常使用 Qemu 的解决方案**
|
||||
**※3、在主界面点击“安装”按钮后自动切换至帮助页面**
|
||||
**※4、新增虚拟机日志输出和读取功能**
|
||||
**※5、新增Qemu测试测试功能**
|
||||
**※6、虚拟机工具支持安装/运行 arm32、arm64 架构的系统**
|
||||
**※7、修复虚拟机工具在系统版本选择第 5 项及以后出现不会挂载 ISO 的问题(使用 Qemu 的情况下)**
|
||||
**※8、修复简易打包器无法打开的问题 https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I85F9M**
|
||||
**※9、生态适配脚本打包器支持正确根据打包结果显示打包成功/失败 https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7D83Z**
|
||||
10、生态适配脚本打包器设置使用 xz 格式打包 deb
|
||||
11、新增 ace 包
|
||||
12、虚拟机工具支持强制关闭 VirtualBox/Qemu,并增加了对 Windows 7 安装脚本的检测
|
||||
13、新增 lat 翻译器安装选项
|
||||
|
||||

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

|
||||
|
||||
|
||||
|
||||
### 3.4.0.1(2023年08月18日)
|
||||
**※1、修复部分高性能机器打包器提示“无效的压缩参数”:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SMTJ**
|
||||
**※2、支持设置程序字体大小:https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SAYE**
|
||||
|
||||
### 3.4.0(2023年08月11日)
|
||||
**※1、修复简易打包器无法打开的问题以及 Wine 识别错误的问题**
|
||||
**※2、高级打包器支持多 .desktop 分别设置不同的 MimeType**
|
||||
**※3、修复运行器在 Ubuntu 23 的安装问题**
|
||||
**※4、高级打包器支持导出/导入填写信息**
|
||||
**※5、Deepin 23 支持使用 Winetricks**
|
||||
**※6、新增视频教程**
|
||||
**※7、修复虚拟机工具在检测到 Qemu 磁盘但没有安装 Qemu 时无法启动的问题**
|
||||
**※8、修复虚拟机工具的一些问题并调整部分设置**
|
||||
**※9、虚拟机工具支持设置 UEFI 启动**
|
||||
**※10、虚拟机安装工具提供 LoongArch 新世界版本**
|
||||
11、高级打包器支持隐藏输入框以及使用小字体
|
||||
12、打包器提供 bcm 和 dcm wine 支持
|
||||
13、修复星火 wine 配置错误问题
|
||||
14、打包器支持多线程打包
|
||||
15、修复升级工具问题:https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX
|
||||
16、跟进打包器 run.sh 模板
|
||||
17、云沙箱新增 cloud.vdnel.cn
|
||||
18、打包器新增分类 Game、System、AudioVideo
|
||||
19、修复安装 Box64 时源里没有 libc6:armhf 导致无法安装的问题
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### 3.3.0.1(2023年07月25日)
|
||||
**※1、修复运行器打开主界面不进行任何操作但 CPU 占用率过高的问题**
|
||||
**※2、修复运行器运行器(局部)无法正常移除的问题**
|
||||
|
||||
### 3.3.0(2023年07月12日)
|
||||
**※1、简易打包器支持选择 Wine 版本以及修改打包生成的 deb 包的架构为 all;**
|
||||
**※2、修改容器自动配置脚本的 Gitlink 源为 Gitee 源**
|
||||
**※3、在安装更多 Wine 处安装 Wine 后主窗口 Wine 版本下拉框自动更新**
|
||||
**※4、设置打包器在 Ubuntu 依旧打包 xz 格式的 deb 包**
|
||||
**※5、修复 Wine 简易打包器 control 文件 Installed-Size 格式不规范的问题**
|
||||
**※6、更换 Box86 源并支持安装 Box64(如果为 aarch64 架构)**
|
||||
**※7、新增 Wine 自建源(支持 Debian10、Deepin20)**
|
||||
**※8、修改 WineHQ 安装器使其支持选择国内清华大学镜像源或 WineHQ 官方源**
|
||||
**※9、新增 Visual FoxPro 安装器**
|
||||
**※10、新增安装局部运行库以解决部分低版本系统运行高版本 Wine 的问题且不与其他运行库和兼容层冲突**
|
||||
**※11、支持调用原版的 Exagear 以及 Qemu User(i386、x86_64) 运行 Wine**
|
||||
12、新增自动构建:https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml(只供尝鲜)
|
||||
13、新增 Wine 日构建(在“安装更多 Wine”处可以获取,目前有 i386、amd64、i386+amd64、amd64+wow64 mode、aarch64)
|
||||
14、优化容器清理脚本
|
||||
15、修复部分组件没完全换源的问题,部分组件支持自动换可用源
|
||||

|
||||

|
||||
|
||||
### 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日)
|
||||
**※1、Windows 应用适配工具新增系统资源显示;**
|
||||
**※2、Windows 应用适配工具使用 C++ 重写;**
|
||||
@@ -563,14 +679,14 @@ Gitlink:https://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner
|
||||
## 运行库下载
|
||||
| 架构 | 运行库下载 |
|
||||
|-|-|
|
||||
| i386 | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/i386-runtime-for-qemu_1.0.0_all.deb |
|
||||
| amd64 | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/amd64-runtime-for-qemu_1.0.0_all.deb |
|
||||
| armhf | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/armhf-runtime-for-qemu_1.0.0_all.deb |
|
||||
| arm64 | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/arm64-runtime-for-qemu_1.0.0_all.deb |
|
||||
| mips64el | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/mips64el-runtime-for-qemu_1.0.0_all.deb |
|
||||
| ppc64el | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/ppc64el-runtime-for-qemu_1.0.0_all.deb |
|
||||
| riscv64 | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/riscv64-runtime-for-qemu_1.0.0_all.deb |
|
||||
| s390x | https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/s390x-runtime-for-qemu_1.0.0_all.deb |
|
||||
| i386 | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/i386-runtime-for-qemu_1.0.0_all.deb |
|
||||
| amd64 | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/amd64-runtime-for-qemu_1.0.0_all.deb |
|
||||
| armhf | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/armhf-runtime-for-qemu_1.0.0_all.deb |
|
||||
| arm64 | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/arm64-runtime-for-qemu_1.0.0_all.deb |
|
||||
| mips64el | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/mips64el-runtime-for-qemu_1.0.0_all.deb |
|
||||
| ppc64el | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/ppc64el-runtime-for-qemu_1.0.0_all.deb |
|
||||
| riscv64 | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/riscv64-runtime-for-qemu_1.0.0_all.deb |
|
||||
| s390x | https://jihulab.com/gfdgd-xi/qemu-runtime/-/raw/main/s390x-runtime-for-qemu_1.0.0_all.deb |
|
||||
|
||||
## 附:用于编译 Wine 的 Docker 容器(Debian10)
|
||||
内安装了编译 Wine 所需要的依赖,Wine 编译教程:https://wiki.winehq.org/Building_Wine
|
||||
|
||||
65
README_en.md
Normal file
65
README_en.md
Normal file
@@ -0,0 +1,65 @@
|
||||
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
|
||||
<h1 align="center">Wine Runner 3.4.0.1</h1>
|
||||
<hr>
|
||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
||||
|
||||
## Introduce
|
||||
Wine Runner is a program that help Linux user to run Windows program. However,
|
||||
|
||||

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

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

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

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

|
||||
Nobody want to see this error when you are using.
|
||||
|
||||
## Program Tips
|
||||
I don't want to write, it's too long and too old.
|
||||
|
||||
## Update Log
|
||||
### 3.4.0.1(August 18th, 2023)
|
||||
1. **Repair some machine tips `无效的压缩参数` when you are packing program in Wine Runner Packager, you also can see this isscue: https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SMTJ**
|
||||
2. **Runner support to set program font size, you also can see this isscue: https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I7SAYE**
|
||||
### 3.4.0(August 11th, 2023)
|
||||
1. **Repair Easy Packager can't open and check wine error problem.**
|
||||
2. **Professional Packager support to set different mimetype value for different .desktop file**
|
||||
3. **Repair install runner problem in Ubuntu 23.04**
|
||||
4. **Professional Packager support to save pack info what you are inputing**
|
||||
5. **Deepin23 support run Winetricks with runner**
|
||||
6. **Add video help website**
|
||||
7. and so on
|
||||
169
Resources/LogTemplate/icon.svg
Normal file
169
Resources/LogTemplate/icon.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 14 KiB |
155
Resources/LogTemplate/template.html
Normal file
155
Resources/LogTemplate/template.html
Normal file
File diff suppressed because one or more lines are too long
15
RunVM.sh
15
RunVM.sh
@@ -1,17 +1,18 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.4.1
|
||||
# 更新时间:2022年11月06日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 的 tkinter 构建
|
||||
###########################################################################################
|
||||
cd `dirname $0`
|
||||
which VBoxManage
|
||||
if test $? == 0 ; then
|
||||
VM/VirtualMachine
|
||||
exit
|
||||
fi
|
||||
zenity --info --no-wrap --text="未安装 VirtualBox,请自行安装 VirtualBox 并重新运行"
|
||||
#which VBoxManage
|
||||
#if test $? == 0 ; then
|
||||
# VM/VirtualMachine
|
||||
# exit
|
||||
#fi
|
||||
#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
|
||||
VM/VirtualMachine
|
||||
86
StartVM.sh
86
StartVM.sh
@@ -1,45 +1,109 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:1.7.0
|
||||
# 更新时间:2022年07月15日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 的 tkinter 构建
|
||||
###########################################################################################
|
||||
cd `dirname $0`
|
||||
VBoxManage showvminfo Windows
|
||||
if [[ 0 == $? ]]; then
|
||||
# 检测到虚拟机存在,启动虚拟机
|
||||
VBoxManage startvm Windows
|
||||
VBoxManage startvm Windows > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1
|
||||
exit
|
||||
fi
|
||||
# 检查是否有 QEMU
|
||||
if [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then
|
||||
which qemu-system-x86_64
|
||||
if [[ $? == 0 ]] && [[ -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个数
|
||||
CpuSocketNum=`cat /proc/cpuinfo | grep "cpu cores" | uniq | wc -l`
|
||||
# 查看CPU核心数
|
||||
CpuCoreNum=`grep 'core id' /proc/cpuinfo | sort -u | wc -l`
|
||||
# 查看逻辑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
|
||||
|
||||
cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep amd64
|
||||
if [[ $? == 0 ]] || [[ ! -e ~/.config/deepin-wine-runner/QEMU-ARCH ]]; then
|
||||
# amd64 架构
|
||||
if [[ -f $HOME/.config/deepin-wine-runner/QEMU-EFI ]]; then
|
||||
echo 使用 UEFI 启动
|
||||
if [[ -f /usr/share/qemu/OVMF.fd ]]; then
|
||||
qemuUEFI="--bios /usr/share/qemu/OVMF.fd"
|
||||
else
|
||||
if [[ -f `dirname $0`/VM/OVMF.fd ]]; then
|
||||
qemuUEFI="--bios `dirname $0`/VM/OVMF.fd"
|
||||
fi
|
||||
fi
|
||||
echo $qemuUEFI
|
||||
fi
|
||||
./VM/kvm-ok
|
||||
if [[ $? == 0 ]] && [[ `arch` == "x86_64" ]]; then
|
||||
echo X86 架构,使用 kvm 加速
|
||||
qemu-system-x86_64 --enable-kvm -cpu host --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1
|
||||
exit
|
||||
fi
|
||||
echo 不使用 kvm 加速
|
||||
qemu-system-x86_64 --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1
|
||||
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
|
||||
exit
|
||||
cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep armhf
|
||||
if [[ $? == 0 ]]; then
|
||||
# armhf 架构
|
||||
# 寻找 UEFI 固件
|
||||
if [[ -f /usr/share/AAVMF/AAVMF32_CODE.fd ]]; then
|
||||
qemuUEFI="--bios /usr/share/AAVMF/AAVMF32_CODE.fd"
|
||||
else
|
||||
if [[ -f ./VM/AAVMF32_CODE.fd ]]; then
|
||||
qemuUEFI="--bios ./VM/AAVMF32_CODE.fd"
|
||||
fi
|
||||
fi
|
||||
echo $qemuUEFI
|
||||
./VM/kvm-ok
|
||||
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
||||
qemu-system-arm --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
qemu-system-arm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep aarch64
|
||||
if [[ $? == 0 ]]; then
|
||||
# aarch64 架构
|
||||
# 寻找 UEFI 固件
|
||||
if [[ -f /usr/share/qemu-efi-aarch64/QEMU_EFI.fd ]]; then
|
||||
qemuUEFI="--bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd"
|
||||
else
|
||||
if [[ -f ./VM/QEMU_AARCH64_EFI.fd ]]; then
|
||||
qemuUEFI="--bios ./VM/QEMU_AARCH64_EFI.fd"
|
||||
fi
|
||||
fi
|
||||
echo $qemuUEFI
|
||||
./VM/kvm-ok
|
||||
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
||||
qemu-system-aarch64 --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
qemu-system-aarch64 --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
|
||||
fi
|
||||
zenity --question --no-wrap --text="检查到您未创建所指定的虚拟机,是否创建虚拟机并继续?\n如果不创建将无法使用"
|
||||
if [[ 1 == $? ]]; then
|
||||
# 用户不想创建虚拟机,结束
|
||||
exit
|
||||
fi
|
||||
cd `dirname $0`
|
||||
./VM/VirtualMachine
|
||||
|
||||
./VM/VirtualMachine
|
||||
|
||||
@@ -64,13 +64,14 @@ class Ui_MainWindow(object):
|
||||
self.openFile.setObjectName("openFile")
|
||||
self.actionGitlink = QtWidgets.QAction(MainWindow)
|
||||
self.actionGitlink.setCheckable(True)
|
||||
self.actionGitlink.setChecked(True)
|
||||
#self.actionGitlink.setChecked(True)
|
||||
self.actionGitlink.setObjectName("actionGitlink")
|
||||
self.actionGitee = QtWidgets.QAction(MainWindow)
|
||||
self.actionGitee.setCheckable(True)
|
||||
self.actionGitee.setObjectName("actionGitee")
|
||||
self.actionGithub = QtWidgets.QAction(MainWindow)
|
||||
self.actionGithub.setCheckable(True)
|
||||
self.actionGithub.setChecked(True)
|
||||
self.actionGithub.setObjectName("actionGithub")
|
||||
self.action_IPv6 = QtWidgets.QAction(MainWindow)
|
||||
self.action_IPv6.setCheckable(True)
|
||||
@@ -88,9 +89,11 @@ class Ui_MainWindow(object):
|
||||
self.menu.addAction(self.openFile)
|
||||
self.menu.addSeparator()
|
||||
self.menu.addAction(self.exitProgram)
|
||||
self.menu_2.addAction(self.actionGitlink)
|
||||
self.menu_2.addAction(self.actionGitee)
|
||||
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_2)
|
||||
self.menu_2.addAction(self.action_3)
|
||||
|
||||
1
VM-source/.gitignore
vendored
Normal file
1
VM-source/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.user*
|
||||
1192
VM-source/.qtc_clangd/compile_commands.json
Normal file
1192
VM-source/.qtc_clangd/compile_commands.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
VM-source/AAVMF32_CODE.fd
Normal file
BIN
VM-source/AAVMF32_CODE.fd
Normal file
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
#############################################################################
|
||||
# Makefile for building: VirtualMachine
|
||||
# Generated by qmake (3.1) (Qt 5.15.6)
|
||||
# Generated by qmake (3.1) (Qt 5.15.7)
|
||||
# Project: VirtualMachine.pro
|
||||
# Template: app
|
||||
# Command: /usr/lib/qt5/bin/qmake -o Makefile VirtualMachine.pro
|
||||
@@ -59,7 +59,8 @@ SOURCES = main.cpp \
|
||||
command.cpp \
|
||||
infoutils.cpp \
|
||||
qemu.cpp \
|
||||
qemusetting.cpp qrc_图标.cpp \
|
||||
qemusetting.cpp qrc_trans.cpp \
|
||||
qrc_图标.cpp \
|
||||
moc_mainwindow.cpp \
|
||||
moc_infoutils.cpp \
|
||||
moc_qemusetting.cpp
|
||||
@@ -71,11 +72,14 @@ OBJECTS = main.o \
|
||||
infoutils.o \
|
||||
qemu.o \
|
||||
qemusetting.o \
|
||||
qrc_trans.o \
|
||||
qrc_图标.o \
|
||||
moc_mainwindow.o \
|
||||
moc_infoutils.o \
|
||||
moc_qemusetting.o
|
||||
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
DIST = en_US.qm \
|
||||
en_US.ts \
|
||||
/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/linux.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||
@@ -85,8 +89,8 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Attica.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_BluezQt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuth.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuthCore.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KBookmarks.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCodecs.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCompletion.pri \
|
||||
@@ -99,7 +103,6 @@ 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_KI18n.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_KIOFileWidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \
|
||||
@@ -107,42 +110,14 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KItemViews.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KJobWidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KNTLM.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KScreen.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.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_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_KWindowSystem.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_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_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
@@ -151,10 +126,9 @@ 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_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_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_dtkwidget.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_egl_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
@@ -169,8 +143,6 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
@@ -187,12 +159,9 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_script.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_scripttools.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sensors.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
@@ -207,6 +176,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_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_webenginewidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri \
|
||||
@@ -214,10 +184,6 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_ModemManagerQt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_NetworkManagerQt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_QApt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri \
|
||||
@@ -279,8 +245,8 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Attica.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_BluezQt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuth.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuthCore.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KBookmarks.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCodecs.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCompletion.pri \
|
||||
@@ -293,7 +259,6 @@ 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_KI18n.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_KIOFileWidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \
|
||||
@@ -301,42 +266,14 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KItemViews.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KJobWidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KNTLM.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KScreen.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.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_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_KWindowSystem.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_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_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
@@ -345,10 +282,9 @@ 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_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_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_dtkwidget.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_egl_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
@@ -363,8 +299,6 @@ 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_input_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
@@ -381,12 +315,9 @@ 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_qmltest.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quicktemplates2.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_script.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_scripttools.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sensors.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
@@ -401,6 +332,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_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_webenginewidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri \
|
||||
@@ -408,10 +340,6 @@ 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_xkbcommon_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_ModemManagerQt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_NetworkManagerQt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_QApt.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri \
|
||||
@@ -439,6 +367,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||
VirtualMachine.pro \
|
||||
trans.qrc \
|
||||
图标.qrc
|
||||
$(QMAKE) -o Makefile VirtualMachine.pro
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
|
||||
@@ -451,8 +380,8 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Attica.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_BluezQt.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuth.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuthCore.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KBookmarks.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCodecs.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCompletion.pri:
|
||||
@@ -465,7 +394,6 @@ 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_KI18n.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_KIOFileWidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri:
|
||||
@@ -473,42 +401,14 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KItemViews.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KJobWidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KNTLM.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KScreen.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.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_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_KWindowSystem.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_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_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
|
||||
@@ -517,10 +417,9 @@ 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_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_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_dtkwidget.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_egl_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||
@@ -535,8 +434,6 @@ 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_input_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri:
|
||||
@@ -553,12 +450,9 @@ 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_qmltest.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickcontrols2.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quicktemplates2.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_script.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_scripttools.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sensors.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri:
|
||||
@@ -573,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_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_webenginewidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri:
|
||||
@@ -580,10 +475,6 @@ 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_xkbcommon_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xmlpatterns.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_ModemManagerQt.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_NetworkManagerQt.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_QApt.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri:
|
||||
@@ -611,6 +502,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
|
||||
VirtualMachine.pro:
|
||||
trans.qrc:
|
||||
图标.qrc:
|
||||
qmake: FORCE
|
||||
@$(QMAKE) -o Makefile VirtualMachine.pro
|
||||
@@ -626,7 +518,7 @@ dist: distdir FORCE
|
||||
distdir: FORCE
|
||||
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||
$(COPY_FILE) --parents 图标.qrc $(DISTDIR)/
|
||||
$(COPY_FILE) --parents trans.qrc 图标.qrc $(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 qemu.h qemusetting.h $(DISTDIR)/
|
||||
$(COPY_FILE) --parents main.cpp mainwindow.cpp buildvbox.cpp vbox.cpp command.cpp infoutils.cpp qemu.cpp qemusetting.cpp $(DISTDIR)/
|
||||
@@ -655,13 +547,22 @@ check: first
|
||||
|
||||
benchmark: first
|
||||
|
||||
compiler_rcc_make_all: qrc_图标.cpp
|
||||
compiler_rcc_make_all: qrc_trans.cpp qrc_图标.cpp
|
||||
compiler_rcc_clean:
|
||||
-$(DEL_FILE) qrc_图标.cpp
|
||||
-$(DEL_FILE) qrc_trans.cpp qrc_图标.cpp
|
||||
qrc_trans.cpp: trans.qrc \
|
||||
/usr/lib/qt5/bin/rcc \
|
||||
en_US.ts \
|
||||
en_US.qm \
|
||||
zh_CN.ts \
|
||||
zh_CN.qm
|
||||
/usr/lib/qt5/bin/rcc -name trans trans.qrc -o qrc_trans.cpp
|
||||
|
||||
qrc_图标.cpp: 图标.qrc \
|
||||
/usr/lib/qt5/bin/rcc \
|
||||
deepin-wine-runner.png \
|
||||
deepin-wine-runner.svg \
|
||||
application-vnd.oasis.opendocument.text.svg \
|
||||
截图_VirtualBox\ Machine_20220712142929.png \
|
||||
截图/截图_VirtualBox\ Machine_20220712143018.png \
|
||||
截图/截图_VirtualBox\ Machine_20220712192850.png \
|
||||
@@ -675,6 +576,7 @@ qrc_图标.cpp: 图标.qrc \
|
||||
截图/截图_VirtualBox_20220712223705.png \
|
||||
截图/截图_VirtualBox\ Machine_20220712143006.png \
|
||||
截图/截图_VirtualBox\ Machine_20220712191756.png \
|
||||
test.qcow2 \
|
||||
LANG/virtualmachine-en_US.ts \
|
||||
LANG/virtualmachine-en_US.qm
|
||||
/usr/lib/qt5/bin/rcc -name 图标 图标.qrc -o qrc_图标.cpp
|
||||
@@ -691,17 +593,17 @@ compiler_moc_header_clean:
|
||||
moc_mainwindow.cpp: mainwindow.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 mainwindow.h -o moc_mainwindow.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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include mainwindow.h -o moc_mainwindow.cpp
|
||||
|
||||
moc_infoutils.cpp: infoutils.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 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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -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
|
||||
/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++/11 -I/usr/include/x86_64-linux-gnu/c++/11 -I/usr/include/c++/11/backward -I/usr/lib/gcc/x86_64-linux-gnu/11/include -I/usr/local/include -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_clean:
|
||||
@@ -735,7 +637,9 @@ mainwindow.o: mainwindow.cpp mainwindow.h \
|
||||
ui_mainwindow.h \
|
||||
buildvbox.h \
|
||||
infoutils.h \
|
||||
qemusetting.h
|
||||
qemusetting.h \
|
||||
vbox.h \
|
||||
qemu.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
|
||||
|
||||
buildvbox.o: buildvbox.cpp buildvbox.h \
|
||||
@@ -759,9 +663,13 @@ qemu.o: qemu.cpp qemu.h \
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qemu.o qemu.cpp
|
||||
|
||||
qemusetting.o: qemusetting.cpp qemusetting.h \
|
||||
ui_qemusetting.h
|
||||
ui_qemusetting.h \
|
||||
infoutils.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qemusetting.o qemusetting.cpp
|
||||
|
||||
qrc_trans.o: qrc_trans.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_trans.o qrc_trans.cpp
|
||||
|
||||
qrc_图标.o: qrc_图标.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_图标.o qrc_图标.cpp
|
||||
|
||||
|
||||
BIN
VM-source/OVMF.fd
Normal file
BIN
VM-source/OVMF.fd
Normal file
Binary file not shown.
BIN
VM-source/QEMU_AARCH64_EFI.fd
Normal file
BIN
VM-source/QEMU_AARCH64_EFI.fd
Normal file
Binary file not shown.
BIN
VM-source/QEMU_EFI_LOONG64_7.1.fd
Normal file
BIN
VM-source/QEMU_EFI_LOONG64_7.1.fd
Normal file
Binary file not shown.
6
VM-source/QemuSystemInstall.sh
Executable file
6
VM-source/QemuSystemInstall.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
sudo apt update
|
||||
sudo apt install qemu-system qemu-user qemu-efi qemu-efi-aarch64 qemu-efi-arm -y
|
||||
sudo apt install qemu-user-static binfmt-support qemu-system-gui -y
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
@@ -23,4 +23,4 @@ make -j4
|
||||
## 预编译版本
|
||||
https://gitee.com/gfdgd-xi/deep-wine-runner/tree/main/VM
|
||||
|
||||
# ©2020~2023 gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# ©2020~2023 gfdgd xi
|
||||
109
VM-source/StartVM.sh
Executable file
109
VM-source/StartVM.sh
Executable file
@@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi
|
||||
# 版本:1.7.0
|
||||
# 更新时间:2022年07月15日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 的 tkinter 构建
|
||||
###########################################################################################
|
||||
cd `dirname $0`
|
||||
VBoxManage showvminfo Windows
|
||||
if [[ 0 == $? ]]; then
|
||||
# 检测到虚拟机存在,启动虚拟机
|
||||
VBoxManage startvm Windows > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1
|
||||
exit
|
||||
fi
|
||||
# 检查是否有 QEMU
|
||||
which qemu-system-x86_64
|
||||
if [[ $? == 0 ]] && [[ -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个数
|
||||
CpuSocketNum=`cat /proc/cpuinfo | grep "cpu cores" | uniq | wc -l`
|
||||
# 查看CPU核心数
|
||||
CpuCoreNum=`grep 'core id' /proc/cpuinfo | sort -u | wc -l`
|
||||
# 查看逻辑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)
|
||||
|
||||
cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep amd64
|
||||
if [[ $? == 0 ]] || [[ ! -e ~/.config/deepin-wine-runner/QEMU-ARCH ]]; then
|
||||
# amd64 架构
|
||||
if [[ -f $HOME/.config/deepin-wine-runner/QEMU-EFI ]]; then
|
||||
echo 使用 UEFI 启动
|
||||
if [[ -f /usr/share/qemu/OVMF.fd ]]; then
|
||||
qemuUEFI="--bios /usr/share/qemu/OVMF.fd"
|
||||
else
|
||||
if [[ -f `dirname $0`/VM/OVMF.fd ]]; then
|
||||
qemuUEFI="--bios `dirname $0`/VM/OVMF.fd"
|
||||
fi
|
||||
fi
|
||||
echo $qemuUEFI
|
||||
fi
|
||||
./VM/kvm-ok
|
||||
if [[ $? == 0 ]] && [[ `arch` == "x86_64" ]]; then
|
||||
echo X86 架构,使用 kvm 加速
|
||||
qemu-system-x86_64 --enable-kvm -cpu host --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1
|
||||
exit
|
||||
fi
|
||||
echo 不使用 kvm 加速
|
||||
qemu-system-x86_64 --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1
|
||||
exit
|
||||
fi
|
||||
cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep armhf
|
||||
if [[ $? == 0 ]]; then
|
||||
# armhf 架构
|
||||
# 寻找 UEFI 固件
|
||||
if [[ -f /usr/share/AAVMF/AAVMF32_CODE.fd ]]; then
|
||||
qemuUEFI="--bios /usr/share/AAVMF/AAVMF32_CODE.fd"
|
||||
else
|
||||
if [[ -f ./VM/AAVMF32_CODE.fd ]]; then
|
||||
qemuUEFI="--bios ./VM/AAVMF32_CODE.fd"
|
||||
fi
|
||||
fi
|
||||
echo $qemuUEFI
|
||||
./VM/kvm-ok
|
||||
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
||||
qemu-system-arm --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
qemu-system-arm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep aarch64
|
||||
if [[ $? == 0 ]]; then
|
||||
# aarch64 架构
|
||||
# 寻找 UEFI 固件
|
||||
if [[ -f /usr/share/qemu-efi-aarch64/QEMU_EFI.fd ]]; then
|
||||
qemuUEFI="--bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd"
|
||||
else
|
||||
if [[ -f ./VM/QEMU_AARCH64_EFI.fd ]]; then
|
||||
qemuUEFI="--bios ./VM/QEMU_AARCH64_EFI.fd"
|
||||
fi
|
||||
fi
|
||||
echo $qemuUEFI
|
||||
./VM/kvm-ok
|
||||
if [[ $? == 0 ]] && [[ `arch` == "aarch64" ]]; then
|
||||
qemu-system-aarch64 --enable-kvm --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
qemu-system-aarch64 --hda "$HOME/Qemu/Windows/Windows.qcow2" -soundhw all -smp $CpuCount,sockets=$CpuSocketNum,cores=$(($CpuCoreNum / $CpuSocketNum)),threads=$(($CpuCount / $CpuCoreNum / $CpuSocketNum)) -m ${use}G -net user,hostfwd=tcp::3389-:3389 -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI -cpu max -M virt -device virtio-gpu-pci -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1
|
||||
exit
|
||||
fi
|
||||
|
||||
fi
|
||||
zenity --question --no-wrap --text="检查到您未创建所指定的虚拟机,是否创建虚拟机并继续?\n如果不创建将无法使用"
|
||||
if [[ 1 == $? ]]; then
|
||||
# 用户不想创建虚拟机,结束
|
||||
exit
|
||||
fi
|
||||
|
||||
./VM/VirtualMachine
|
||||
@@ -56,4 +56,9 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
RESOURCES += \
|
||||
trans.qrc \
|
||||
图标.qrc
|
||||
|
||||
DISTFILES += \
|
||||
en_US.qm \
|
||||
en_US.ts
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2023-04-22T21:23:25. -->
|
||||
<!-- Written by QtCreator 7.0.1, 2023-11-25T17:10:08. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
@@ -37,6 +37,7 @@
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
@@ -45,23 +46,214 @@
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.BuildSystem</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b17c65ba-6912-41bf-b5c1-4c7446f6c967}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<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="ProjectExplorer.RunConfiguration.BuildKey">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ab20853c-9d79-473a-820e-8e95c145170e}</value>
|
||||
@@ -69,146 +261,86 @@
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/building/deep-wine-runner/VM-source</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/building/deep-wine-runner/VM-source</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">VirtualMachine</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></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="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</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.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
|
||||
214
VM-source/VirtualMachine.pro.user.4.9-pre1
Normal file
214
VM-source/VirtualMachine.pro.user.4.9-pre1
Normal file
@@ -0,0 +1,214 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2023-07-12T19:05:39. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{4ffd6df9-1365-4837-81b1-582e0e2d1f21}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ab20853c-9d79-473a-820e-8e95c145170e}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">VirtualMachine</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></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="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</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.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
347
VM-source/VirtualMachine.pro.user.4ffd6df
Normal file
347
VM-source/VirtualMachine.pro.user.4ffd6df
Normal file
@@ -0,0 +1,347 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 7.0.1, 2023-11-07T19:30:53. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{4ffd6df9-1365-4837-81b1-582e0e2d1f21}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.BuildSystem</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ab20853c-9d79-473a-820e-8e95c145170e}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/building/deep-wine-runner/VM-source</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/building/deep-wine-runner/VM-source</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<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="ProjectExplorer.RunConfiguration.BuildKey">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/building/deep-wine-runner/VM-source</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b17c65ba-6912-41bf-b5c1-4c7446f6c967}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<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="ProjectExplorer.RunConfiguration.BuildKey">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">2</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
@@ -1,5 +1,5 @@
|
||||
################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:1.0
|
||||
# 依照 GPL V3 协议开源
|
||||
################################################
|
||||
|
||||
34
VM-source/application-vnd.oasis.opendocument.text.svg
Normal file
34
VM-source/application-vnd.oasis.opendocument.text.svg
Normal file
@@ -0,0 +1,34 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient id="x-office-document-c" x1="50%" x2="50%" y1="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#005CC2"/>
|
||||
<stop offset="100%" stop-color="#004DA3"/>
|
||||
</linearGradient>
|
||||
<path id="x-office-document-b" d="M84,95 C84,99.9705627 79.9705627,104 75,104 L9,104 C4.02943725,104 6.08718376e-16,99.9705627 0,95 L0,9 C-6.08718376e-16,4.02943725 4.02943725,9.13077564e-16 9,0 L58,0 L84,26 L84,95 Z"/>
|
||||
<filter id="x-office-document-a" width="127.4%" height="122.1%" x="-13.7%" y="-9.1%" filterUnits="objectBoundingBox">
|
||||
<feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||
<feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="3.5"/>
|
||||
<feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0.22745098 0 0 0 0 0.494117647 0 0 0 0 0.960784314 0 0 0 0.2 0"/>
|
||||
</filter>
|
||||
<linearGradient id="x-office-document-f" x1="50%" x2="10.489%" y1="50%" y2="91.194%">
|
||||
<stop offset="0%" stop-color="#FFF" stop-opacity=".1"/>
|
||||
<stop offset="100%" stop-color="#FFF" stop-opacity=".3"/>
|
||||
</linearGradient>
|
||||
<path id="x-office-document-e" d="M58,0 L84,26 L67,26 C62.0294373,26 58,21.9705627 58,17 L58,0 L58,0 Z"/>
|
||||
<filter id="x-office-document-d" width="188.5%" height="188.5%" x="-44.2%" y="-36.5%" filterUnits="objectBoundingBox">
|
||||
<feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||
<feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="3.5"/>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"/>
|
||||
<feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(22 14)">
|
||||
<use fill="#000" filter="url(#x-office-document-a)" xlink:href="#x-office-document-b"/>
|
||||
<use fill="url(#x-office-document-c)" xlink:href="#x-office-document-b"/>
|
||||
<use fill="#000" filter="url(#x-office-document-d)" xlink:href="#x-office-document-e"/>
|
||||
<use fill="url(#x-office-document-f)" xlink:href="#x-office-document-e"/>
|
||||
</g>
|
||||
<path fill="#FFF" fill-opacity=".6" d="M92,50 L92,52 L36,52 L36,50 L92,50 Z M92,60 L92,62 L36,62 L36,60 L92,60 Z M92,70 L92,72 L36,72 L36,70 L92,70 Z M92,80 L92,82 L36,82 L36,80 L92,80 Z M92,90 L92,92 L36,92 L36,90 L92,90 Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
12
VM-source/build.sh
Executable file
12
VM-source/build.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
#cd `dirname $0`
|
||||
bin=$1
|
||||
nasm -f bin $1 -o `basename $1`.bin
|
||||
if [[ $? != 0 ]];then
|
||||
exit
|
||||
fi
|
||||
sudo modprobe nbd 8
|
||||
sudo qemu-nbd `dirname $0`/test.qcow2 --connect /dev/nbd0
|
||||
sudo dd if=`basename $1`.bin of=/dev/nbd0
|
||||
sudo qemu-nbd -d /dev/nbd0
|
||||
kvm --hda `dirname $0`/test.qcow2 -rtc base=localtime
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#include <sys/sysinfo.h>
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <QCoreApplication>
|
||||
#include <infoutils.h>
|
||||
#include "qemu.h"
|
||||
#include <QProcess>
|
||||
// 懒得用 QThread 了(要继承)
|
||||
#include <thread>
|
||||
using namespace std;
|
||||
@@ -27,6 +28,37 @@ void buildvbox::CleanScreen(){
|
||||
system("cls");
|
||||
}
|
||||
|
||||
// 获取 CPU 个数
|
||||
int buildvbox::GetCPUSocket(){
|
||||
// 获取命令返回值
|
||||
QProcess process;
|
||||
process.start("bash", QStringList() << "-c" << "cat /proc/cpuinfo | grep \"cpu cores\" | uniq | wc -l");
|
||||
process.waitForStarted();
|
||||
process.waitForFinished();
|
||||
int value = process.readAllStandardOutput().toInt();
|
||||
process.close();
|
||||
// 判断异常值,例如没挂载 /proc
|
||||
if(value <= 0){
|
||||
value = 1;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
// 获取 CPU 核心数
|
||||
int buildvbox::GetCPUCore(){
|
||||
QProcess process;
|
||||
process.start("bash", QStringList() << "-c" << "grep 'core id' /proc/cpuinfo | sort -u | wc -l");
|
||||
process.waitForStarted();
|
||||
process.waitForFinished();
|
||||
int value = process.readAllStandardOutput().toInt();
|
||||
process.close();
|
||||
// 判断异常值,例如没挂载 /proc
|
||||
if(value <= 0){
|
||||
value = 1;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
QString buildvbox::GetNet(){
|
||||
QList<QNetworkInterface> netList = QNetworkInterface::allInterfaces();
|
||||
foreach(QNetworkInterface net, netList){
|
||||
@@ -49,78 +81,99 @@ int buildvbox::Download(QString url, QString path, QString fileName){
|
||||
}
|
||||
|
||||
buildvbox::buildvbox(QString isoPath, int id, int vm){
|
||||
/*if(vm == 1){
|
||||
QDir vboxPath(QDir::homePath() + "/VirtualBox VMs/Windows");
|
||||
if(vboxPath.exists()){
|
||||
qDebug("虚拟机存在,直接启动!");
|
||||
vbox vm("Windows");
|
||||
vm.Start();
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
QString programPath = QCoreApplication::applicationDirPath();
|
||||
|
||||
/*if(!QFile::exists(programPath + "/a.iso")){
|
||||
std::thread([=](){
|
||||
while(1){
|
||||
qDebug() << "a";
|
||||
}
|
||||
}).detach();
|
||||
}*/
|
||||
|
||||
QString net = GetNet();
|
||||
qDebug() << "使用网卡:" << net << endl;
|
||||
if(vm == 0){
|
||||
//vbox *box = new vbox("Window");
|
||||
//vbox vm("Windows");
|
||||
// Qemu
|
||||
qemu vm("Windows");
|
||||
|
||||
bool setISOAlready = 0;
|
||||
switch (id) {
|
||||
case 0:
|
||||
vm.Create("Windows7");
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
case 1:
|
||||
vm.Create("Windows7_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
vm.Create("WindowsNT_64");
|
||||
case 2:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
case 3:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
vm.EnabledUEFI(true);
|
||||
break;
|
||||
case 4:
|
||||
vm.Create("Windows11_64");
|
||||
vm.SetDisplayMemory(128);
|
||||
vm.EnabledUEFI(true);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 5:
|
||||
vm.Create("WindowsXP_32");
|
||||
vm.SetDisplayMemory(32);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 6:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 7:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
vm.EnabledUEFI(true);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 8:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
vm.UseArmhfEFI();
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 9:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
vm.UseAarch64EFI();
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
|
||||
}
|
||||
vm.CreateDiskControl();
|
||||
//vm.CreateDiskControl("storage_controller_2");
|
||||
vm.CreateDisk(QDir::homePath() + "/Qemu/Windows/Windows.qcow2", 131072);
|
||||
vm.MountDisk(QDir::homePath() + "/Qemu/Windows/Windows.qcow2");
|
||||
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.MountDisk(QDir::homePath() + "/Qemu/Windows/Windows.qcow2");
|
||||
vm.MountMainDisk(QDir::homePath() + "/Qemu/Windows/Windows.qcow2");
|
||||
if(!setISOAlready){
|
||||
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) {
|
||||
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);
|
||||
}*/
|
||||
else{
|
||||
//vm.AutoInstall(isoPath);
|
||||
if(isoPath != ""){
|
||||
vm.MountMainISO(isoPath);
|
||||
}
|
||||
|
||||
vm.SetCPU(get_nprocs());
|
||||
}
|
||||
|
||||
vm.SetCPU(get_nprocs(), GetCPUSocket(), GetCPUCore());
|
||||
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();
|
||||
@@ -131,37 +184,84 @@ buildvbox::buildvbox(QString isoPath, int id, int vm){
|
||||
vm.OpenUSB();
|
||||
vm.ShareFile("ROOT", "/");
|
||||
vm.ShareFile("HOME", QDir::homePath());
|
||||
vm.Start();
|
||||
switch(id){
|
||||
case 8:
|
||||
vm.StartArmhf();
|
||||
break;
|
||||
case 9:
|
||||
vm.StartAarch64();
|
||||
break;
|
||||
default:
|
||||
vm.Start();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else if(vm == 1){
|
||||
// ?
|
||||
//vbox *box = new vbox("Window");
|
||||
// VirtualBox
|
||||
vbox vm("Windows");
|
||||
//qemu vm("Windows");
|
||||
|
||||
bool setISOAlready = 1;
|
||||
switch (id) {
|
||||
case 0:
|
||||
vm.Create("Windows7");
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
case 1:
|
||||
vm.Create("Windows7_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
vm.Create("WindowsNT_64");
|
||||
}
|
||||
case 2:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
case 3:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.EnabledUEFI(true);
|
||||
vm.SetDisplayMemory(32);
|
||||
break;
|
||||
case 4:
|
||||
vm.Create("Windows11_64");
|
||||
vm.SetDisplayMemory(128);
|
||||
vm.EnabledUEFI(true);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 5:
|
||||
vm.Create("WindowsXP_32");
|
||||
vm.SetDisplayMemory(32);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 6:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
case 7:
|
||||
vm.Create("WindowsNT_64");
|
||||
vm.SetDisplayMemory(32);
|
||||
vm.EnabledUEFI(true);
|
||||
setISOAlready = 1;
|
||||
break;
|
||||
}
|
||||
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;
|
||||
if(!setISOAlready){
|
||||
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;
|
||||
}
|
||||
}
|
||||
else{
|
||||
vm.AutoInstall(isoPath);
|
||||
}
|
||||
|
||||
// 判断 VirtualBox Guest ISO 是否存在
|
||||
@@ -169,8 +269,8 @@ buildvbox::buildvbox(QString isoPath, int id, int vm){
|
||||
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());
|
||||
// VirtualBox 的 CPU 数量设置方法和 Qemu 不一样
|
||||
vm.SetCPU(GetCPUCore(), GetCPUSocket(), GetCPUCore());
|
||||
long memory = 0;
|
||||
long memoryAll = 0;
|
||||
long swap = 0;
|
||||
@@ -178,7 +278,6 @@ buildvbox::buildvbox(QString isoPath, int id, int vm){
|
||||
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();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#ifndef BUILDVBOX_H
|
||||
@@ -14,6 +14,8 @@ public:
|
||||
void CleanScreen();
|
||||
QString GetNet();
|
||||
int Download(QString url, QString path, QString fileName);
|
||||
int GetCPUSocket();
|
||||
int GetCPUCore();
|
||||
};
|
||||
|
||||
#endif // BUILDVBOX_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#include "command.h"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#ifndef COMMAND_H
|
||||
|
||||
BIN
VM-source/en_US.qm
Normal file
BIN
VM-source/en_US.qm
Normal file
Binary file not shown.
602
VM-source/en_US.ts
Normal file
602
VM-source/en_US.ts
Normal file
@@ -0,0 +1,602 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="en" sourcelanguage="zh_CN">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="14"/>
|
||||
<source>Wine 运行器虚拟机安装工具</source>
|
||||
<translation>Wine Runner Virtual Machine Install Tools</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="32"/>
|
||||
<location filename="mainwindow.ui" line="35"/>
|
||||
<source>设置</source>
|
||||
<translation>Setting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="43"/>
|
||||
<source>镜像路径:</source>
|
||||
<translation>ISO FilePath:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="50"/>
|
||||
<source>请选择系统镜像</source>
|
||||
<translation>Please choose or input system image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="57"/>
|
||||
<source>浏览……</source>
|
||||
<translation>browser...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="68"/>
|
||||
<source>系统版本:</source>
|
||||
<translation>System Version:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="75"/>
|
||||
<location filename="mainwindow.ui" line="79"/>
|
||||
<source>Windows 7 32 位(支持自动安装)</source>
|
||||
<translation>Windows 7 32bit (support auto installing)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="84"/>
|
||||
<source>Windows 7 64 位(支持自动安装)</source>
|
||||
<translation>Windows 7 64bit (support auto installing)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="89"/>
|
||||
<source>其它 Windows 系统(不支持自动安装,传统启动,推荐 Windows 7 及以下)</source>
|
||||
<translation>Other system (unsupport auto installing and using legacy boot)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="94"/>
|
||||
<source>其他 Windows 系统(不支持自动安装,UEFI 启动,推荐 Windows 8 及以上)</source>
|
||||
<translation>Other system (unsupport auto installing and using UEFI boot)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="99"/>
|
||||
<source>安装 WIndows 11(不支持自动安装)</source>
|
||||
<translation>Install windows (unsupport auto installing)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="104"/>
|
||||
<source>安装其他 Windows XP(支持自动安装,只支持 VirtualBox)</source>
|
||||
<translation>Install other Windows XP (support auto installing but only support VirtualBox)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="109"/>
|
||||
<source>安装其他 Windows (支持自动安装,传统启动,只支持 VirtualBox)</source>
|
||||
<translation>Install Other Windows (support auto installing and using legacy boot but only support VirtualBox)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="114"/>
|
||||
<source>安装其他 Windows(支持自动安装,UEFI 启动,只支持 VirtualBox)</source>
|
||||
<translation>Install Other Windows (support auto installing and using UEFI boot but only support VirtualBox)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="119"/>
|
||||
<source>安装 arm32 系统(只支持 Qemu)</source>
|
||||
<translation>Install arm32 system (only support Qemu/KVM)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="124"/>
|
||||
<source>安装 arm64 系统(只支持 Qemu)</source>
|
||||
<translation>Install arm64 system (only support Qemu/KVM)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="136"/>
|
||||
<source>虚拟机(建议默认):</source>
|
||||
<translation>Virtual Machine:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="143"/>
|
||||
<location filename="mainwindow.ui" line="153"/>
|
||||
<source>qemu/kvm</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="158"/>
|
||||
<source>VirtualBox</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="183"/>
|
||||
<source>安装 Qemu</source>
|
||||
<translation>Install Qemu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="190"/>
|
||||
<source>kvm 测试</source>
|
||||
<translation>kvm test</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="197"/>
|
||||
<source>Qemu虚拟机设置</source>
|
||||
<translation>Qemu Setting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="204"/>
|
||||
<source>添加/覆盖Qemu磁盘</source>
|
||||
<translation>Add/Replace Qemu Disk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="211"/>
|
||||
<source>导出Qemu磁盘</source>
|
||||
<translation>Export Qemu Disk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="218"/>
|
||||
<source>移除Qemu磁盘</source>
|
||||
<translation>Delete Qemu Disk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="225"/>
|
||||
<source>获取VirtualBox</source>
|
||||
<translation>Get VirtualBox</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="232"/>
|
||||
<source>安装</source>
|
||||
<translation>Install</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="241"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
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;">
|
||||
<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;">UOS 3a4000 用户在使用 Qemu 时可能会出现虚拟机无法正常开机的问题,需要安装/降级到以下链接的版本:</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;">蓝奏云:</span><a href="https://gfdgdxi.lanzoue.com/b01rk9wza"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gfdgdxi.lanzoue.com/b01rk9wza</span></a><span style=" font-size:11pt;"> 密码:6wvf</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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</span></p>
|
||||
<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:11pt;">注:Qemu 跨架构效率较低,如无特殊情况不建议跨架构/不开硬件加速(如 kvm)运行 Qemu</span></p>
|
||||
<hr />
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">如何安装系统?使用迅雷或者网盘下载以下任意一个链接的 ISO 镜像然后在上面选择即可:</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">123 网盘链接:</span><a href="https://www.123pan.com/s/pDSKVv-oypWv"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-oypWv</span></a></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">迅雷网盘:</span><a href="https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5</span></a><span style=" font-size:10pt;"> 提取码:35e5</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">百度网盘:</span><a href="https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y</span></a><span style=" font-size:10pt;"> 提取码: me4y</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061</span></a><span style=" font-size:10pt;"> (访问密码: 2061)</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第一项,一般推荐这个)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></a></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第二项)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></a></p>
|
||||
<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:11pt; font-weight:600;">常用 Windows 软件:</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;">百度网盘:链接: </span><a href="https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p</span></a><span style=" font-size:11pt;"> 提取码: 7s2p </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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</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;">123网盘:</span><a href="https://www.123pan.com/s/pDSKVv-uCBWv.html"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-uCBWv.html</span></a></p>
|
||||
<hr /></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="274"/>
|
||||
<source>安装/使用帮助</source>
|
||||
<translation>Document</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="283"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
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;">
|
||||
<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-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;"><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>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">VirtualBox 可以安装增强功能以优化体验,安装方法往下翻即可查询</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qemu 可以安装 Virtio 以优化体验,下载链接:<a href="https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/</span></a></p>
|
||||
<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; 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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712191756.png" /></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;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712192850.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 Machine_20220712193527.png" /></p>
|
||||
<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;">非 Windows 7 镜像可能不支持自动安装(纯的 Windows 7 企业版镜像可能不支持自动安装),不保证系统能自动安装成功,例如 Windows XP、Windows 10、Deepin、Ubuntu 等等</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>
|
||||
<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:11pt;">1、打开启动器,打开 Oracle VM 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-size:11pt;">2、选择名字为“Windows”的虚拟机,然后在右边点击设置</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 Manager_20220712223602.png" /></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>
|
||||
<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;">安装加强功能有什么好处?(只限使用 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;">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;">4、支持无缝模式</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/截图/截图_选择区域_20220712224639.png" /></p>
|
||||
<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;">1、点击“设备”=》“加强功能”</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 Machine_20220712142929.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、打开“计算机”,找到名为“VirtualBox Guest Additions”的光盘,双击进入,然后双击打开名为“VBoxWindowsAdditions”的程序</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 Machine_20220712143006.png" /></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;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143018.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、一直点“Next”</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 Machine_20220712143029.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 Machine_20220712143037.png" /></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;">5、全部选择,然后点击“Install”进行安装</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 Machine_20220712143044.png" /></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;">6、等待安装完毕后,选择“Reboot now”然后点击“Finish”重启此虚拟机即可安装成功(选择“Reboot now”并点“Finish”会自动重新启动)</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 Machine_20220712143103.png" /></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="364"/>
|
||||
<location filename="mainwindow.ui" line="482"/>
|
||||
<source>关于</source>
|
||||
<translation>About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="421"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
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;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此为 wine 运行器附属组件(虽然违背了“Wine Is Not An Emulator”&lt;Wine 不是一个模拟器&gt;的原意),旨在能更加完美、简单的运行 Windows 应用</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">本程序基于 C++ Qt、Python 和 Virtualbox 制作,通过运行安装 Windows 操作系统的虚拟机实现在 Linux 运行 Windows exe 程序的功能。</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">基于 GPL V3 协议开源</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;"> Gitee:<a href="https://gitee.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitee.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;">此组件也有非常大的缺点,就是相比于 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>
|
||||
<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></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="463"/>
|
||||
<source>虚拟机</source>
|
||||
<translation>Virtual Machine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="477"/>
|
||||
<source>退出</source>
|
||||
<translation>Exit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="487"/>
|
||||
<source>导入/覆盖</source>
|
||||
<translation>Add/Replace</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="492"/>
|
||||
<source>导出</source>
|
||||
<translation>Export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="497"/>
|
||||
<location filename="mainwindow.cpp" line="442"/>
|
||||
<source>虚拟机安装日志</source>
|
||||
<translation>Virtual Machine log (Installing)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="502"/>
|
||||
<location filename="mainwindow.cpp" line="408"/>
|
||||
<source>虚拟机运行日志</source>
|
||||
<translation>Virtual Machine log (Running)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="507"/>
|
||||
<source>虚拟机测试(X86、Qemu)</source>
|
||||
<translation>Qemu Test (x86, qemu)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="512"/>
|
||||
<source>强制停止 VirtualBox</source>
|
||||
<translation>Stop VirtualBox with forced</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="517"/>
|
||||
<source>强制停止 Qemu</source>
|
||||
<translation>Stop Qemu with forced</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="88"/>
|
||||
<source>Wine 运行器虚拟机安装工具 </source>
|
||||
<translation>Wine Runner Virtual Machine Install Tools </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="90"/>
|
||||
<source><p>程序版本号:</source>
|
||||
<translation><p>Program Version:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="90"/>
|
||||
<source></p><p>安装包构建时间:</source>
|
||||
<translation></p><p>Package build time:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="90"/>
|
||||
<source></p><p>该组件构建时间:</source>
|
||||
<translation></p><p>Tools builded time:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="92"/>
|
||||
<source><hr/><h1>谢明列表</h1></source>
|
||||
<translation><hr/><h1>Thank</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="179"/>
|
||||
<location filename="mainwindow.cpp" line="186"/>
|
||||
<location filename="mainwindow.cpp" line="193"/>
|
||||
<location filename="mainwindow.cpp" line="200"/>
|
||||
<location filename="mainwindow.cpp" line="215"/>
|
||||
<location filename="mainwindow.cpp" line="222"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="248"/>
|
||||
<location filename="mainwindow.cpp" line="254"/>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="307"/>
|
||||
<location filename="mainwindow.cpp" line="322"/>
|
||||
<location filename="mainwindow.cpp" line="328"/>
|
||||
<location filename="mainwindow.cpp" line="332"/>
|
||||
<location filename="mainwindow.cpp" line="338"/>
|
||||
<location filename="mainwindow.cpp" line="357"/>
|
||||
<location filename="mainwindow.cpp" line="360"/>
|
||||
<location filename="mainwindow.cpp" line="364"/>
|
||||
<location filename="mainwindow.cpp" line="367"/>
|
||||
<location filename="mainwindow.cpp" line="392"/>
|
||||
<location filename="mainwindow.cpp" line="404"/>
|
||||
<location filename="mainwindow.cpp" line="438"/>
|
||||
<source>提示</source>
|
||||
<translation>Tips</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="179"/>
|
||||
<source>您似乎没有安装 Qemu,是否继续创建虚拟机?</source>
|
||||
<translation>Can't find qemu, do you want to countinue to create the virtual machine?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="186"/>
|
||||
<source>您似乎没有安装 VBox,是否继续创建虚拟机?</source>
|
||||
<translation>Can't find VirtualBox, do you want to countinue to create the virtual machine?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="193"/>
|
||||
<source>无法检测到 qemu-system-arm,是否继续创建虚拟机?</source>
|
||||
<translation>Can't find the qemu-system-arm, do you want to countinue to create the virtual machine?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="200"/>
|
||||
<source>无法检测到 qemu-system-aarch64,是否继续创建虚拟机?</source>
|
||||
<translation>Can't find the qemu-system-aarch64, do you want to countinue to create the virtual machine?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="215"/>
|
||||
<source>似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?
|
||||
缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
|
||||
<translation>Can't find the Windows7X86Auto.iso, do you want to countinue to create the virtual machine?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="222"/>
|
||||
<source>似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?
|
||||
缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
|
||||
<translation>Can't find the Windows7X64Auto.iso, do you want to countinue to create the virtual machine?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<source>似乎无法找到 UEFI 固件,是否继续创建虚拟机?
|
||||
Qemu 固件可以在“安装 Qemu”处安装</source>
|
||||
<translation>Can't find the UEFI boot, do you want to countinue to create the virtual machine?
|
||||
You can get qemu efi from "Install Qemu" button</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="248"/>
|
||||
<source>Qemu 不支持该选项!</source>
|
||||
<translation>Qemu unsupport it</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="254"/>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<source>VirtualBox 不支持该选项!</source>
|
||||
<translation>VirtualBox unsupport it</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="278"/>
|
||||
<source>提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志</source>
|
||||
<translation>Tips: It trying to start virtualbox now, you should view the log in the tools menu if you can't see the virtual machine window a few time late</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="307"/>
|
||||
<source>磁盘文件已存在,是否覆盖?
|
||||
覆盖后将无法恢复!</source>
|
||||
<translation>Qemu Disk is exist. Do you want to replace?
|
||||
You will not recovery after you replacing!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="311"/>
|
||||
<source>选择 Qemu 镜像</source>
|
||||
<translation>Choose Qemu Disk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="311"/>
|
||||
<source>Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)</source>
|
||||
<translation>Qemu Disk(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;All files(*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="322"/>
|
||||
<location filename="mainwindow.cpp" line="328"/>
|
||||
<source>添加错误!</source>
|
||||
<translation>Add error!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="332"/>
|
||||
<source>添加完成!</source>
|
||||
<translation>Add finishing!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="338"/>
|
||||
<source>不存在磁盘文件,无法导出</source>
|
||||
<translation>Can't export because can't find the qemu disk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="357"/>
|
||||
<source>不存在磁盘文件,无法移除</source>
|
||||
<translation>Can't delete because can't find the qemu disk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="360"/>
|
||||
<source>是否删除?
|
||||
删除后将无法恢复!</source>
|
||||
<translation>Do you want to delete?
|
||||
It can't recovery after you deleting!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="364"/>
|
||||
<source>移除失败</source>
|
||||
<translation>Delete error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="367"/>
|
||||
<source>移除成功</source>
|
||||
<translation>Delete successfully</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="373"/>
|
||||
<location filename="mainwindow.cpp" line="389"/>
|
||||
<source>错误</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="373"/>
|
||||
<source>未识别到命令 kvm-ok
|
||||
可以使用命令 sudo apt install cpu-checker 安装</source>
|
||||
<translation>Can't find the command "kvm-ok" and you can use command "sudo apt install cpu-checker" to install</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="383"/>
|
||||
<source>使用</source>
|
||||
<translation>Use</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="389"/>
|
||||
<source>您的系统不支持使用 kvm:
|
||||
</source>
|
||||
<translation>Your system can't use kvm:
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="392"/>
|
||||
<source>您的系统支持使用 kvm:
|
||||
</source>
|
||||
<translation>Your system can use kvm:
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="404"/>
|
||||
<location filename="mainwindow.cpp" line="438"/>
|
||||
<source>没有日志文件</source>
|
||||
<translation>Can't find the log file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="408"/>
|
||||
<source>运行日志</source>
|
||||
<translation>Running file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="442"/>
|
||||
<source>安装日志</source>
|
||||
<translation>Installed log</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QemuSetting</name>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="14"/>
|
||||
<source>设置</source>
|
||||
<translation>Setting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="35"/>
|
||||
<source><h3>远程服务</h3></source>
|
||||
<translation><h3>Remote Service</h3></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="42"/>
|
||||
<source>VNC服务端口:</source>
|
||||
<translation>VNC service port:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="49"/>
|
||||
<source>开启 rdp 服务映射</source>
|
||||
<translation>Enable rdp port</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="56"/>
|
||||
<source>内存大小(MB):</source>
|
||||
<translation>Memory size (MB):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="90"/>
|
||||
<source><h3>基础设置</h3></source>
|
||||
<translation><h3>Base setting</h3></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="97"/>
|
||||
<source>开启VNC服务</source>
|
||||
<translation>Enable VNC service</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="104"/>
|
||||
<source>开启 kvm 加速</source>
|
||||
<translation>Enable kvm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="111"/>
|
||||
<source>CPU核心数:</source>
|
||||
<translation>CPU cores:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="125"/>
|
||||
<source>开启声音</source>
|
||||
<translation>Enable sound</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="145"/>
|
||||
<source>保存</source>
|
||||
<translation>Save</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="158"/>
|
||||
<source>取消</source>
|
||||
<translation>Cancel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="171"/>
|
||||
<source>重置
|
||||
默认</source>
|
||||
<translation>Resetting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="qemusetting.ui" line="185"/>
|
||||
<source>获取
|
||||
Wine
|
||||
运行器</source>
|
||||
<translation>Get Wine
|
||||
Runner</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
132
VM-source/kvm-ok
Executable file
132
VM-source/kvm-ok
Executable file
@@ -0,0 +1,132 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# kvm-ok - check whether the CPU we're running on supports KVM acceleration
|
||||
# Copyright (C) 2008-2010 Canonical Ltd.
|
||||
#
|
||||
# Authors:
|
||||
# Dustin Kirkland <kirkland@canonical.com>
|
||||
# Kees Cook <kees.cook@canonical.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 3,
|
||||
# as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
set -e
|
||||
|
||||
assert_root() {
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
echo "INFO: For more detailed results, you should run this as root"
|
||||
echo "HINT: sudo $0"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
verdict() {
|
||||
# Print verdict
|
||||
if [ "$1" = "0" ]; then
|
||||
echo "KVM acceleration can be used"
|
||||
exit 0
|
||||
else
|
||||
echo "KVM acceleration can NOT be used"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
ARM_CPU_PART_CORTEX_A15="0xc0f" # <asm/cputype.h>
|
||||
|
||||
# check cpu flags for capability
|
||||
case "$(uname -m)" in
|
||||
armv7l)
|
||||
if egrep -m1 -w '^CPU part[[:blank:]]*:' /proc/cpuinfo | \
|
||||
egrep -wq "$ARM_CPU_PART_CORTEX_A15"; then
|
||||
virt="ARM"
|
||||
kvm_mod="kvm"
|
||||
fi
|
||||
;;
|
||||
aarch64)
|
||||
virt="ARM"
|
||||
kvm_mod="kvm"
|
||||
;;
|
||||
ppc64le|ppc64|s390x)
|
||||
# FIXME: Assume that all POWER and z/Systems are KVM capable
|
||||
virt="generic"
|
||||
kvm_mod="kvm"
|
||||
;;
|
||||
*)
|
||||
virt=$(egrep -m1 -w '^flags[[:blank:]]*:' /proc/cpuinfo | egrep -wo '(vmx|svm)') || true
|
||||
[ "$virt" = "vmx" ] && kvm_mod="kvm_intel"
|
||||
[ "$virt" = "svm" ] && kvm_mod="kvm_amd"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$virt" ]; then
|
||||
echo "INFO: Your CPU does not support KVM extensions"
|
||||
assert_root
|
||||
verdict 1
|
||||
fi
|
||||
|
||||
# Now, check that the device exists
|
||||
if [ -e /dev/kvm ]; then
|
||||
echo "INFO: /dev/kvm exists"
|
||||
verdict 0
|
||||
else
|
||||
echo "INFO: /dev/kvm does not exist"
|
||||
echo "HINT: sudo modprobe $kvm_mod"
|
||||
fi
|
||||
|
||||
assert_root
|
||||
|
||||
# Prepare MSR access
|
||||
msr="/dev/cpu/0/msr"
|
||||
if [ ! -r "$msr" ]; then
|
||||
modprobe msr
|
||||
fi
|
||||
if [ -e "$msr" -a ! -r "$msr" ]; then
|
||||
echo "You must be root to run this check." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "INFO: Your CPU supports KVM extensions"
|
||||
|
||||
disabled=0
|
||||
# check brand-specific registers
|
||||
if [ "$virt" = "vmx" ]; then
|
||||
BIT=$(rdmsr --bitfield 0:0 0x3a 2>/dev/null || true)
|
||||
if [ "$BIT" = "1" ]; then
|
||||
# and FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX clear (no tboot)
|
||||
BIT=$(rdmsr --bitfield 2:2 0x3a 2>/dev/null || true)
|
||||
if [ "$BIT" = "0" ]; then
|
||||
disabled=1
|
||||
fi
|
||||
fi
|
||||
|
||||
elif [ "$virt" = "svm" ]; then
|
||||
BIT=$(rdmsr --bitfield 4:4 0xc0010114 2>/dev/null || true)
|
||||
if [ "$BIT" = "1" ]; then
|
||||
disabled=1
|
||||
fi
|
||||
elif [ "$virt" = "ARM" ]; then
|
||||
# Should also test that we booted in HYP mode, if detectable
|
||||
:
|
||||
elif [ "$virt" = "generic" ]; then
|
||||
:
|
||||
else
|
||||
echo "FAIL: Unknown virtualization extension: $virt"
|
||||
verdict 1
|
||||
fi
|
||||
|
||||
if [ "$disabled" -eq 1 ]; then
|
||||
echo "INFO: KVM ($virt) is disabled by your BIOS"
|
||||
echo "HINT: Enter your BIOS setup and enable Virtualization Technology (VT),"
|
||||
echo " and then hard poweroff/poweron your system"
|
||||
verdict 1
|
||||
fi
|
||||
|
||||
verdict 0
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#include "mainwindow.h"
|
||||
@@ -24,9 +24,13 @@ int main(int argc, char *argv[])
|
||||
QApplication a(argc, argv);
|
||||
// 语言
|
||||
QTranslator *trans = new QTranslator(&a);
|
||||
trans->load("virtualmachine-en_US.qm");
|
||||
if(!QProcessEnvironment::systemEnvironment().value("LANG").contains("zh_CN")){
|
||||
trans->load(":/en_US.qm");
|
||||
}
|
||||
|
||||
a.installTranslator(trans);
|
||||
|
||||
|
||||
// 判断是否为 !amd64(无需判断了)
|
||||
/*if(GetRunCommand("arch").replace(" ", "").replace("\n", "") != QString("x86_64")){
|
||||
QMessageBox::critical(NULL, "错误", "此程序不支持非 X86 架构,立即退出");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#include "mainwindow.h"
|
||||
@@ -20,13 +20,19 @@
|
||||
#include <QJsonArray>
|
||||
#include <QDesktopServices>
|
||||
#include <QMessageBox>
|
||||
#include <iostream>
|
||||
#include <QIODevice>
|
||||
#include <QInputDialog>
|
||||
#include "qemusetting.h"
|
||||
#include "vbox.h"
|
||||
#include "qemu.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
//QApplication a(argc, argv);
|
||||
ui->tabWidget->setTabPosition(QTabWidget::West); // 标签靠左
|
||||
// 选择最优虚拟机
|
||||
if(!system("which qemu-system-x86_64")){
|
||||
@@ -42,7 +48,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
||||
// 判断是否安装 vbox(无需判断)
|
||||
/*if(system("which VBoxManage")){
|
||||
if(QMessageBox::question(this, "提示", "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
|
||||
if(QMessageBox::question(this, tr("提示"), "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
|
||||
system("xdg-open https://www.virtualbox.org/wiki/Linux_Downloads");
|
||||
}
|
||||
}*/
|
||||
@@ -79,11 +85,11 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
|
||||
}
|
||||
// 设置程序标题
|
||||
this->setWindowTitle("Windows 应用适配工具 " + versionValue.toString());
|
||||
this->setWindowTitle(tr("Wine 运行器虚拟机安装工具 ") + versionValue.toString());
|
||||
// 读取谢明列表
|
||||
ui->textBrowser_2->setHtml("<p>程序版本号:" + versionValue.toString() + ", " + GetRunCommand("arch") + "</p><p>安装包构建时间:" + buildTime.toString() + "</p><p>该组件构建时间:"
|
||||
ui->textBrowser_2->setHtml(tr("<p>程序版本号:") + versionValue.toString() + ", " + GetRunCommand("arch") + tr("</p><p>安装包构建时间:") + buildTime.toString() + tr("</p><p>该组件构建时间:")
|
||||
+ __DATE__ + " " + __TIME__ + "</p>" + ui->textBrowser_2->toHtml() +
|
||||
"<hr/><h1>谢明列表</h1>" + thankText);
|
||||
tr("<hr/><h1>谢明列表</h1>") + thankText);
|
||||
connect(ui->textBrowser_2, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
||||
QDesktopServices::openUrl(link);
|
||||
});
|
||||
@@ -93,6 +99,10 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
connect(ui->textBrowser_3, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
||||
QDesktopServices::openUrl(link);
|
||||
});
|
||||
// 设置标签栏图标
|
||||
ui->tabWidget->setTabIcon(1, QIcon::fromTheme(":/application-vnd.oasis.opendocument.text.svg"));
|
||||
// 设置窗口图标
|
||||
this->setWindowIcon(QIcon(":/deepin-wine-runner.svg"));
|
||||
|
||||
}
|
||||
|
||||
@@ -128,9 +138,12 @@ void MainWindow::ShowCPUMessage(){
|
||||
QString::number(memory * 100 / memoryAll) + "% " + QString::number(memory / 1024) + "MB/" + QString::number(memoryAll / 1024) + "MB" +
|
||||
" 开机时间: " + QString::number(dd) + "天 " + QString::number(hh) + ":" + QString::number(MM) + ":" + QString::number(ss);
|
||||
//qDebug() << cpuAll << " " << cpuFree;
|
||||
ui->CPUValue->showMessage(info, 5000);
|
||||
if(!stopShowTime){
|
||||
ui->CPUValue->showMessage(info, 5000);
|
||||
}
|
||||
m_cpuAll = cpuAll;
|
||||
m_cpuFree = cpuFree;
|
||||
ui->retranslateUi(this);
|
||||
}
|
||||
|
||||
QString MainWindow::GetRunCommand(QString command){
|
||||
@@ -163,20 +176,106 @@ void MainWindow::on_install_clicked()
|
||||
switch (ui->vmChooser->currentIndex()) {
|
||||
case 0:
|
||||
if(system("which qemu-system-x86_64")){
|
||||
if(QMessageBox::question(this, "提示", "您似乎没有安装 Qemu,是否继续创建虚拟机?") == QMessageBox::No){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("您似乎没有安装 Qemu,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(system("which vboxmanage")){
|
||||
if(QMessageBox::question(this, "提示", "您似乎没有安装 VBox,是否继续创建虚拟机?") == QMessageBox::No){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("您似乎没有安装 VBox,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(system("which qemu-system-arm")){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("无法检测到 qemu-system-arm,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if(system("which qemu-system-aarch64")){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("无法检测到 qemu-system-aarch64,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
QFile file(QDir::homePath() + "/.config/deepin-wine-runner/QEMU-EFI");
|
||||
QFile archFile(QDir::homePath() + "/.config/deepin-wine-runner/QEMU-ARCH");
|
||||
QDir dir(QDir::homePath() + "/.config/deepin-wine-runner");
|
||||
archFile.open(QIODevice::WriteOnly);
|
||||
archFile.write("amd64");
|
||||
archFile.close();
|
||||
switch (ui->systemVersion->currentIndex()) {
|
||||
case 0:
|
||||
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X86Auto.iso")){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X64Auto.iso")){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(!QFile::exists("/usr/share/qemu/OVMF.fd") && !QFile::exists(QCoreApplication::applicationDirPath() + "/OVMF.fd") && ui->vmChooser->currentIndex() == 0){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 UEFI 固件,是否继续创建虚拟机?\nQemu 固件可以在“安装 Qemu”处安装")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(!dir.exists()){
|
||||
dir.mkpath(QDir::homePath() + "/.config/deepin-wine-runner");
|
||||
}
|
||||
if(!QFile::exists(QDir::homePath() + "/.config/deepin-wine-runner/QEMU-EFI")){
|
||||
// 写入用于识别的空文件
|
||||
file.open(QIODevice::WriteOnly);
|
||||
file.write("1");
|
||||
file.close();
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
if(ui->vmChooser->currentIndex() == 0){
|
||||
QMessageBox::warning(this, tr("提示"), tr("Qemu 不支持该选项!"));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(ui->vmChooser->currentIndex() == 1){
|
||||
QMessageBox::warning(this, tr("提示"), tr("VirtualBox 不支持该选项!"));
|
||||
return;
|
||||
}
|
||||
archFile.open(QIODevice::WriteOnly);
|
||||
archFile.write("armhf");
|
||||
archFile.close();
|
||||
break;
|
||||
case 9:
|
||||
if(ui->vmChooser->currentIndex() == 1){
|
||||
QMessageBox::warning(this, tr("提示"), tr("VirtualBox 不支持该选项!"));
|
||||
return;
|
||||
}
|
||||
archFile.open(QIODevice::WriteOnly);
|
||||
archFile.write("aarch64");
|
||||
archFile.close();
|
||||
break;
|
||||
default:
|
||||
if(ui->vmChooser->currentIndex() == 0 && QFile::exists(QDir::homePath() + "/.config/deepin-wine-runner/QEMU-EFI")){
|
||||
QFile::remove(QDir::homePath() + "/.config/deepin-wine-runner/QEMU-EFI");
|
||||
}
|
||||
}
|
||||
buildvbox(ui->isoPath->text(), ui->systemVersion->currentIndex(), ui->vmChooser->currentIndex());
|
||||
ui->tabWidget->setCurrentIndex(1);
|
||||
stopShowTime = 1;
|
||||
ui->CPUValue->showMessage(tr("提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志"), 10000);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -187,7 +286,7 @@ void MainWindow::on_getvbox_clicked()
|
||||
|
||||
void MainWindow::on_getQemu_clicked()
|
||||
{
|
||||
system(("python3 '" + QCoreApplication::applicationDirPath() + "/../RunCommandWithTerminal.py' '" + QCoreApplication::applicationDirPath() + "/../QemuSystemInstall.sh'").toLatin1());
|
||||
system(("python3 '" + QCoreApplication::applicationDirPath() + "/../RunCommandWithTerminal.py' pkexec '" + QCoreApplication::applicationDirPath() + "/../QemuSystemInstall.sh'").toLatin1());
|
||||
}
|
||||
|
||||
void MainWindow::on_vmChooser_currentIndexChanged(int index)
|
||||
@@ -201,3 +300,160 @@ void MainWindow::on_qemuSetting_clicked()
|
||||
show->show();
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::on_addQemuDisk_triggered()
|
||||
{
|
||||
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||
if(QMessageBox::question(this, tr("提示"), tr("磁盘文件已存在,是否覆盖?\n覆盖后将无法恢复!")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
}
|
||||
QString path = QFileDialog::getOpenFileName(this, tr("选择 Qemu 镜像"), QDir::homePath(), tr("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, tr("提示"), tr("添加错误!"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(!QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||
QMessageBox::critical(this, tr("提示"), tr("添加错误!"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
QMessageBox::information(this, tr("提示"), tr("添加完成!"));
|
||||
}
|
||||
|
||||
void MainWindow::on_delQemuDisk_triggered()
|
||||
{
|
||||
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||
QMessageBox::information(this, tr("提示"), tr("不存在磁盘文件,无法导出"));
|
||||
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, tr("提示"), tr("不存在磁盘文件,无法移除"));
|
||||
return;
|
||||
}
|
||||
if(QMessageBox::question(this, tr("提示"), tr("是否删除?\n删除后将无法恢复!")) == QMessageBox::No){
|
||||
return;
|
||||
}
|
||||
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||
QMessageBox::critical(this, tr("提示"), tr("移除失败"));
|
||||
return;
|
||||
}
|
||||
QMessageBox::information(this, tr("提示"), tr("移除成功"));
|
||||
}
|
||||
|
||||
void MainWindow::on_kvmTest_clicked()
|
||||
{
|
||||
if(system("which kvm-ok")&& !QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
|
||||
QMessageBox::critical(this, tr("错误"), tr("未识别到命令 kvm-ok\n可以使用命令 sudo apt install cpu-checker 安装"));
|
||||
return;
|
||||
}
|
||||
QString kvm_ok_path = "kvm-ok";
|
||||
if(!system("which kvm-ok")){
|
||||
kvm_ok_path = "kvm-ok";
|
||||
}
|
||||
else if(QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
|
||||
kvm_ok_path = QCoreApplication::applicationDirPath() + "/kvm-ok";
|
||||
}
|
||||
qDebug() << tr("使用") << kvm_ok_path;
|
||||
QProcess process;
|
||||
process.start(kvm_ok_path);
|
||||
process.waitForStarted();
|
||||
process.waitForFinished();
|
||||
if(process.exitCode()){
|
||||
QMessageBox::critical(this, tr("错误"), tr("您的系统不支持使用 kvm:\n") + process.readAll());
|
||||
return;
|
||||
}
|
||||
QMessageBox::information(this, tr("提示"), tr("您的系统支持使用 kvm:\n") + process.readAll());
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionVMLog_triggered(){}
|
||||
|
||||
|
||||
void MainWindow::on_actionVMRunlLog_triggered()
|
||||
{
|
||||
QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-run.log");
|
||||
if(!file.exists()){
|
||||
QMessageBox::information(this, tr("提示"), tr("没有日志文件"));
|
||||
return;
|
||||
}
|
||||
file.open(QIODevice::ReadOnly);
|
||||
QInputDialog::getMultiLineText(this, tr("运行日志"), tr("虚拟机运行日志"), file.readAll());
|
||||
file.close();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionVMTest_triggered()
|
||||
{
|
||||
// 运行 Demo
|
||||
if(QFile::exists(QCoreApplication::applicationDirPath() + "/test.qcow2")){
|
||||
// 优先使用本地的磁盘
|
||||
system(("qemu-system-i386 --hda '" + QCoreApplication::applicationDirPath() + "/test.qcow2' -rtc base=localtime > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1").toUtf8());
|
||||
return;
|
||||
}
|
||||
// 写入 disk 文件
|
||||
QFile file(":/TestDisk/test.qcow2");
|
||||
// 计算随机数
|
||||
QFile writeFile("/tmp/indows-virtual-machine-installer-for-wine-runner-test-disk.qcow2");
|
||||
file.open(QIODevice::ReadOnly);
|
||||
writeFile.open(QIODevice::WriteOnly);
|
||||
writeFile.write(file.readAll());
|
||||
file.close();
|
||||
writeFile.close();
|
||||
system("qemu-system-i386 --hda /tmp/indows-virtual-machine-installer-for-wine-runner-test-disk.qcow2 -rtc base=localtime > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1");
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionVMInstallLog_triggered()
|
||||
{
|
||||
QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-install.log");
|
||||
if(!file.exists()){
|
||||
QMessageBox::information(this, tr("提示"), tr("没有日志文件"));
|
||||
return;
|
||||
}
|
||||
file.open(QIODevice::ReadOnly);
|
||||
QInputDialog::getMultiLineText(this, tr("安装日志"), tr("虚拟机安装日志"),file.readAll());
|
||||
file.close();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_action_StopVirtualBox_triggered()
|
||||
{
|
||||
vbox vmControl("");
|
||||
vmControl.Stop();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_action_StopQemu_triggered()
|
||||
{
|
||||
qemu vmControl("");
|
||||
vmControl.Stop();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
* gfdgd xi
|
||||
* 依照 GPLV3 开源
|
||||
*/
|
||||
#ifndef MAINWINDOW_H
|
||||
@@ -34,7 +34,32 @@ private slots:
|
||||
|
||||
void on_qemuSetting_clicked();
|
||||
|
||||
void on_addQemuDisk_triggered();
|
||||
|
||||
void on_delQemuDisk_triggered();
|
||||
|
||||
void on_addQemuDiskButton_clicked();
|
||||
|
||||
void on_saveQemuDiskButton_clicked();
|
||||
|
||||
void on_delQemuDiskButton_clicked();
|
||||
|
||||
void on_kvmTest_clicked();
|
||||
|
||||
void on_actionVMLog_triggered();
|
||||
|
||||
void on_actionVMRunlLog_triggered();
|
||||
|
||||
void on_actionVMTest_triggered();
|
||||
|
||||
void on_actionVMInstallLog_triggered();
|
||||
|
||||
void on_action_StopVirtualBox_triggered();
|
||||
|
||||
void on_action_StopQemu_triggered();
|
||||
|
||||
private:
|
||||
bool stopShowTime = 0;
|
||||
Ui::MainWindow *ui;
|
||||
long m_cpuAll;
|
||||
long m_cpuFree;
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>807</width>
|
||||
<height>429</height>
|
||||
<width>1058</width>
|
||||
<height>512</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Windows 应用适配工具</string>
|
||||
<string>Wine 运行器虚拟机安装工具</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset>
|
||||
@@ -25,7 +25,7 @@
|
||||
<enum>QTabWidget::Rounded</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
@@ -86,7 +86,42 @@
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>其它 Windows 系统(不支持自动安装)</string>
|
||||
<string>其它 Windows 系统(不支持自动安装,传统启动,推荐 Windows 7 及以下)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>其他 Windows 系统(不支持自动安装,UEFI 启动,推荐 Windows 8 及以上)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>安装 WIndows 11(不支持自动安装)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>安装其他 Windows XP(支持自动安装,只支持 VirtualBox)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>安装其他 Windows (支持自动安装,传统启动,只支持 VirtualBox)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>安装其他 Windows(支持自动安装,UEFI 启动,只支持 VirtualBox)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>安装 arm32 系统(只支持 Qemu)</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>安装 arm64 系统(只支持 Qemu)</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -142,6 +177,20 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="getQemu">
|
||||
<property name="text">
|
||||
<string>安装 Qemu</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="kvmTest">
|
||||
<property name="text">
|
||||
<string>kvm 测试</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="qemuSetting">
|
||||
<property name="text">
|
||||
@@ -150,9 +199,23 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="getQemu">
|
||||
<widget class="QPushButton" name="addQemuDiskButton">
|
||||
<property name="text">
|
||||
<string>安装 Qemu</string>
|
||||
<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>
|
||||
@@ -179,12 +242,24 @@
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
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;">
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">使用迅雷或者网盘下载以下任意一个链接然后在上面选择即可:</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;">UOS 3a4000 用户在使用 Qemu 时可能会出现虚拟机无法正常开机的问题,需要安装/降级到以下链接的版本:</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;">蓝奏云:</span><a href="https://gfdgdxi.lanzoue.com/b01rk9wza"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gfdgdxi.lanzoue.com/b01rk9wza</span></a><span style=" font-size:11pt;"> 密码:6wvf</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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</span></p>
|
||||
<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:11pt;">注:Qemu 跨架构效率较低,如无特殊情况不建议跨架构/不开硬件加速(如 kvm)运行 Qemu</span></p>
|
||||
<hr />
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">如何安装系统?使用迅雷或者网盘下载以下任意一个链接的 ISO 镜像然后在上面选择即可:</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">123 网盘链接:</span><a href="https://www.123pan.com/s/pDSKVv-oypWv"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-oypWv</span></a></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">迅雷网盘:</span><a href="https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5</span></a><span style=" font-size:10pt;"> 提取码:35e5</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">百度网盘:</span><a href="https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y</span></a><span style=" font-size:10pt;"> 提取码: me4y</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061</span></a><span style=" font-size:10pt;"> (访问密码: 2061)</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第一项,一般推荐这个)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></a></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第二项)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></a></p>
|
||||
<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:11pt; font-weight:600;">常用 Windows 软件:</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;">百度网盘:链接: </span><a href="https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p</span></a><span style=" font-size:11pt;"> 提取码: 7s2p </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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</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;">123网盘:</span><a href="https://www.123pan.com/s/pDSKVv-uCBWv.html"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-uCBWv.html</span></a></p>
|
||||
<hr /></body></html></string>
|
||||
</property>
|
||||
<property name="openLinks">
|
||||
@@ -215,6 +290,8 @@ 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;">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</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>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">VirtualBox 可以安装增强功能以优化体验,安装方法往下翻即可查询</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qemu 可以安装 Virtio 以优化体验,下载链接:<a href="https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/</span></a></p>
|
||||
<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; font-size:26pt; font-weight:600;"><br /></p>
|
||||
@@ -351,12 +428,10 @@ 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;">项目地址:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitee:<a href="https://gitee.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitee.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;">此组件也有非常大的缺点,就是相比于 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 />
|
||||
<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="-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></body></html></string>
|
||||
</property>
|
||||
<property name="openLinks">
|
||||
<bool>false</bool>
|
||||
@@ -374,6 +449,29 @@ p, li { white-space: pre-wrap; }
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menuBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1058</width>
|
||||
<height>36</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuVM">
|
||||
<property name="title">
|
||||
<string>虚拟机</string>
|
||||
</property>
|
||||
<addaction name="actionVMInstallLog"/>
|
||||
<addaction name="actionVMRunlLog"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionVMTest"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_StopVirtualBox"/>
|
||||
<addaction name="action_StopQemu"/>
|
||||
</widget>
|
||||
<addaction name="menuVM"/>
|
||||
</widget>
|
||||
<action name="action">
|
||||
<property name="text">
|
||||
<string>退出</string>
|
||||
@@ -384,6 +482,41 @@ p, li { white-space: pre-wrap; }
|
||||
<string>关于</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="addQemuDisk">
|
||||
<property name="text">
|
||||
<string>导入/覆盖</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="delQemuDisk">
|
||||
<property name="text">
|
||||
<string>导出</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionVMInstallLog">
|
||||
<property name="text">
|
||||
<string>虚拟机安装日志</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionVMRunlLog">
|
||||
<property name="text">
|
||||
<string>虚拟机运行日志</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionVMTest">
|
||||
<property name="text">
|
||||
<string>虚拟机测试(X86、Qemu)</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_StopVirtualBox">
|
||||
<property name="text">
|
||||
<string>强制停止 VirtualBox</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_StopQemu">
|
||||
<property name="text">
|
||||
<string>强制停止 Qemu</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
|
||||
350
VM-source/mainwindow_ui.py
Normal file
350
VM-source/mainwindow_ui.py
Normal file
@@ -0,0 +1,350 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file '/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/mainwindow.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.6
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(1058, 512)
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(":/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
MainWindow.setWindowIcon(icon)
|
||||
self.centralWidget = QtWidgets.QWidget(MainWindow)
|
||||
self.centralWidget.setObjectName("centralWidget")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralWidget)
|
||||
self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
|
||||
self.horizontalLayout.setSpacing(6)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.tabWidget = QtWidgets.QTabWidget(self.centralWidget)
|
||||
self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded)
|
||||
self.tabWidget.setObjectName("tabWidget")
|
||||
self.tab = QtWidgets.QWidget()
|
||||
self.tab.setObjectName("tab")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.tab)
|
||||
self.verticalLayout.setContentsMargins(11, 11, 11, 11)
|
||||
self.verticalLayout.setSpacing(6)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_2.setSpacing(6)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.label = QtWidgets.QLabel(self.tab)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout_2.addWidget(self.label)
|
||||
self.isoPath = QtWidgets.QLineEdit(self.tab)
|
||||
self.isoPath.setObjectName("isoPath")
|
||||
self.horizontalLayout_2.addWidget(self.isoPath)
|
||||
self.browser = QtWidgets.QPushButton(self.tab)
|
||||
self.browser.setObjectName("browser")
|
||||
self.horizontalLayout_2.addWidget(self.browser)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_2)
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_3.setSpacing(6)
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.label_2 = QtWidgets.QLabel(self.tab)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.horizontalLayout_3.addWidget(self.label_2)
|
||||
self.systemVersion = QtWidgets.QComboBox(self.tab)
|
||||
self.systemVersion.setObjectName("systemVersion")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.systemVersion.addItem("")
|
||||
self.horizontalLayout_3.addWidget(self.systemVersion)
|
||||
self.horizontalLayout_3.setStretch(1, 1)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_3)
|
||||
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_7.setSpacing(6)
|
||||
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||
self.label_4 = QtWidgets.QLabel(self.tab)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.horizontalLayout_7.addWidget(self.label_4)
|
||||
self.vmChooser = QtWidgets.QComboBox(self.tab)
|
||||
self.vmChooser.setDuplicatesEnabled(False)
|
||||
self.vmChooser.setObjectName("vmChooser")
|
||||
self.vmChooser.addItem("")
|
||||
self.vmChooser.addItem("")
|
||||
self.horizontalLayout_7.addWidget(self.vmChooser)
|
||||
self.horizontalLayout_7.setStretch(1, 1)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_7)
|
||||
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_4.setSpacing(6)
|
||||
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_4.addItem(spacerItem)
|
||||
self.getQemu = QtWidgets.QPushButton(self.tab)
|
||||
self.getQemu.setObjectName("getQemu")
|
||||
self.horizontalLayout_4.addWidget(self.getQemu)
|
||||
self.kvmTest = QtWidgets.QPushButton(self.tab)
|
||||
self.kvmTest.setObjectName("kvmTest")
|
||||
self.horizontalLayout_4.addWidget(self.kvmTest)
|
||||
self.qemuSetting = QtWidgets.QPushButton(self.tab)
|
||||
self.qemuSetting.setObjectName("qemuSetting")
|
||||
self.horizontalLayout_4.addWidget(self.qemuSetting)
|
||||
self.addQemuDiskButton = QtWidgets.QPushButton(self.tab)
|
||||
self.addQemuDiskButton.setObjectName("addQemuDiskButton")
|
||||
self.horizontalLayout_4.addWidget(self.addQemuDiskButton)
|
||||
self.saveQemuDiskButton = QtWidgets.QPushButton(self.tab)
|
||||
self.saveQemuDiskButton.setObjectName("saveQemuDiskButton")
|
||||
self.horizontalLayout_4.addWidget(self.saveQemuDiskButton)
|
||||
self.delQemuDiskButton = QtWidgets.QPushButton(self.tab)
|
||||
self.delQemuDiskButton.setObjectName("delQemuDiskButton")
|
||||
self.horizontalLayout_4.addWidget(self.delQemuDiskButton)
|
||||
self.getvbox = QtWidgets.QPushButton(self.tab)
|
||||
self.getvbox.setObjectName("getvbox")
|
||||
self.horizontalLayout_4.addWidget(self.getvbox)
|
||||
self.install = QtWidgets.QPushButton(self.tab)
|
||||
self.install.setObjectName("install")
|
||||
self.horizontalLayout_4.addWidget(self.install)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_4)
|
||||
self.textBrowser_3 = QtWidgets.QTextBrowser(self.tab)
|
||||
self.textBrowser_3.setOpenLinks(False)
|
||||
self.textBrowser_3.setObjectName("textBrowser_3")
|
||||
self.verticalLayout.addWidget(self.textBrowser_3)
|
||||
self.tabWidget.addTab(self.tab, "")
|
||||
self.tab_3 = QtWidgets.QWidget()
|
||||
self.tab_3.setObjectName("tab_3")
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.tab_3)
|
||||
self.horizontalLayout_5.setContentsMargins(11, 11, 11, 11)
|
||||
self.horizontalLayout_5.setSpacing(6)
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.textBrowser = QtWidgets.QTextBrowser(self.tab_3)
|
||||
self.textBrowser.setUndoRedoEnabled(False)
|
||||
self.textBrowser.setOpenLinks(False)
|
||||
self.textBrowser.setObjectName("textBrowser")
|
||||
self.horizontalLayout_5.addWidget(self.textBrowser)
|
||||
self.tabWidget.addTab(self.tab_3, "")
|
||||
self.tab_2 = QtWidgets.QWidget()
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.tab_2.sizePolicy().hasHeightForWidth())
|
||||
self.tab_2.setSizePolicy(sizePolicy)
|
||||
self.tab_2.setObjectName("tab_2")
|
||||
self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.tab_2)
|
||||
self.horizontalLayout_6.setContentsMargins(11, 11, 11, 11)
|
||||
self.horizontalLayout_6.setSpacing(6)
|
||||
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_3.setSpacing(6)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.label_3 = QtWidgets.QLabel(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
|
||||
self.label_3.setSizePolicy(sizePolicy)
|
||||
self.label_3.setMinimumSize(QtCore.QSize(200, 200))
|
||||
self.label_3.setMaximumSize(QtCore.QSize(200, 200))
|
||||
self.label_3.setStyleSheet("border-image: url(:/deepin-wine-runner.png);")
|
||||
self.label_3.setText("")
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.verticalLayout_3.addWidget(self.label_3)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.verticalLayout_3.addItem(spacerItem1)
|
||||
self.horizontalLayout_6.addLayout(self.verticalLayout_3)
|
||||
self.textBrowser_2 = QtWidgets.QTextBrowser(self.tab_2)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.textBrowser_2.sizePolicy().hasHeightForWidth())
|
||||
self.textBrowser_2.setSizePolicy(sizePolicy)
|
||||
self.textBrowser_2.setOpenLinks(False)
|
||||
self.textBrowser_2.setObjectName("textBrowser_2")
|
||||
self.horizontalLayout_6.addWidget(self.textBrowser_2)
|
||||
self.tabWidget.addTab(self.tab_2, "")
|
||||
self.horizontalLayout.addWidget(self.tabWidget)
|
||||
MainWindow.setCentralWidget(self.centralWidget)
|
||||
self.CPUValue = QtWidgets.QStatusBar(MainWindow)
|
||||
self.CPUValue.setStatusTip("")
|
||||
self.CPUValue.setObjectName("CPUValue")
|
||||
MainWindow.setStatusBar(self.CPUValue)
|
||||
self.menuBar = QtWidgets.QMenuBar(MainWindow)
|
||||
self.menuBar.setGeometry(QtCore.QRect(0, 0, 1058, 36))
|
||||
self.menuBar.setObjectName("menuBar")
|
||||
self.menuVM = QtWidgets.QMenu(self.menuBar)
|
||||
self.menuVM.setObjectName("menuVM")
|
||||
MainWindow.setMenuBar(self.menuBar)
|
||||
self.action = QtWidgets.QAction(MainWindow)
|
||||
self.action.setObjectName("action")
|
||||
self.action_2 = QtWidgets.QAction(MainWindow)
|
||||
self.action_2.setObjectName("action_2")
|
||||
self.addQemuDisk = QtWidgets.QAction(MainWindow)
|
||||
self.addQemuDisk.setObjectName("addQemuDisk")
|
||||
self.delQemuDisk = QtWidgets.QAction(MainWindow)
|
||||
self.delQemuDisk.setObjectName("delQemuDisk")
|
||||
self.actionVMInstallLog = QtWidgets.QAction(MainWindow)
|
||||
self.actionVMInstallLog.setObjectName("actionVMInstallLog")
|
||||
self.actionVMRunlLog = QtWidgets.QAction(MainWindow)
|
||||
self.actionVMRunlLog.setObjectName("actionVMRunlLog")
|
||||
self.actionVMTest = QtWidgets.QAction(MainWindow)
|
||||
self.actionVMTest.setObjectName("actionVMTest")
|
||||
self.menuVM.addAction(self.actionVMInstallLog)
|
||||
self.menuVM.addAction(self.actionVMRunlLog)
|
||||
self.menuVM.addSeparator()
|
||||
self.menuVM.addAction(self.actionVMTest)
|
||||
self.menuBar.addAction(self.menuVM.menuAction())
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
self.vmChooser.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Wine 运行器虚拟机安装工具"))
|
||||
self.label.setText(_translate("MainWindow", "镜像路径:"))
|
||||
self.isoPath.setPlaceholderText(_translate("MainWindow", "请选择系统镜像"))
|
||||
self.browser.setText(_translate("MainWindow", "浏览……"))
|
||||
self.label_2.setText(_translate("MainWindow", "系统版本:"))
|
||||
self.systemVersion.setCurrentText(_translate("MainWindow", "Windows 7 32 位(支持自动安装)"))
|
||||
self.systemVersion.setItemText(0, _translate("MainWindow", "Windows 7 32 位(支持自动安装)"))
|
||||
self.systemVersion.setItemText(1, _translate("MainWindow", "Windows 7 64 位(支持自动安装)"))
|
||||
self.systemVersion.setItemText(2, _translate("MainWindow", "其它 Windows 系统(不支持自动安装,传统启动,推荐 Windows 7 及以下)"))
|
||||
self.systemVersion.setItemText(3, _translate("MainWindow", "其他 Windows 系统(不支持自动安装,UEFI 启动,推荐 Windows 8 及以上)"))
|
||||
self.systemVersion.setItemText(4, _translate("MainWindow", "安装 WIndows 11(不支持自动安装)"))
|
||||
self.systemVersion.setItemText(5, _translate("MainWindow", "安装其他 Windows XP(支持自动安装,只支持 VirtualBox)"))
|
||||
self.systemVersion.setItemText(6, _translate("MainWindow", "安装其他 Windows (支持自动安装,传统启动,只支持 VirtualBox)"))
|
||||
self.systemVersion.setItemText(7, _translate("MainWindow", "安装其他 Windows(支持自动安装,UEFI 启动,只支持 VirtualBox)"))
|
||||
self.systemVersion.setItemText(8, _translate("MainWindow", "安装 arm32 系统(只支持 Qemu)"))
|
||||
self.systemVersion.setItemText(9, _translate("MainWindow", "安装 arm64 系统(只支持 Qemu)"))
|
||||
self.label_4.setText(_translate("MainWindow", "虚拟机(建议默认):"))
|
||||
self.vmChooser.setCurrentText(_translate("MainWindow", "qemu/kvm"))
|
||||
self.vmChooser.setItemText(0, _translate("MainWindow", "qemu/kvm"))
|
||||
self.vmChooser.setItemText(1, _translate("MainWindow", "VirtualBox"))
|
||||
self.getQemu.setText(_translate("MainWindow", "安装 Qemu"))
|
||||
self.kvmTest.setText(_translate("MainWindow", "kvm 测试"))
|
||||
self.qemuSetting.setText(_translate("MainWindow", "Qemu虚拟机设置"))
|
||||
self.addQemuDiskButton.setText(_translate("MainWindow", "添加/覆盖Qemu磁盘"))
|
||||
self.saveQemuDiskButton.setText(_translate("MainWindow", "导出Qemu磁盘"))
|
||||
self.delQemuDiskButton.setText(_translate("MainWindow", "移除Qemu磁盘"))
|
||||
self.getvbox.setText(_translate("MainWindow", "获取VirtualBox"))
|
||||
self.install.setText(_translate("MainWindow", "安装"))
|
||||
self.textBrowser_3.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:\'Noto Sans CJK SC\'; font-size:10.5pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<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;\">UOS 3a4000 用户在使用 Qemu 时可能会出现虚拟机无法正常开机的问题,需要安装/降级到以下链接的版本:</span></p>\n"
|
||||
"<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;\">蓝奏云:</span><a href=\"https://gfdgdxi.lanzoue.com/b01rk9wza\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://gfdgdxi.lanzoue.com/b01rk9wza</span></a><span style=\" font-size:11pt;\"> 密码:6wvf</span></p>\n"
|
||||
"<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;\">诚通网盘:</span><a href=\"http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061</span></a><span style=\" font-size:11pt;\"> (访问密码: 2061)</span></p>\n"
|
||||
"<hr />\n"
|
||||
"<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;\">注:Qemu 跨架构效率较低,如无特殊情况不建议跨架构/不开硬件加速(如 kvm)运行 Qemu</span></p>\n"
|
||||
"<hr />\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">如何安装系统?使用迅雷或者网盘下载以下任意一个链接的 ISO 镜像然后在上面选择即可:</span></p>\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">123 网盘链接:</span><a href=\"https://www.123pan.com/s/pDSKVv-oypWv\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://www.123pan.com/s/pDSKVv-oypWv</span></a></p>\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">迅雷网盘:</span><a href=\"https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5</span></a><span style=\" font-size:10pt;\"> 提取码:35e5</span></p>\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">百度网盘:</span><a href=\"https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y</span></a><span style=\" font-size:10pt;\"> 提取码: me4y</span></p>\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">诚通网盘:</span><a href=\"http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061</span></a><span style=\" font-size:10pt;\"> (访问密码: 2061)</span></p>\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">(如果下载这个,系统版本选第一项,一般推荐这个)</span><a href=\"ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></a></p>\n"
|
||||
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">(如果下载这个,系统版本选第二项)</span><a href=\"ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></a></p>\n"
|
||||
"<hr />\n"
|
||||
"<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; font-weight:600;\">常用 Windows 软件:</span></p>\n"
|
||||
"<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;\">百度网盘:链接: </span><a href=\"https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p</span></a><span style=\" font-size:11pt;\"> 提取码: 7s2p </span></p>\n"
|
||||
"<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;\">诚通网盘:</span><a href=\"http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061</span></a><span style=\" font-size:11pt;\"> (访问密码: 2061)</span></p>\n"
|
||||
"<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;\">123网盘:</span><a href=\"https://www.123pan.com/s/pDSKVv-uCBWv.html\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://www.123pan.com/s/pDSKVv-uCBWv.html</span></a></p>\n"
|
||||
"<hr /></body></html>"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "设置"))
|
||||
self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "设置"))
|
||||
self.textBrowser.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:\'Noto Sans CJK SC\'; font-size:10.5pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</p>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">VirtualBox 可以安装增强功能以优化体验,安装方法往下翻即可查询</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Qemu 可以安装 Virtio 以优化体验,下载链接:<a href=\"https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/</span></a></p>\n"
|
||||
"<hr />\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">如果您下载的镜像本程序支持,则大部分不用,已经尽量省去了让新手头疼的虚拟机程序安装,创建、设置虚拟机,虚拟磁盘分区,寻找原版镜像文件等内容</p>\n"
|
||||
"<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 Machine_20220712191756.png\" /></p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">但有些设置依旧需要人工自行设置,例如安装界面密钥的输入、系统的激活(涉及版权问题,不会考虑省略)、增强功能的安装、需要使用的软件等等</p>\n"
|
||||
"<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 Machine_20220712192850.png\" /></p>\n"
|
||||
"<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 Machine_20220712193527.png\" /></p>\n"
|
||||
"<hr />\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">非 Windows 7 镜像可能不支持自动安装(纯的 Windows 7 企业版镜像可能不支持自动安装),不保证系统能自动安装成功,例如 Windows XP、Windows 10、Deepin、Ubuntu 等等</p>\n"
|
||||
"<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>\n"
|
||||
"<hr />\n"
|
||||
"<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>\n"
|
||||
"<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;\">1、打开启动器,打开 Oracle VM VirtualBox 程序</span></p>\n"
|
||||
"<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;\">2、选择名字为“Windows”的虚拟机,然后在右边点击设置</span></p>\n"
|
||||
"<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 Manager_20220712223602.png\" /></p>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<hr />\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">1、支持鼠标自由从虚拟机和实体机切换</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">2、支持虚拟机根据窗口大小自动设置分辨率</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">3、支持文件共享、剪切板共享、文件拖放</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">4、支持无缝模式</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><img src=\":/picture/截图/截图_选择区域_20220712224639.png\" /></p>\n"
|
||||
"<hr />\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">1、点击“设备”=》“加强功能”</p>\n"
|
||||
"<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 Machine_20220712142929.png\" /></p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">2、打开“计算机”,找到名为“VirtualBox Guest Additions”的光盘,双击进入,然后双击打开名为“VBoxWindowsAdditions”的程序</p>\n"
|
||||
"<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 Machine_20220712143006.png\" /></p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">3、在弹出的界面点击“是”</p>\n"
|
||||
"<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 Machine_20220712143018.png\" /></p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">4、一直点“Next”</p>\n"
|
||||
"<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 Machine_20220712143029.png\" /></p>\n"
|
||||
"<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 Machine_20220712143037.png\" /></p>\n"
|
||||
"<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;\">5、全部选择,然后点击“Install”进行安装</span></p>\n"
|
||||
"<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 Machine_20220712143044.png\" /></p>\n"
|
||||
"<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;\">6、等待安装完毕后,选择“Reboot now”然后点击“Finish”重启此虚拟机即可安装成功(选择“Reboot now”并点“Finish”会自动重新启动)</span></p>\n"
|
||||
"<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 Machine_20220712143103.png\" /></p></body></html>"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "安装/使用帮助"))
|
||||
self.textBrowser_2.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:\'Noto Sans CJK SC\'; font-size:10.5pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">此为 wine 运行器附属组件(虽然违背了“Wine Is Not An Emulator”<Wine 不是一个模拟器>的原意),旨在能更加完美、简单的运行 Windows 应用</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">本程序基于 C++ Qt、Python 和 Virtualbox 制作,通过运行安装 Windows 操作系统的虚拟机实现在 Linux 运行 Windows exe 程序的功能。</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">基于 GPL V3 协议开源</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">项目地址:</p>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"> Gitee:<a href=\"https://gitee.com/gfdgd-xi/deep-wine-runner\"><span style=\" font-size:11pt; text-decoration: underline; color:#0082fa;\">https://gitee.com/gfdgd-xi/deep-wine-runner</span></a></p>\n"
|
||||
"<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>\n"
|
||||
"<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>\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">该组件制作者:gfdgd xi</p>\n"
|
||||
"<hr />\n"
|
||||
"<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></body></html>"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "关于"))
|
||||
self.menuVM.setTitle(_translate("MainWindow", "虚拟机"))
|
||||
self.action.setText(_translate("MainWindow", "退出"))
|
||||
self.action_2.setText(_translate("MainWindow", "关于"))
|
||||
self.addQemuDisk.setText(_translate("MainWindow", "导入/覆盖"))
|
||||
self.delQemuDisk.setText(_translate("MainWindow", "导出"))
|
||||
self.actionVMInstallLog.setText(_translate("MainWindow", "虚拟机安装日志"))
|
||||
self.actionVMRunlLog.setText(_translate("MainWindow", "虚拟机运行日志"))
|
||||
self.actionVMTest.setText(_translate("MainWindow", "虚拟机测试(X86、Qemu)"))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user