Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/bin/rainbow-resume
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rainbow-resume')
-rwxr-xr-xbin/rainbow-resume26
1 files changed, 26 insertions, 0 deletions
diff --git a/bin/rainbow-resume b/bin/rainbow-resume
new file mode 100755
index 0000000..2af756f
--- /dev/null
+++ b/bin/rainbow-resume
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+function usage() {
+ echo "sudo $0 RESUME_UID /path/to/program"
+ echo "ex: sudo $0 banking /bin/bash"
+ exit 1
+}
+
+if [ -z "$1" ] || [ -z "$SUDO_USER" ]; then usage || exit 1; fi
+
+RESUME_UID="$1"; shift
+
+if [ -z "$DISPLAY" ]; then
+ DISPLAY=`python <<EOF
+import os
+from os.path import join
+
+ppid = os.getppid()
+env = open(join('/proc', str(ppid),'environ')).read().split('\0')
+for kv in env:
+ if kv.startswith("DISPLAY="):
+ print kv[len("DISPLAY="):]
+EOF`
+fi
+
+exec rainbow-run -s /var/spool/rainbow/2 -u "$SUDO_USER" -c "`pwd`" -f 0 -f 1 -f 2 -E "DISPLAY=$DISPLAY" -E "XAUTHORITY=$XAUTHORITY" -a /usr/bin/rainbow-xify -o audio -o network -r "$RESUME_UID" -- "$@"