diff --git a/gui/runner.py b/gui/runner.py
index 84bc26d..8cf38f1 100644
--- a/gui/runner.py
+++ b/gui/runner.py
@@ -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)
diff --git a/gx-env-run b/gx-env-run
index 51d568a..baffb5f 100755
--- a/gx-env-run
+++ b/gx-env-run
@@ -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
\ No newline at end of file
diff --git a/gx-env-run-root b/gx-env-run-root
index 8d9e494..76ad6dd 100755
--- a/gx-env-run-root
+++ b/gx-env-run-root
@@ -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 未挂载目录,立即挂载