Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/bin/rainbow-easy
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rainbow-easy')
-rwxr-xr-xbin/rainbow-easy26
1 files changed, 26 insertions, 0 deletions
diff --git a/bin/rainbow-easy b/bin/rainbow-easy
new file mode 100755
index 0000000..b5a5c34
--- /dev/null
+++ b/bin/rainbow-easy
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+function usage() {
+ echo "sudo $0 ID /path/to/program"
+ echo "ex: sudo $0 banking /bin/bash"
+ exit 1
+}
+
+if [ -z "$1" ] || [ -z "$SUDO_USER" ]; then usage || exit 1; fi
+
+ID="$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 -i "${SUDO_USER}_${ID}" -E "DISPLAY=$DISPLAY" -E "XAUTHORITY=${XAUTHORITY:-${HOME}/.Xauthority}" -a /usr/bin/rainbow-xify -o audio -o network -- "$@"