diff --git a/DefaultSetting.py b/DefaultSetting.py index 9dd4d6e..f425dcb 100644 --- a/DefaultSetting.py +++ b/DefaultSetting.py @@ -15,6 +15,8 @@ import PyQt5.QtGui as QtGui import PyQt5.QtCore as QtCore import PyQt5.QtWidgets as QtWidgets +TMPDIR = os.getenv("TMPDIR") + # 获取用户主目录 def get_home(): return os.path.expanduser('~') @@ -208,9 +210,9 @@ class SaveLogReport(): 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"): + if os.path.exists(TMPDIR + "/tmp/wine-runner-log-icon.png"): # 转换成 base64 编码 - self.binIcon = "data:image/jpg;base64," + FileToBase64("/tmp/wine-runner-log-icon.png") + self.binIcon = "data:image/jpg;base64," + FileToBase64(TMPDIR + "/tmp/wine-runner-log-icon.png") self.binIconPath = "/tmp/wine-runner-log-icon.png" else: self.binIcon = "Not Found" @@ -317,9 +319,9 @@ class SaveLogReport(): 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) + os.system("rm -rfv $TMPDIR/tmp/wine-runner-log") + os.system("mkdir -v $TMPDIR/tmp/wine-runner-log") + self.ToHtml(TMPDIR + "/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"] @@ -332,7 +334,7 @@ class SaveLogReport(): else: lists.append(name) shutil.copy(i, f"/tmp/wine-runner-log/{name}") - os.system(f"7z a '{savePath}' /tmp/wine-runner-log") + os.system(f"7z a '{savePath}' $TMPDIR/tmp/wine-runner-log") def ToHtml(self, savePath, toZip=False): diff --git a/StartVM.sh b/StartVM.sh index 34fbf59..9dd6d2b 100755 --- a/StartVM.sh +++ b/StartVM.sh @@ -12,7 +12,7 @@ CURRENT_DIR=$(cd $(dirname $0); pwd) VBoxManage showvminfo Windows if [[ 0 == $? ]]; then # 检测到虚拟机存在,启动虚拟机 - VBoxManage startvm Windows > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1 + VBoxManage startvm Windows > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1 exit fi # 检查是否有 QEMU @@ -73,7 +73,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \ -device AC97 -device ES1370 -device intel-hda -device hda-duplex \ --boot 'splash=VM/boot.jpg,menu=on,splash-time=2000' \ - > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all + > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all exit fi # 判断系统版本以选择 Qemu @@ -102,7 +102,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then -m ${use}G -display vnc=:5 -display gtk -usb -nic model=rtl8139 $qemuUEFI \ -device AC97 -device ES1370 -device intel-hda -device hda-duplex \ --boot 'splash=VM/boot.jpg,menu=on,splash-time=2000' \ - > /tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all + > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-run.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all exit fi cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep armhf @@ -128,7 +128,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then -device usb-kbd,id=keyboard,bus=xhci.0,port=2 \ -device AC97 -device ES1370 -device intel-hda -device hda-duplex \ --boot 'splash=VM/boot.jpg,menu=on,splash-time=2000' \ - > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all + > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all exit fi $qemuMore qemu-system-arm --hda "$HOME/Qemu/Windows/Windows.qcow2" \ @@ -140,7 +140,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then -device usb-kbd,id=keyboard,bus=xhci.0,port=2 \ -device AC97 -device ES1370 -device intel-hda -device hda-duplex \ --boot 'splash=VM/boot.jpg,menu=on,splash-time=2000' \ - > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all + > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all exit fi cat ~/.config/deepin-wine-runner/QEMU-ARCH | grep aarch64 @@ -167,7 +167,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then -device usb-kbd,id=keyboard,bus=xhci.0,port=2 \ -device AC97 -device ES1370 -device intel-hda -device hda-duplex \ --boot 'splash=VM/boot.jpg,menu=on,splash-time=2000' \ - > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all + > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all exit fi $qemuMore qemu-system-aarch64 --hda "$HOME/Qemu/Windows/Windows.qcow2" \ @@ -180,7 +180,7 @@ if [[ $? == 0 ]] && [[ -f "$HOME/Qemu/Windows/Windows.qcow2" ]]; then -device usb-kbd,id=keyboard,bus=xhci.0,port=2 \ -device AC97 -device ES1370 -device intel-hda -device hda-duplex \ --boot 'splash=VM/boot.jpg,menu=on,splash-time=2000' \ - > /tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all + > $TMPDIR/tmp/windows-virtual-machine-installer-for-wine-runner-install.log 2>&1 # 最新的 qemu 已经移除参数 -soundhw all exit fi diff --git a/UpdateGeek.sh b/UpdateGeek.sh index 2ba2ca8..5b8cc51 100755 --- a/UpdateGeek.sh +++ b/UpdateGeek.sh @@ -6,15 +6,15 @@ echo ' # # #"""" #"""" #"# ' echo ' "mmm" "#mm" "#mm" # "m ' echo echo -cd /tmp +cd $TMPDIR/tmp echo 提示: echo Geek Uninstaller 官网访问较慢,所以请耐心等待 aria2c -x 16 -s 16 https://geekuninstaller.com/geek.zip unzip geek.zip cd `dirname $0` -cp -rv /tmp/geek.exe ./ +cp -rv $TMPDIR/tmp/geek.exe ./ if [[ $? == 0 ]];then exit fi echo "拷贝失败,申请使用 sudo 拷贝" -sudo cp -rv /tmp/geek.exe ./ \ No newline at end of file +sudo cp -rv $TMPDIR/tmp/geek.exe ./ \ No newline at end of file diff --git a/mainwindow-termux-loader.sh b/mainwindow-termux-loader.sh index 27155b5..90499ca 100755 --- a/mainwindow-termux-loader.sh +++ b/mainwindow-termux-loader.sh @@ -1,5 +1,6 @@ #!/data/data/com.termux/files/usr/bin/bash -CURRENT_DIR=$(cd $(dirname $0); pwd) +CURRENT_DIR=$(dirname $(readlink -f "$0")) + if [[ $DISPLAY == "" ]] && [[ $WAYLAND_DISPLAY == "" ]]; then # 自动配置 NoVNC export DISPLAY=:5 diff --git a/mainwindow.py b/mainwindow.py index cc320af..22899f6 100755 --- a/mainwindow.py +++ b/mainwindow.py @@ -62,6 +62,8 @@ if sys.version_info[0] < 3: if sys.version_info[1] < 6: PythonLower() +TMPDIR = os.getenv("TMPDIR") + ################### # 程序所需事件 ################### @@ -1273,9 +1275,9 @@ class UpdateWindow(): UpdateWindow.update.show() def Update(): - if os.path.exists("/tmp/spark-deepin-wine-runner/update"): - shutil.rmtree("/tmp/spark-deepin-wine-runner/update") - os.makedirs("/tmp/spark-deepin-wine-runner/update") + if os.path.exists(TMPDIR + "/tmp/spark-deepin-wine-runner/update"): + shutil.rmtree(TMPDIR + "/tmp/spark-deepin-wine-runner/update") + os.makedirs(TMPDIR + "/tmp/spark-deepin-wine-runner/update") unPackageNew = False isArch = False isFedora = False @@ -1291,69 +1293,69 @@ class UpdateWindow(): print(UpdateWindow.data["Url"]) if os.path.exists(f"{programPath}/off-line.lock") or programPath != "/opt/apps/deepin-wine-runner" or unPackageNew: # 使用解压法更新 - write_txt("/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash + write_txt(TMPDIR + "/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash echo 删除多余的安装包 -rm -rfv /tmp/spark-deepin-wine-runner/update/* +rm -rfv $TMPDIR/tmp/spark-deepin-wine-runner/update/* echo 关闭“Wine 运行器” python3 "{programPath}/updatekiller.py" echo 下载安装包 -wget -P /tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url"][0]} +wget -P $TMPDIR/tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url"][0]} echo 安装安装包 -cd /tmp/spark-deepin-wine-runner/update +cd $TMPDIR/tmp/spark-deepin-wine-runner/update 7z x *.deb 7z x data.tar cp opt/apps/deepin-wine-runner/* "{programPath}" -rv notify-send -i "{iconPath}" "更新完毕!" zenity --info --text=\"更新完毕!\" --ellipsize """) - OpenTerminal("bash /tmp/spark-deepin-wine-runner/update.sh") + OpenTerminal("bash $TMPDIR/tmp/spark-deepin-wine-runner/update.sh") return else: if isArch: # 使用 pacman 安装更新 - write_txt("/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash + write_txt(TMPDIR + "/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash echo 删除多余的安装包 -rm -rfv /tmp/spark-deepin-wine-runner/update/* +rm -rfv $TMPDIR/tmp/spark-deepin-wine-runner/update/* echo 关闭“Wine 运行器” python3 "{programPath}/updatekiller.py" echo 下载安装包 -wget -P /tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url-pkg"][0]} +wget -P $TMPDIR/tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url-pkg"][0]} echo 安装安装包 -pacman -U /tmp/spark-deepin-wine-runner/update/* --noconfirm +pacman -U $TMPDIR/tmp/spark-deepin-wine-runner/update/* --noconfirm notify-send -i "{iconPath}" "更新完毕!" zenity --info --text=\"更新完毕!\" --ellipsize """) elif isFedora: # 使用 yum 安装更新 - write_txt("/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash + write_txt(TMPDIR + "/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash echo 删除多余的安装包 -rm -rfv /tmp/spark-deepin-wine-runner/update/* +rm -rfv $TMPDIR/tmp/spark-deepin-wine-runner/update/* echo 关闭“Wine 运行器” python3 "{programPath}/updatekiller.py" echo 下载安装包 -wget -O /tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm {UpdateWindow.data["Url-rpm"][0]} +wget -O $TMPDIR/tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm {UpdateWindow.data["Url-rpm"][0]} echo 安装安装包 -yum reinstall /tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm -y +yum reinstall $TMPDIR/tmp/spark-deepin-wine-runner/update/spark-deepin-wine-runner.rpm -y notify-send -i "{iconPath}" "更新完毕!" zenity --info --text=\"更新完毕!\" --ellipsize """) else: # 使用 deb 安装更新 - write_txt("/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash + write_txt(TMPDIR + "/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash echo 删除多余的安装包 -rm -rfv /tmp/spark-deepin-wine-runner/update/* +rm -rfv $TMPDIR/tmp/spark-deepin-wine-runner/update/* echo 关闭“Wine 运行器” python3 "{programPath}/updatekiller.py" echo 下载安装包 -wget -P /tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url"][0]} +wget -P $TMPDIR/tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url"][0]} echo 安装安装包 -dpkg -i /tmp/spark-deepin-wine-runner/update/* +dpkg -i $TMPDIR/tmp/spark-deepin-wine-runner/update/* echo 修复依赖关系 apt install -f -y notify-send -i "{iconPath}" "更新完毕!" zenity --info --text=\"更新完毕!\" --ellipsize """) - OpenTerminal("pkexec bash /tmp/spark-deepin-wine-runner/update.sh") + OpenTerminal("pkexec bash $TMPDIR/tmp/spark-deepin-wine-runner/update.sh") except: traceback.print_exc() QtWidgets.QMessageBox.critical(None, "出现错误,无法继续更新", traceback.format_exc()) @@ -1472,29 +1474,29 @@ class GetDllFromWindowsISO: # 显示所有内容 # 下面内容需要分类讨论 if GetDllFromWindowsISO.arch == 0: - for i in os.listdir("/tmp/wine-runner-getdll/i386"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll/i386"): if i[-3:] == "dl_": findList.append(i[:-1] + "l") elif GetDllFromWindowsISO.arch == 32: - for i in os.listdir("/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): if i[-3:] == "dll": findList.append(i[:-1] + "l") elif GetDllFromWindowsISO.arch == 64: - for i in os.listdir("/tmp/wine-runner-getdll-wim/Windows/System32"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/System32"): if i[-3:] == "dll": findList.append(i[:-1] + "l") GetDllFromWindowsISO.dllListModel.setStringList(findList) return if GetDllFromWindowsISO.arch == 0: - for i in os.listdir("/tmp/wine-runner-getdll/i386"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll/i386"): if found in i[:-1] + "l": findList.append(i[:-1] + "l") elif GetDllFromWindowsISO.arch == 32: - for i in os.listdir("/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): if found in i[:-1] + "l": findList.append(i[:-1] + "l") elif GetDllFromWindowsISO.arch == 64: - for i in os.listdir("/tmp/wine-runner-getdll-wim/Windows/System32"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/System32"): if found in i[:-1] + "l": findList.append(i[:-1] + "l") if len(isoPath) == 0: @@ -1513,27 +1515,27 @@ class GetDllFromWindowsISO: if not os.path.exists(GetDllFromWindowsISO.isoPath.currentText()): QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, transla.trans("错误"), transla.trans("您选择的 ISO 镜像文件不存在")) return - if os.path.exists("/tmp/wine-runner-getdll"): + if os.path.exists(TMPDIR + "/tmp/wine-runner-getdll"): try: - os.rmdir("/tmp/wine-runner-getdll") - os.system("rm -rf /tmp/wine-runner-getdll-wim") + os.rmdir(TMPDIR + "/tmp/wine-runner-getdll") + os.system("rm -rf $TMPDIR/tmp/wine-runner-getdll-wim") except: # 如果无法删除可能是挂载了文件 - os.system("wimunmount /tmp/wine-runner-getdll-wim") - os.system("pkexec umount /tmp/wine-runner-getdll") + os.system("wimunmount $TMPDIR/tmp/wine-runner-getdll-wim") + os.system("pkexec umount $TMPDIR/tmp/wine-runner-getdll") try: - os.rmdir("/tmp/wine-runner-getdll") - os.rmdir("/tmp/wine-runner-getdll-wim") + os.rmdir(TMPDIR + "/tmp/wine-runner-getdll") + os.rmdir(TMPDIR + "/tmp/wine-runner-getdll-wim") except: traceback.print_exc() QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, "错误", traceback.format_exc()) return - os.makedirs("/tmp/wine-runner-getdll") - os.system(f"pkexec mount '{GetDllFromWindowsISO.isoPath.currentText()}' /tmp/wine-runner-getdll") + os.makedirs(TMPDIR + "/tmp/wine-runner-getdll") + os.system(f"pkexec mount '{GetDllFromWindowsISO.isoPath.currentText()}' $TMPDIR/tmp/wine-runner-getdll") findList = [] # 判断是新版的 Windows ISO(Windows Vista 及以上版本) - if os.path.exists("/tmp/wine-runner-getdll/sources/install.wim"): + if os.path.exists(TMPDIR + "/tmp/wine-runner-getdll/sources/install.wim"): # 如果没有安装 wimtools 的话 if os.system("which wimmount") != 0: QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, "错误", f"镜像内容读取/挂载失败,因为没有安装 wimtools 以至无法读取") @@ -1544,14 +1546,14 @@ class GetDllFromWindowsISO: choose = QtWidgets.QInputDialog.getInt(GetDllFromWindowsISO.message, "提示", "请输入 Index") if not choose[1]: return - os.makedirs("/tmp/wine-runner-getdll-wim") - os.system(f"wimmount /tmp/wine-runner-getdll/sources/install.wim {choose[0]} /tmp/wine-runner-getdll-wim") - if os.path.exists("/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): + os.makedirs(TMPDIR + "/tmp/wine-runner-getdll-wim") + os.system(f"wimmount $TMPDIR/tmp/wine-runner-getdll/sources/install.wim {choose[0]} $TMPDIR/tmp/wine-runner-getdll-wim") + if os.path.exists(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): # 如果是 64 位镜像 if QtWidgets.QInputDialog.getItem(GetDllFromWindowsISO.message, "选择位数", "选择位数(如果没有选择,默认为 64 位)", ["32", "64"], 1, False) == "32": # 64 位镜像的 32 位是存在 SysWOW64 的 try: - for i in os.listdir("/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/SysWOW64"): if i[-3:] == "dll": findList.append(i[:-1] + "l") GetDllFromWindowsISO.dllListModel.setStringList(findList) @@ -1570,7 +1572,7 @@ class GetDllFromWindowsISO: QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, "错误", f"镜像内容读取/挂载失败,报错如下:\n{traceback.format_exc()}") return try: - for i in os.listdir("/tmp/wine-runner-getdll-wim/Windows/System32"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll-wim/Windows/System32"): if i[-3:] == "dll": findList.append(i[:-1] + "l") GetDllFromWindowsISO.arch = 64 @@ -1581,7 +1583,7 @@ class GetDllFromWindowsISO: GetDllFromWindowsISO.dllListModel.setStringList(findList) else: try: - for i in os.listdir("/tmp/wine-runner-getdll/i386"): + for i in os.listdir(TMPDIR + "/tmp/wine-runner-getdll/i386"): if i[-3:] == "dl_": findList.append(i[:-1] + "l") GetDllFromWindowsISO.arch = 0 @@ -1601,11 +1603,11 @@ class GetDllFromWindowsISO: #GetDllFromWindowsISO.isoPath['value'] = isoPath def UmountDisk(): - os.system("wimunmount /tmp/wine-runner-getdll-wim") - os.system("pkexec umount /tmp/wine-runner-getdll") + os.system("wimunmount $TMPDIR/tmp/wine-runner-getdll-wim") + os.system("pkexec umount $TMPDIR/tmp/wine-runner-getdll") try: - shutil.rmtree("/tmp/wine-runner-getdll") - os.system("rm -rf /tmp/wine-runner-getdll-wim") + shutil.rmtree(TMPDIR + "/tmp/wine-runner-getdll") + os.system("rm -rf $TMPDIR/tmp/wine-runner-getdll-wim") except: traceback.print_exc() QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, QtCore.QCoreApplication.translate("U", "错误"), f"关闭/卸载镜像失败,报错如下:\n{traceback.format_exc()}") @@ -1623,11 +1625,11 @@ class GetDllFromWindowsISO: try: # 要分类讨论 if GetDllFromWindowsISO.arch == 0: - shutil.copy(f"/tmp/wine-runner-getdll/i386/{choose[:-1]}_", f"{GetDllFromWindowsISO.wineBottonPath}/drive_c/windows/system32/{choose}") + shutil.copy(TMPDIR + f"/tmp/wine-runner-getdll/i386/{choose[:-1]}_", f"{GetDllFromWindowsISO.wineBottonPath}/drive_c/windows/system32/{choose}") elif GetDllFromWindowsISO.arch == 32: - shutil.copy(f"/tmp/wine-runner-getdll-wim/Windows/SysWOW64/{choose[:-1]}l", f"{GetDllFromWindowsISO.wineBottonPath}/drive_c/windows/system32/{choose}") + shutil.copy(TMPDIR + f"/tmp/wine-runner-getdll-wim/Windows/SysWOW64/{choose[:-1]}l", f"{GetDllFromWindowsISO.wineBottonPath}/drive_c/windows/system32/{choose}") elif GetDllFromWindowsISO.arch == 64: - shutil.copy(f"/tmp/wine-runner-getdll-wim/Windows/System32/{choose[:-1]}l", f"{GetDllFromWindowsISO.wineBottonPath}/drive_c/windows/system32/{choose}") + shutil.copy(TMPDIR + f"/tmp/wine-runner-getdll-wim/Windows/System32/{choose[:-1]}l", f"{GetDllFromWindowsISO.wineBottonPath}/drive_c/windows/system32/{choose}") # 选择原装或优于内建 if QtWidgets.QInputDialog.getItem(GetDllFromWindowsISO.message, "选择", "选择模式", ["原装先于内建", "原装"], 0, False) == "原装先于内建": # 原装先于内建 @@ -2593,13 +2595,13 @@ for i in iconListUnBuild: print(iconList) # Qemu Lock try: - if os.path.exists("/tmp/deepin-wine-runner-lock.txt"): + if os.path.exists(TMPDIR + "/tmp/deepin-wine-runner-lock.txt"): print("lock") - with open(f"/tmp/deepin-wine-runner-lock.txt", "r") as file: + with open(TMPDIR + f"/tmp/deepin-wine-runner-lock.txt", "r") as file: setting["QemuUnMountHome"] = bool(int(file.read())) else: print("unlock") - with open(f"/tmp/deepin-wine-runner-lock.txt", "w") as file: + with open(TMPDIR + f"/tmp/deepin-wine-runner-lock.txt", "w") as file: # = bool(int(file.read())) file.write(str(int(setting["QemuUnMountHome"]))) except: diff --git a/updatekiller.py b/updatekiller.py index 13c8022..1eb419b 100755 --- a/updatekiller.py +++ b/updatekiller.py @@ -3,7 +3,7 @@ import sys import os import atexit -PIDFILE = '/tmp/deepin-wine-runner.pid' +PIDFILE = os.getenv() + '/tmp/deepin-wine-runner.pid' #程序结束时清理pid @atexit.register