aboutsummaryrefslogtreecommitdiff
path: root/datastudio
diff options
context:
space:
mode:
authorMike Crute <crutem@amazon.com>2017-02-15 15:31:54 -0800
committerMike Crute <crutem@amazon.com>2017-02-15 15:37:30 -0800
commit773d5609fe384dc47cf6c44fbb3182374d9acdf0 (patch)
treed858be55e5a74616b89e51f41c271205ac0f5e14 /datastudio
parent77f8dd8557633ee91ef4b5e0836656971392849d (diff)
downloaddockerfiles-773d5609fe384dc47cf6c44fbb3182374d9acdf0.tar.bz2
dockerfiles-773d5609fe384dc47cf6c44fbb3182374d9acdf0.tar.xz
dockerfiles-773d5609fe384dc47cf6c44fbb3182374d9acdf0.zip
Handle display forwarding better
Diffstat (limited to 'datastudio')
-rwxr-xr-xdatastudio/run34
1 files changed, 27 insertions, 7 deletions
diff --git a/datastudio/run b/datastudio/run
index 00212fa..ec07fb9 100755
--- a/datastudio/run
+++ b/datastudio/run
@@ -1,10 +1,30 @@
1#!/bin/bash 1#!/bin/bash
2 2
3if [ -z "$DISPLAY" ]; then
4 echo "\$DISPLAY is not set"
5 DISPLAYS=( $(netstat -lnt | awk '/127.0.0.1:60/ { split($4,a,":"); print "localhost:" substr(a[2],3) ".0" }') )
6
7 if [ "${#DISPLAYS[@]}" = 0 ]; then
8 echo "No X11 ports available"
9 exit 1
10 fi
11
12 if [ "${#DISPLAYS[@]}" > 1 ]; then
13 echo "More than 1 X11 port available. Which one do you want?"
14 for i in "${DISPLAYS[@]}"; do
15 echo "export DISPLAY=\"$i\""
16 done
17 exit 1
18 else
19 export DISPLAY="${DISPLAYS[0]}"
20 fi
21fi
22
3docker run -ti --rm --net=host \ 23docker run -ti --rm --net=host \
4 -e DISPLAY=$DISPLAY \ 24 -e DISPLAY \
5 -e XAUTHORITY=/hosthome/.Xauthority \ 25 -e XAUTHORITY=$HOME/.Xauthority \
6 -v /etc/localtime:/etc/localtime:ro \ 26 -v /usr/share/zoneinfo/America/Los_Angeles:/etc/localtime:ro \
7 -v $HOME:/hosthome:ro \ 27 -v $HOME/.Xauthority:$HOME/.Xauthority:ro \
8 -v $HOME/share:$HOME/share \ 28 -v $HOME/share:$HOME/share \
9 -v $HOME/.datastudio:$HOME/.datastudio \ 29 -v $HOME/.datastudio:$HOME/.datastudio \
10 datastudio "$@" 30 datastudio "$@"