优化
This commit is contained in:
parent
219dc9c02e
commit
1ae38adb59
@ -1,7 +1,27 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
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)
|
||||
window = QtWidgets.QMainWindow()
|
||||
widget = QtWidgets.QWidget()
|
||||
@ -18,6 +38,7 @@ layout.addWidget(programPath, 1, 1, 1, 3)
|
||||
controlLayout = QtWidgets.QHBoxLayout()
|
||||
cancelButton = QtWidgets.QPushButton("取消")
|
||||
okButton = QtWidgets.QPushButton("确定")
|
||||
okButton.clicked.connect(RunProgram)
|
||||
controlLayout.addWidget(runProgramWithRoot)
|
||||
controlLayout.addWidget(browser)
|
||||
controlLayout.addWidget(cancelButton)
|
||||
|
@ -16,6 +16,6 @@ if [[ ! -f $chrootEnvPath/tmp/env-$USER.txt ]]; then
|
||||
fi
|
||||
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 $@
|
||||
pkexec gx-env-load-desktop
|
@ -4,6 +4,15 @@ chrootEnvPath=/opt/new-system-env
|
||||
# echo 请使用 root 权限运行
|
||||
# exit 1
|
||||
#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
|
||||
if [[ ! -f $chrootEnvPath/tmp/env-$USER.txt ]]; then
|
||||
echo 未挂载目录,立即挂载
|
||||
|
Loading…
x
Reference in New Issue
Block a user