mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-07-12 16:42:23 +08:00
修复在跨架构chroot下出现的一些问题
This commit is contained in:
parent
84f701b1d6
commit
fb0e87f81c
3
Mount.sh
3
Mount.sh
@ -41,6 +41,7 @@ if [[ $2 == "root" ]]; then
|
|||||||
else
|
else
|
||||||
mount --bind "/home/$2" "$1/home/$2"
|
mount --bind "/home/$2" "$1/home/$2"
|
||||||
fi
|
fi
|
||||||
|
# 挂载此内容以可以跨架构运行程序
|
||||||
|
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
|
||||||
# 如果参数 3 存在
|
# 如果参数 3 存在
|
||||||
"$programPath/pardus-chroot" "--userspec=$2:$2" . env "HOME=/home/$2" ${@:3}
|
"$programPath/pardus-chroot" "--userspec=$2:$2" . env "HOME=/home/$2" ${@:3}
|
||||||
|
@ -26,6 +26,7 @@ cp -r /usr/bin/qemu-*-static ./usr/bin
|
|||||||
#mount --bind /dev/shm ./dev/shm
|
#mount --bind /dev/shm ./dev/shm
|
||||||
chmod 777 -R root tmp
|
chmod 777 -R root tmp
|
||||||
xhost +
|
xhost +
|
||||||
|
# 挂载此内容以可以跨架构运行程序
|
||||||
|
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
|
||||||
# 如果参数 3 存在
|
# 如果参数 3 存在
|
||||||
"$programPath/pardus-chroot" . ${@:3}
|
"$programPath/pardus-chroot" . ${@:3}
|
||||||
|
@ -2622,12 +2622,12 @@ installWineOnDeepin23Alpha = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/
|
|||||||
installWineHQ = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ"))
|
installWineHQ = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "安装 WineHQ"))
|
||||||
installMoreWine = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/more-wine.png"), transla.transe("U", "安装更多 Wine"))
|
installMoreWine = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/more-wine.png"), transla.transe("U", "安装更多 Wine"))
|
||||||
downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/CHROOT.png"), transla.transe("U", "下载 Chroot 容器"))
|
downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/CHROOT.png"), transla.transe("U", "下载 Chroot 容器"))
|
||||||
p2 = QtWidgets.QAction(transla.transe("U", "设置程序(&S)"))
|
p2 = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), transla.transe("U", "设置程序(&S)"))
|
||||||
enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)"))
|
enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)"))
|
||||||
p3 = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), transla.transe("U", "清空软件历史记录(&C)"))
|
p3 = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), transla.transe("U", "清空软件历史记录(&C)"))
|
||||||
cleanCache = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), transla.transe("U", "清空软件缓存"))
|
cleanCache = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), transla.transe("U", "清空软件缓存"))
|
||||||
cleanProgramUnuse = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), transla.transe("U", "删除程序组件"))
|
cleanProgramUnuse = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(47), transla.transe("U", "删除程序组件"))
|
||||||
p4 = QtWidgets.QAction(transla.transe("U", "退出程序(&E)"))
|
p4 = QtWidgets.QAction(QtGui.QIcon.fromTheme("exit"), transla.transe("U", "退出程序(&E)"))
|
||||||
programmenu.addAction(p1)
|
programmenu.addAction(p1)
|
||||||
programmenu.addAction(installWineOnDeepin23)
|
programmenu.addAction(installWineOnDeepin23)
|
||||||
programmenu.addAction(installWineOnDeepin23Alpha)
|
programmenu.addAction(installWineOnDeepin23Alpha)
|
||||||
|
@ -24,12 +24,13 @@ mount -t tmpfs tmpfs "$DESTDIR/dev/shm"
|
|||||||
if [[ -d /sys/firmware/efi/ ]] ; then
|
if [[ -d /sys/firmware/efi/ ]] ; then
|
||||||
mount -t efivarfs efivarfs "$DESTDIR/sys/firmware/efi/efivars"
|
mount -t efivarfs efivarfs "$DESTDIR/sys/firmware/efi/efivars"
|
||||||
fi
|
fi
|
||||||
cat /etc/resolv.conf > $DESTDIR/etc/resolv.conf
|
#cat /etc/resolv.conf > $DESTDIR/etc/resolv.conf
|
||||||
SHELL=/bin/bash unshare --fork --pid chroot "$DESTDIR" "$@"
|
SHELL=/bin/bash unshare --fork --pid chroot "$DESTDIR" "$@"
|
||||||
|
exit
|
||||||
if [[ -d /sys/firmware/efi/ ]] ; then
|
if [[ -d /sys/firmware/efi/ ]] ; then
|
||||||
while umount "$DESTDIR/sys/firmware/efi/efivars" 2>/dev/null ; do : ;done
|
while umount "$DESTDIR/sys/firmware/efi/efivars" 2>/dev/null ; do : ;done
|
||||||
fi
|
fi
|
||||||
for dir in dev/pts dev/shm dev sys proc run media ; do
|
for dir in dev/pts dev/shm dev sys proc run media ; do
|
||||||
while umount "$DESTDIR/$dir" 2>/dev/null; do : ;done
|
while umount "$DESTDIR/$dir" 2>/dev/null; do : ;done
|
||||||
done
|
done
|
||||||
umount -lf "$DESTDIR" 2>/dev/null
|
#umount -lf "$DESTDIR" 2>/dev/null
|
||||||
|
Loading…
x
Reference in New Issue
Block a user