优化
This commit is contained in:
parent
219dc9c02e
commit
1ae38adb59
@ -1,7 +1,27 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
import PyQt5.QtWidgets as QtWidgets
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
|
||||||
|
def RunProgram():
|
||||||
|
window.hide()
|
||||||
|
if os.system("which gx-env-run"):
|
||||||
|
QtWidgets.QMessageBox.critical(window, "错误", "gx-env-run 不存在!")
|
||||||
|
return
|
||||||
|
if runProgramWithRoot.isChecked():
|
||||||
|
if os.getenv("HOME") + "/.config/gx-env/bwrap":
|
||||||
|
envDist = os.environ
|
||||||
|
envSet = "DISPLAY=$DISPLAY "
|
||||||
|
for i in envDist:
|
||||||
|
envSet += "{}=${} ".format(i, i)
|
||||||
|
os.system("pkexec env " + envSet + " gx-env-run " + programPath.text())
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
os.system("gx-env-run-root " + programPath.text())
|
||||||
|
return
|
||||||
|
os.system("gx-env-run " + programPath.text())
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
app = QtWidgets.QApplication(sys.argv)
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
window = QtWidgets.QMainWindow()
|
window = QtWidgets.QMainWindow()
|
||||||
widget = QtWidgets.QWidget()
|
widget = QtWidgets.QWidget()
|
||||||
@ -18,6 +38,7 @@ layout.addWidget(programPath, 1, 1, 1, 3)
|
|||||||
controlLayout = QtWidgets.QHBoxLayout()
|
controlLayout = QtWidgets.QHBoxLayout()
|
||||||
cancelButton = QtWidgets.QPushButton("取消")
|
cancelButton = QtWidgets.QPushButton("取消")
|
||||||
okButton = QtWidgets.QPushButton("确定")
|
okButton = QtWidgets.QPushButton("确定")
|
||||||
|
okButton.clicked.connect(RunProgram)
|
||||||
controlLayout.addWidget(runProgramWithRoot)
|
controlLayout.addWidget(runProgramWithRoot)
|
||||||
controlLayout.addWidget(browser)
|
controlLayout.addWidget(browser)
|
||||||
controlLayout.addWidget(cancelButton)
|
controlLayout.addWidget(cancelButton)
|
||||||
|
@ -16,6 +16,6 @@ if [[ ! -f $chrootEnvPath/tmp/env-$USER.txt ]]; then
|
|||||||
fi
|
fi
|
||||||
command="$@"
|
command="$@"
|
||||||
#echo $command
|
#echo $command
|
||||||
pkexec env DISPLAY=$DISPLAY chroot $chrootEnvPath sudo -u $USER bash -c "$command"
|
pkexec env `printenv` chroot $chrootEnvPath sudo -u $USER bash -c "$command"
|
||||||
#echo $@
|
#echo $@
|
||||||
pkexec gx-env-load-desktop
|
pkexec gx-env-load-desktop
|
@ -4,6 +4,15 @@ chrootEnvPath=/opt/new-system-env
|
|||||||
# echo 请使用 root 权限运行
|
# echo 请使用 root 权限运行
|
||||||
# exit 1
|
# exit 1
|
||||||
#fi
|
#fi
|
||||||
|
if [[ -f ~/.config/gx-env/bwrap ]]; then
|
||||||
|
if [[ `whoami` != "root" ]]; then
|
||||||
|
echo 请使用 root 权限运行
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
bwrap --dev-bind / / --dev-bind $chrootEnvPath/etc /etc --dev-bind $chrootEnvPath/opt /opt --dev-bind $chrootEnvPath/usr /usr --dev-bind $chrootEnvPath/var /var --dev-bind $chrootEnvPath/bin /bin --dev-bind $chrootEnvPath/boot /boot --dev-bind $chrootEnvPath/lib /lib --dev-bind $chrootEnvPath/lib32 /lib32 --dev-bind $chrootEnvPath/lib64 /lib64 --dev-bind $chrootEnvPath/libx32 /libx32 --dev-bind $chrootEnvPath/gx-env /gx-env "$@"
|
||||||
|
pkexec gx-env-load-desktop
|
||||||
|
exit
|
||||||
|
fi
|
||||||
echo aa > /tmp/env-$USER.txt
|
echo aa > /tmp/env-$USER.txt
|
||||||
if [[ ! -f $chrootEnvPath/tmp/env-$USER.txt ]]; then
|
if [[ ! -f $chrootEnvPath/tmp/env-$USER.txt ]]; then
|
||||||
echo 未挂载目录,立即挂载
|
echo 未挂载目录,立即挂载
|
||||||
|
Loading…
x
Reference in New Issue
Block a user