Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/message.log <==
- x11docker[606.44]: ps can watch root processes: yes
- x11docker[606.48]: Image name: erichough/kodi
- Image command:
- x11docker WARNING: User docker is member of group docker.
- That allows unprivileged processes on host to gain root privileges.
- x11docker[607.29]:
- x11docker version: 6.0.0-beta
- docker version: Docker version 18.09.6, build
- Host system: void
- Command: '/bin/x11docker' '--wayland' '--tty' '--gpu' '--alsa' '--homedir' '/home/docker' 'erichough/kodi'
- Parsed options: --wayland --tty --gpu --alsa '' --homedir '/home/docker' -- 'erichough/kodi'
- x11docker[607.30]: Dependency check for --tty: 0
- x11docker[607.31]: Dependency check for --tty: 0
- x11docker[607.32]: Dependency check for --tty: 0
- x11docker[607.33]: Using X server option --tty
- x11docker[607.34]: Option --tty: Setting LINES and COLUMNS to terminal size.
- x11docker WARNING: Option --gpu degrades container isolation.
- Container gains access to GPU hardware.
- This allows reading host window content (palinopsia leak)
- and GPU rootkits (compare proof of concept: jellyfish).
- x11docker[607.44]: Sharing directory /home/docker
- with container as its home directory /home/docker
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/container.log <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/share/stdout <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/share/stderr <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/share/journalctl.log <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/xpraserver.log <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/xpraclient.log <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/xinit.log <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/compositor.log <==
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/message.log <==
- x11docker[607.45]: Stored background pid 3180 of tailstdout
- x11docker[607.46]: Stored background pid 3188 of tailstderr
- x11docker[607.46]: Waiting for file content in /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid
- x11docker[607.51]: Stored background pid 3200 of watchpidlist
- x11docker[607.52]: Stored background pid 3204 of watchmessagefifo
- x11docker[607.53]: Virtual screen size:
- x11docker[607.55]: Physical screen size:
- x11docker[607.59]: Waiting since 0s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[607.60]: Detected host window manager: (none)
- x11docker WARNING: ALSA sound with option --alsa degrades container isolation.
- Shares device files in /dev/snd, container gains access to sound hardware.
- Container applications can catch audio output and microphone input.
- x11docker[607.82]: Waiting since 0s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[607.87]: New X environment:
- DISPLAY= XAUTHORITY= WAYLAND_DISPLAY= XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE=wayland GDK_BACKEND=wayland QT_QPA_PLATFORM=wayland CLUTTER_BACKEND=wayland SDL_VIDEODRIVER=wayland ELM_DISPLAY=wl ELM_ACCEL=opengl ECORE_EVAS_ENGINE=wayland_egl X11DOCKER_CACHE=/home/docker/.cache/x11docker/erichough-kodi-931691
- x11docker[608.04]: Users and terminal:
- x11docker was started by: docker
- As host user serves (running X, storing cache): docker
- Container user will be: docker
- Container user password: x11docker
- Getting permission to run docker with: bash -c
- Running X and other user commands with: bash -c
- Terminal for password frontend: bash -c
- Running on console: yes
- Running over SSH: no
- x11docker[608.06]: Found tini binary: /usr/bin/docker-init
- x11docker[608.16]: Waiting since 0s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[608.59]: Waiting since 1s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker WARNING: Sharing device file: /dev/dri
- x11docker WARNING: Sharing device file: /dev/vga_arbiter
- x11docker WARNING: Sharing device file: /dev/snd
- x11docker[609.12]: Waiting since 1s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[609.13]: Generated docker command:
- docker run --tty --rm --detach \
- --name x11docker_X100_931691_erichough-kodi \
- --user 1000:1000 \
- --env USER=docker \
- --userns host \
- --group-add 13 \
- --group-add 12 \
- --cap-drop ALL \
- --security-opt no-new-privileges \
- --security-opt label=type:container_runtime_t \
- --volume '/usr/bin/docker-init':'/x11docker/tini':ro \
- --tmpfs /run --tmpfs /run/lock \
- --volume '/home/docker/.cache/x11docker/erichough-kodi-931691/share':'/x11docker':rw \
- --volume '/home/docker':'/home/docker':rw \
- --volume '/dev/dri':'/dev/dri':rw \
- --device '/dev/dri':'/dev/dri':rw \
- --volume '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- --device '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- --volume '/dev/snd':'/dev/snd':rw \
- --device '/dev/snd':'/dev/snd':rw \
- --volume '/run/user/1000/':'/':rw \
- --workdir '/tmp' \
- --entrypoint env \
- --env 'container=docker' \
- --env 'XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR' \
- --env 'WAYLAND_DISPLAY=' \
- --env 'COLUMNS=128' \
- --env 'LINES=56' \
- -- erichough/kodi /bin/sh - /x11docker/container.CMD.sh
- x11docker[609.34]: Generated dockerrc:
- 1 #! /usr/bin/env bash
- 2 mkfile ()
- 3 {
- 4 : > "${1:-}" || return 1;
- 5 chown $Hostuser "${1:-}" || return 1;
- 6 chgrp $Hostusergid "${1:-}" || return 1;
- 7 chmod 644 "${1:-}" || return 1;
- 8 [ -n "${2:-}" ] && {
- 9 chmod ${2:-} "${1:-}" || return 1
- 10 };
- 11 return 0
- 12 }
- 13 rocknroll ()
- 14 {
- 15 [ -s "$Timetosaygoodbye" ] && return 1;
- 16 [ -e "$Timetosaygoodbye" ] || return 1;
- 17 return 0
- 18 }
- 19 checkpid ()
- 20 {
- 21 [ -e "/proc/${1:-NONSENSE}" ]
- 22 }
- 23 waitforfilecreation ()
- 24 {
- 25 local Zeit= Warten= Dauer= Count=;
- 26 Zeit=$(date +%s);
- 27 verbose -d "Waiting for file creation of ${1:-}";
- 28 case ${2:-} in
- 29 "")
- 30 Warten=15
- 31 ;;
- 32 infinity | inf)
- 33 Warten=32000
- 34 ;;
- 35 *)
- 36 Warten=${2:-}
- 37 ;;
- 38 esac;
- 39 while [ ! "$(find "${1:-}" 2>/dev/null)" ]; do
- 40 Count=$(( Count + 1 ));
- 41 Dauer=$(( $(date +%s) - $Zeit ));
- 42 sleep $(awk "BEGIN { print $Count * 0.1 }");
- 43 [ $Warten -lt $Dauer ] && {
- 44 warning "Failed to wait for file creation of
- 45 ${1:-}";
- 46 return 1
- 47 };
- 48 verbose "Waiting since ${Dauer}s for ${1:-} to be created, will wait up to $Warten seconds.";
- 49 rocknroll || {
- 50 verbose -d "Stopped waiting for ${1:-} due to terminating signal.";
- 51 return 1
- 52 };
- 53 done;
- 54 verbose "Found new created file $(ls ${1:-})";
- 55 return 0
- 56 }
- 57 askyesno ()
- 58 {
- 59 read -t60 -n1 -p "(timeout after 60s assuming no) [Y|n]" Choice;
- 60 [ "$?" = '0' ] && {
- 61 [[ "$Choice" == [YyJj]* ]] || [ -z "$Choice" ] && return 0
- 62 };
- 63 return 1
- 64 }
- 65 escapestring ()
- 66 {
- 67 echo "${1:-}" | LC_ALL=C sed -e 's/[^a-zA-Z0-9,._+@=:/-]/\\&/g; 1{$s/^$/""/}; 1!s/^/"/; $!s/$/"/'
- 68 }
- 69 rmcr ()
- 70 {
- 71 case "${1:-}" in
- 72 "")
- 73 sed "s/$(printf "\r")//g"
- 74 ;;
- 75 *)
- 76 sed -i "s/$(printf "\r")//g" "${1:-}"
- 77 ;;
- 78 esac
- 79 }
- 80 storepid ()
- 81 {
- 82 echo ${1:-} ${2:-} >> $Bgpidfile;
- 83 verbose -d "Stored background pid ${1:-} of ${2:-}" 2> /dev/null;
- 84 disown ${1:-} 2> /dev/null || :
- 85 }
- 86 Hostuser='docker'
- 87 Hostusergid='1000'
- 88 Timetosaygoodbye='/home/docker/.cache/x11docker/erichough-kodi-931691/share/timetosaygoodbye'
- 89 export Bgpidfile='/home/docker/.cache/x11docker/erichough-kodi-931691/backgroundpids'
- 90 PATH='/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/games:/usr/local/bin:/usr/sbin:/sbin'
- 91
- 92 warning() {
- 93 echo "$*:WARNING" >>$Messagefile
- 94 }
- 95 note() {
- 96 echo "$*:NOTE" >>$Messagefile
- 97 }
- 98 verbose() {
- 99 echo "$*:VERBOSE" >>$Messagefile
- 100 }
- 101 debugnote() {
- 102 echo "$*:DEBUGNOTE" >>$Messagefile
- 103 }
- 104 error() {
- 105 echo "$*:ERROR" >>$Messagefile
- 106 exit 1
- 107 }
- 108 stdout() {
- 109 echo "$*:STDOUT" >>$Messagefile
- 110 }
- 111 Messagefile='/home/docker/.cache/x11docker/erichough-kodi-931691/share/message.fifo'
- 112
- 113 verbose -d 'Running dockerrc'
- 114 Imagename="erichough/kodi"
- 115 Imagecommand=""
- 116
- 117 # check whether docker daemon is running, get docker info
- 118 docker info >>/home/docker/.cache/x11docker/erichough-kodi-931691/docker.info 2>>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log || {
- 119 error "Calling docker daemon failed.
- 120 Is docker daemon running at all?
- 121 Try to start docker daemon with: systemctl start docker
- 122 Last lines of log:
- 123 $(rmcr < '/home/docker/.cache/x11docker/erichough-kodi-931691/container.log' | tail)"
- 124 }
- 125
- 126 Runtime=$(grep 'Default Runtime' < '/home/docker/.cache/x11docker/erichough-kodi-931691/docker.info' | awk '{print $3}')
- 127 verbose -d "Found default runtime: $Runtime"
- 128 case $Runtime in
- 129 kata-runtime)
- 130 [ "$Runtime" != '' ] && {
- 131 warning 'Found default docker runtime kata-runtime.
- 132 Please run x11docker with --runtime=kata-runtime to avoid issues.'
- 133 }
- 134 ;;
- 135 nvidia)
- 136 [ "$Runtime" != '' ] && [ 'yes' = 'yes' ] && {
- 137 warning 'Option --gpu: Found default docker runtime nvidia.
- 138 Please run x11docker with --runtime=nvidia to avoid issues.'
- 139 }
- 140 ;;
- 141 esac
- 142 # refresh images.list for x11docker-gui
- 143 mkfile /home/docker/.cache/x11docker/x11docker-gui/images.list
- 144 docker images 2>>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log | grep -v REPOSITORY | awk '{print $1 ":" $2}' >>/home/docker/.cache/x11docker/erichough-kodi-931691/images.list
- 145 rmcr /home/docker/.cache/x11docker/erichough-kodi-931691/images.list
- 146 while read -r Line ; do
- 147 grep -q "<none>" <<<$Line || echo $Line >> /home/docker/.cache/x11docker/x11docker-gui/images.list
- 148 done < <(sort < /home/docker/.cache/x11docker/erichough-kodi-931691/images.list)
- 149
- 150 Dockerpull=no
- 151 docker inspect erichough/kodi >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log 2>&1 || {
- 152 echo 'Image erichough/kodi not found locally.'
- 153 echo 'Do you want to pull it from docker hub?'
- 154 askyesno && Dockerpull=yes
- 155 }
- 156 [ "$Dockerpull" = 'yes' ] && {
- 157 note 'Pulling image erichough/kodi from docker hub'
- 158 env DISPLAY='' DBUS_SESSION_BUS_ADDRESS='' su 'docker' -c "notify-send 'x11docker: Pulling image erichough/kodi from docker hub'" 2>/dev/null
- 159 docker pull erichough/kodi 1>&2
- 160 }
- 161 docker inspect erichough/kodi >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log 2>&1 || {
- 162 error 'Did not find image erichough/kodi.
- 163 Please build image first or pull it from docker hub with:
- 164
- 165 docker pull erichough/kodi
- 166
- 167 or run x11docker with option --pull=yes'
- 168 }
- 169 # check CMD
- 170 [ -z "$Imagecommand" ] && {
- 171 # extract image command from image if not given on cli
- 172 Imagecommand="$(docker inspect --format='{{.Config.Cmd}}' erichough/kodi | rmcr)"
- 173 Imagecommand="${Imagecommand#[}"
- 174 Imagecommand="${Imagecommand%]}"
- 175 Imagecommand="${Imagecommand#/bin/sh -c }"
- 176 echo "$Imagecommand" | grep -q /x11docker/container.CMD.sh && error 'Recursion error: Found CMD /x11docker/container.CMD.sh in image.
- 177 Did you use docker commit with an x11docker container?
- 178 Please build new images with a Dockerfile instead of using docker commit,
- 179 or provide a different image command.'
- 180 }
- 181 # check USER
- 182 Imageuser=$(docker inspect --format '{{.Config.User}}' erichough/kodi | rmcr)
- 183 [ "$Imageuser" ] && note "Found 'USER $Imageuser' in image.
- 184 If you want to run with user $Imageuser instead of host user docker,
- 185 than run with --user=RETAIN."
- 186 echo docker >> /home/docker/.cache/x11docker/erichough-kodi-931691/share/container.user
- 187 Tini="/x11docker/tini --"
- 188 # check ENTRYPOINT
- 189 Entrypoint=$(docker inspect --format='{{.Config.Entrypoint}}' erichough/kodi | rmcr)
- 190 Entrypoint=${Entrypoint#[}
- 191 Entrypoint=${Entrypoint#/bin/sh -c }
- 192 Entrypoint=${Entrypoint%]}
- 193 echo "$Entrypoint" | grep -qE 'tini|init|systemd' && {
- 194 note "There seems to be an init system in ENTRYPOINT of image:
- 195 $Entrypoint
- 196 x11docker will run this instead of tini from host.
- 197 You can disable this ENTRYPOINT with option --no-entrypoint."
- 198 Tini=
- 199 }
- 200
- 201 [ -z "$Imagecommand$Entrypoint" ] && error 'No image command specified and no CMD or ENTRYPOINT found in image.' && exit 1
- 202
- 203 # create container.CMD.sh (shared with container and given as image command to docker run)
- 204 { echo '#! /bin/sh'
- 205 echo '# created startscript for docker run: container.CMD.sh'
- 206 echo '# runs as unprivileged user in container'
- 207 echo 'calculate() {'
- 208 echo ' LC_ALL=C printf %.3f\\n "$((10**9 * $@))e-9"'
- 209 echo '}'
- 210 echo '
- 211 warning() {
- 212 echo "$*:WARNING" >>$Messagefile
- 213 }
- 214 note() {
- 215 echo "$*:NOTE" >>$Messagefile
- 216 }
- 217 verbose() {
- 218 echo "$*:VERBOSE" >>$Messagefile
- 219 }
- 220 debugnote() {
- 221 echo "$*:DEBUGNOTE" >>$Messagefile
- 222 }
- 223 error() {
- 224 echo "$*:ERROR" >>$Messagefile
- 225 exit 1
- 226 }
- 227 stdout() {
- 228 echo "$*:STDOUT" >>$Messagefile
- 229 }'
- 230 echo 'Messagefile=/x11docker/message.fifo'
- 231 echo ''
- 232 echo '# wait for container setup script do be ready'
- 233 echo 'for Count in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50; do'
- 234 echo ' verbose "Waiting since ${Count}s for container root setup to be ready"'
- 235 echo ' [ -e /x11docker.setupready ] && break || sleep 1'
- 236 echo 'done'
- 237 echo ''
- 238 echo 'verbose -d "Running unprivileged user commands in container"'
- 239 echo ''
- 240 echo Imagecommand="\"$Imagecommand\""
- 241 echo Entrypoint="\"$Entrypoint\""
- 242 echo ''
- 243 echo 'verbose "Container system:'
- 244 echo '$(cat /etc/os-release 2>&1)"'
- 245 echo ''
- 246 } >> /home/docker/.cache/x11docker/erichough-kodi-931691/share/container.CMD.sh
- 247 {
- 248 echo ''
- 249 echo '# x11docker variable settings'
- 250 echo 'Containeruser="$(cat /x11docker/container.user)"'
- 251 echo 'Containeruserhome="/home/docker"'
- 252 echo 'export USER="$Containeruser"'
- 253 echo 'export HOME="$Containeruserhome"'
- 254 echo '# Copy files from /etc/skel into empty HOME'
- 255 echo '[ -d /etc/skel ] && [ "$(ls -A "/home/docker" 2>/dev/null)" ] && {'
- 256 echo ' cp -n -R /etc/skel/. $Containeruserhome'
- 257 echo '}'
- 258 echo '[ -e /x11docker/pulsecookie ] && {'
- 259 echo 'mkdir -p "$Containeruserhome/.config/pulse"'
- 260 echo 'cp "/x11docker/pulsecookie" "$Containeruserhome/.config/pulse/cookie"'
- 261 echo '}'
- 262 echo 'unset DISPLAY WAYLAND_DISPLAY XAUTHORITY'
- 263 echo 'command -v dbus-run-session >/dev/null && Dbus=dbus-run-session || note "Option --dbus: dbus seems to be not installed.
- 264 Cannot run a DBus user session. Please install dbus in image."'
- 265 echo 'Exec=exec'
- 266 echo 'export NO_AT_BRIDGE=1'
- 267 echo ''
- 268 echo "[ -e \"\$XDG_RUNTIME_DIR\" ] || {"
- 269 echo ' export XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR'
- 270 echo ' mkdir -m 700 -p $XDG_RUNTIME_DIR'
- 271 echo ' export XDG_RUNTIME_DIR'
- 272 echo '}'
- 273 echo ''
- 274 echo '# Wayland environment'
- 275 echo 'export WAYLAND_DISPLAY='
- 276 echo 'ln -s / $XDG_RUNTIME_DIR/'
- 277 echo ''
- 278 echo 'export XDG_SESSION_TYPE=wayland'
- 279 echo 'export GDK_BACKEND=wayland'
- 280 echo 'export QT_QPA_PLATFORM=wayland'
- 281 echo 'export CLUTTER_BACKEND=wayland'
- 282 echo 'export SDL_VIDEODRIVER=wayland'
- 283 echo 'export ELM_DISPLAY=wl'
- 284 echo 'export ELM_ACCEL=opengl'
- 285 echo 'export ECORE_EVAS_ENGINE=wayland_egl'
- 286 echo ''
- 287 echo ''
- 288 echo '# xpra environment settings'
- 289 echo 'export UBUNTU_MENUPROXY= QT_X11_NO_NATIVE_MENUBAR=1 MWNOCAPTURE=true MWNO_RIT=true MWWM=allwm'
- 290 echo 'export XPRA_XSHM=0'
- 291 echo ''
- 292 echo 'bash --version >/dev/null 2>&1 && export SHELL=/bin/bash || export SHELL=/bin/sh'
- 293 echo 'export TERM=xterm'
- 294 echo '[ -e /x11docker.LANG ] && export LANG="$(cat /x11docker.LANG)"'
- 295 echo '[ -e "/usr/share/zoneinfo/Europe/Moscow" ] || export TZ=UTC-03'
- 296 echo '[ "$(date -Ihours)" != "2019-06-17T11+03:00" ] && export TZ=UTC-03'
- 297 echo '[ "$DEBIAN_FRONTEND" = noninteractive ] && unset DEBIAN_FRONTEND'
- 298 echo '[ "$DEBIAN_FRONTEND" = newt ] && unset DEBIAN_FRONTEND'
- 299 echo '# container environment (--env)'
- 300 echo 'export "container=docker"'
- 301 echo 'export "XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR"'
- 302 echo 'export "WAYLAND_DISPLAY="'
- 303 echo 'export "COLUMNS=128"'
- 304 echo 'export "LINES=56"'
- 305 echo ''
- 306 echo 'env >> /x11docker/environment'
- 307 echo 'verbose "Container environment:'
- 308 echo '$(env | sort)"'
- 309 echo 'verbose "Copy of environment stored in /x11docker/environment"'
- 310 echo ''
- 311 echo 'cd "$HOME"'
- 312 Workdir=$(docker inspect --format='{{.Config.WorkingDir}}' erichough/kodi 2>>'/home/docker/.cache/x11docker/erichough-kodi-931691/container.log'| rmcr)
- 313 [ "$Workdir" ] && echo "[ -d \"$Workdir\" ] && cd \"$Workdir\" # WORKDIR in image"
- 314 echo ''
- 315 echo verbose -d "Running image command: $Tini \$Dbus $Entrypoint $Imagecommand"
- 316 echo "\$Exec $Tini \$Dbus $Entrypoint $Imagecommand >>/x11docker/stdout 2>>/x11docker/stderr"
- 317 echo '# Ready for docker run'
- 318 } >> /home/docker/.cache/x11docker/erichough-kodi-931691/share/container.CMD.sh
- 319
- 320 nl -ba >> /home/docker/.cache/x11docker/erichough-kodi-931691/share/x11docker.log < /home/docker/.cache/x11docker/erichough-kodi-931691/share/container.CMD.sh
- 321
- 322 Windowmanager=""
- 323 Windowmanagercommand=""
- 324 Wmdockercommand="docker run --rm --detach \
- 325 --name x11docker_X100_931691_erichough-kodi_WM \
- 326 --user 1999:1999 \
- 327 --cap-drop=ALL --security-opt=no-new-privileges --security-opt label=type:container_runtime_t \
- 328 --volume '':'/x11docker/Xclientcookie':rw \
- 329 --env 'WAYLAND_DISPLAY='"
- 330 [ "$Windowmanager" = "container" ] && {
- 331 docker inspect "$(cut -d' ' -f1 <<<"$Windowmanagercommand")" >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log 2>&1 && {
- 332 Wmdockercommand="$Wmdockercommand \
- 333 -- $Windowmanagercommand"
- 334 verbose -d "Generated docker command for window manager:
- 335 $Wmdockercommand"
- 336 Wmcontainerid="$(eval $Wmdockercommand)"
- 337 [ "$Wmcontainerid" ] && {
- 338 debugnote "Window manager container: $Wmcontainerid"
- 339 for ((Count=1 ; Count<=10 ; Count++)); do
- 340 Pid1pid=$(docker inspect --format '{{.State.Pid}}' $Wmcontainerid 2>>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log | rmcr)
- 341 verbose -d "$Count. check for PID 1 of window manager container: $Pid1pid"
- 342 checkpid "$Pid1pid" && break
- 343 sleep 0.2
- 344 done
- 345 }
- 346 checkpid "$Pid1pid" && storepid "$Pid1pid" windowcontainerpid1
- 347 [ -z "$Wmcontainerid" ] && note "Option --wm: Failed to run window manager image: $Windowmanagercommand." && Windowmanager=host ||:
- 348 } || {
- 349 note "Option --wm: Did not find window manager image
- 350 $(cut -d' ' -f1 <<<"$Windowmanagercommand")
- 351 to provide a containerized window manager. Please run:
- 352 docker pull x11docker/openbox
- 353 If you want to use a host window manager instead and avoid this warning,
- 354 use option --wm=host or --wm=COMMAND
- 355 or provide a local image with e.g. --wm=x11docker/lxde
- 356 To run without a window manager: --wm=none or --desktop
- 357 Fallback: Will try to run a host window manager: "
- 358 Windowmanager=host
- 359 }
- 360 }
- 361 [ "$Windowmanager" = "host" ] && {
- 362 command -v '' >/dev/null || note 'Did not find a host window manager.
- 363 Please pull image x11docker/openbox or provide one of:
- 364 amiwm blackbox cinnamon compiz ctwm enlightenment fluxbox flwm fvwm jwm kwin kwin_x11 lxsession mate-session mate-wm marco metacity notion olwm olvwm openbox ororobus pekwm sawfish twm wmaker w9wm xfwm4'
- 365 note 'Option --wm: Starting host window manager: WM_NOT_FOUND'
- 366 [ "$(id -u)" = '0' ] && su docker -c 'env DISPLAY= XAUTHORITY= WAYLAND_DISPLAY= XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE=wayland GDK_BACKEND=wayland QT_QPA_PLATFORM=wayland CLUTTER_BACKEND=wayland SDL_VIDEODRIVER=wayland ELM_DISPLAY=wl ELM_ACCEL=opengl ECORE_EVAS_ENGINE=wayland_egl X11DOCKER_CACHE=/home/docker/.cache/x11docker/erichough-kodi-931691 NO_WM_FOUND >>/home/docker/.cache/x11docker/erichough-kodi-931691/xinit.log 2>&1 & storepid $! windowmanager'
- 367 [ "$(id -u)" != '0' ] && env DISPLAY= XAUTHORITY= WAYLAND_DISPLAY= XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE=wayland GDK_BACKEND=wayland QT_QPA_PLATFORM=wayland CLUTTER_BACKEND=wayland SDL_VIDEODRIVER=wayland ELM_DISPLAY=wl ELM_ACCEL=opengl ECORE_EVAS_ENGINE=wayland_egl X11DOCKER_CACHE=/home/docker/.cache/x11docker/erichough-kodi-931691 NO_WM_FOUND >>/home/docker/.cache/x11docker/erichough-kodi-931691/xinit.log 2>&1 & storepid $! windowmanager
- 368 }
- 369 read Containerid < <(docker run --tty --rm --detach \
- 370 --name x11docker_X100_931691_erichough-kodi \
- 371 --user 1000:1000 \
- 372 --env USER=docker \
- 373 --userns host \
- 374 --group-add 13 \
- 375 --group-add 12 \
- 376 --cap-drop ALL \
- 377 --security-opt no-new-privileges \
- 378 --security-opt label=type:container_runtime_t \
- 379 --volume '/usr/bin/docker-init':'/x11docker/tini':ro \
- 380 --tmpfs /run --tmpfs /run/lock \
- 381 --volume '/home/docker/.cache/x11docker/erichough-kodi-931691/share':'/x11docker':rw \
- 382 --volume '/home/docker':'/home/docker':rw \
- 383 --volume '/dev/dri':'/dev/dri':rw \
- 384 --device '/dev/dri':'/dev/dri':rw \
- 385 --volume '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- 386 --device '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- 387 --volume '/dev/snd':'/dev/snd':rw \
- 388 --device '/dev/snd':'/dev/snd':rw \
- 389 --volume '/run/user/1000/':'/':rw \
- 390 --workdir '/tmp' \
- 391 --entrypoint env \
- 392 --env 'container=docker' \
- 393 --env 'XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR' \
- 394 --env 'WAYLAND_DISPLAY=' \
- 395 --env 'COLUMNS=128' \
- 396 --env 'LINES=56' \
- 397 -- erichough/kodi /bin/sh - /x11docker/container.CMD.sh 2>>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log | rmcr)
- 398
- 399 verbose -d "Container ID: $Containerid"
- 400 [ "$Containerid" ] || {
- 401 error "Startup of docker failed. Did not receive a container ID.
- 402
- 403 Last lines of container log:
- 404 $(rmcr < /home/docker/.cache/x11docker/erichough-kodi-931691/container.log | tail)"
- 405 }
- 406 echo $Containerid >> /home/docker/.cache/x11docker/erichough-kodi-931691/container.id
- 407
- 408 # wait for container to be ready
- 409 for ((Count=1 ; Count<=20 ; Count++)); do
- 410 docker exec x11docker_X100_931691_erichough-kodi sh -c : 2>&1 | rmcr >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log && { verbose -d 'Container is up and running.' ; break ; } || verbose -d "Container not ready on $Count. attempt, trying again."
- 411 sleep 0.2
- 412 done
- 413 docker logs -f $Containerid 2>&1 | rmcr >> /home/docker/.cache/x11docker/erichough-kodi-931691/container.log &
- 414 for ((Count=1 ; Count<=10 ; Count++)); do
- 415 Pid1pid=$(docker inspect --format '{{.State.Pid}}' x11docker_X100_931691_erichough-kodi 2>>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log | rmcr)
- 416 verbose -d "$Count. check for PID 1: $Pid1pid"
- 417 checkpid "$Pid1pid" && break
- 418 sleep 0.2
- 419 done
- 420 echo $Pid1pid >> /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid
- 421 verbose -d "Host PID of container PID 1: $Pid1pid"
- 422
- 423 docker inspect --format '{{ .NetworkSettings.IPAddress }}' x11docker_X100_931691_erichough-kodi 2>>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log | rmcr >> /home/docker/.cache/x11docker/erichough-kodi-931691/container.ip
- 424 verbose -d "Container IP: $(cat /home/docker/.cache/x11docker/erichough-kodi-931691/container.ip)"
- 425
- 426 Failure="$(rmcr < /home/docker/.cache/x11docker/erichough-kodi-931691/container.log | grep -v grep | grep -E 'Error response from daemon|OCI runtime exec' ||:)"
- 427 [ "$Failure" ] && {
- 428 echo "$Failure" >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log
- 429 error "Got error message from docker daemon:
- 430 $Failure"
- 431 }
- 432
- 433 docker exec --tty x11docker_X100_931691_erichough-kodi sh -c 'cp /x11docker/containerrootrc /tmp/containerrootrc ; chmod 644 /tmp/containerrootrc' 2>&1 | rmcr >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log
- 434 docker exec --tty -u root x11docker_X100_931691_erichough-kodi /bin/sh /tmp/containerrootrc 2>&1 | rmcr >>/home/docker/.cache/x11docker/erichough-kodi-931691/container.log
- 435 exit 0
- x11docker[609.44]: Generated containerrootrc:
- 1 #! /bin/sh
- 2 # set up docker container as root before ongoing in unprivileged container.CMD.sh
- 3 # commands in this script are executed as root in container
- 4
- 5 warning() {
- 6 echo "$*:WARNING" >>$Messagefile
- 7 }
- 8 note() {
- 9 echo "$*:NOTE" >>$Messagefile
- 10 }
- 11 verbose() {
- 12 echo "$*:VERBOSE" >>$Messagefile
- 13 }
- 14 debugnote() {
- 15 echo "$*:DEBUGNOTE" >>$Messagefile
- 16 }
- 17 error() {
- 18 echo "$*:ERROR" >>$Messagefile
- 19 exit 1
- 20 }
- 21 stdout() {
- 22 echo "$*:STDOUT" >>$Messagefile
- 23 }
- 24 Messagefile=/x11docker/message.fifo
- 25
- 26 verbose -d 'Running setup as root in container'
- 27 # check type of libc
- 28 ldd --version 2>&1 | grep -q 'musl libc' && Containerlibc='musl'
- 29 ldd --version 2>&1 | grep -q -E 'GLIBC|GNU libc' && Containerlibc='glibc'
- 30 verbose -d "Container libc: $Containerlibc"
- 31
- 32 # prepare X environment
- 33 # create some system dirs with needed permissions
- 34 mkdir -v -p /var/lib/dbus /var/run/dbus
- 35 mkdir -v -p -m 1777 /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix
- 36 chmod -c 1777 /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix
- 37 export DISPLAY= XAUTHORITY=/x11docker/Xclientcookie
- 38 [ -e /X100 ] && ln -s /X100
- 39 ls -l /X100
- 40 ls -l
- 41
- 42 # time zone
- 43 [ ! -d /usr/share/zoneinfo ] && [ "$Containerlibc" = "glibc" ] && {
- 44 mkdir -p /usr/share/zoneinfo/Europe
- 45 cp '/x11docker/timezone' '/usr/share/zoneinfo/Europe/Moscow'
- 46 }
- 47 [ -e '/usr/share/zoneinfo/Europe/Moscow' ] && ln -f -s '/usr/share/zoneinfo/Europe/Moscow' /etc/localtime
- 48
- 49 Containersystem=$(. /etc/os-release; echo $ID)
- 50 verbose "Container system ID: $Containersystem"
- 51
- 52 # environment variables
- 53 export 'container=docker'
- 54 export 'XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR'
- 55 export 'WAYLAND_DISPLAY='
- 56 export 'COLUMNS=128'
- 57 export 'LINES=56'
- 58
- 59 # Check container user
- 60 Containeruser=$(cat /x11docker/container.user)
- 61
- 62 # create user entry in /etc/passwd (and delete possibly existing same uid)
- 63 cat /etc/passwd | grep -v ':1000:' > /tmp/passwd
- 64 # disable possible /etc/shadow passwords for other users
- 65 sed -i s%:x:%:-:% /tmp/passwd
- 66 echo 'docker:x:1000:1000:docker,,,:/home/docker:/bin/sh' >> /tmp/passwd
- 67 rm /etc/passwd
- 68 mv /tmp/passwd /etc/passwd || warning 'Unable to change /etc/passwd. That may be a seurity risk.'
- 69
- 70 # create password entry for container user in /etc/shadow
- 71 rm -v /etc/shadow || warning 'Cannot change /etc/shadow. That may be a security risk.'
- 72 echo "docker:sac19FwGGTx/A:17293:0:99999:7:::" > /etc/shadow
- 73 echo 'root:*:17219:0:99999:7:::' >> /etc/shadow
- 74
- 75
- 76 # create user group entry (and delete possibly existing same gid)
- 77 cat /etc/group | grep -v ':1000:' > /tmp/group
- 78 echo docker:x:1000: >> /tmp/group
- 79 mv /tmp/group /etc/group
- 80
- 81
- 82 # create /etc/sudoers, delete /etc/sudoers.d. Overwrite possible sudo setups in image.
- 83 [ -e /etc/sudoers.d ] && rm -v -R /etc/sudoers.d
- 84 [ -e /etc/sudoers ] && rm -v /etc/sudoers
- 85 echo '# /etc/sudoers created by x11docker' > /etc/sudoers
- 86 echo 'root ALL=(ALL) ALL' >> /etc/sudoers
- 87
- 88 # restrict PAM configuration of su and sudo
- 89 mkdir -p /etc/pam.d
- 90 [ -e /etc/pam.d/sudo ] && rm -v /etc/pam.d/sudo
- 91 case "$Containersystem" in
- 92 fedora)
- 93 echo '#%PAM-1.0' > /etc/pam.d/su
- 94 echo 'auth sufficient pam_rootok.so' >> /etc/pam.d/su
- 95 echo 'account sufficient pam_succeed_if.so uid = 0 use_uid quiet' >> /etc/pam.d/su
- 96 echo 'session include system-auth' >> /etc/pam.d/su
- 97 ;;
- 98 *)
- 99 echo '#%PAM-1.0' > /etc/pam.d/su
- 100 echo 'auth sufficient pam_rootok.so' >> /etc/pam.d/su # allow root to switch user without a password
- 101 echo '@include common-auth' >> /etc/pam.d/su
- 102 echo '@include common-account' >> /etc/pam.d/su
- 103 echo '@include common-session' >> /etc/pam.d/su
- 104 ;;
- 105 esac
- 106
- 107 [ -e '/home/docker' ] || {
- 108 # only create HOME here if capability CHOWN is allowed.
- 109 :>/tmp/chowntestfile
- 110 chown $Containeruser /tmp/chowntestfile && {
- 111 mkdir -v -p '/home/docker'
- 112 chown $Containeruser '/home/docker'
- 113 }
- 114 rm /tmp/chowntestfile
- 115 }
- 116
- 117 # Set up container user groups
- 118 Groupname=
- 119 Groupid=
- 120 [ "$Groupname" ] || Groupname=$(cat /etc/group | grep "video" | cut -d: -f1)
- 121 [ "$Groupid" ] || Groupid=$(cat /etc/group | grep "video" | cut -d: -f3)
- 122 [ "$Groupname" ] && {
- 123 cat /etc/group | sed "s/^$Groupname.*/$Groupname:x:$Groupid:$(cat /etc/group | grep "$Groupname:.:" | cut -d: -f4 ),$Containeruser/" | sed 's/:,/:/' > /tmp/group
- 124 cat /etc/group | grep -q "$Groupname:.:" || echo $Groupname:x:$Groupid:$Containeruser >> /tmp/group
- 125 cp /tmp/group /etc/group
- 126 } || note 'Failed to add user to group: video'
- 127
- 128 Groupname=
- 129 Groupid=
- 130 [ "$Groupname" ] || Groupname=$(cat /etc/group | grep "audio" | cut -d: -f1)
- 131 [ "$Groupid" ] || Groupid=$(cat /etc/group | grep "audio" | cut -d: -f3)
- 132 [ "$Groupname" ] && {
- 133 cat /etc/group | sed "s/^$Groupname.*/$Groupname:x:$Groupid:$(cat /etc/group | grep "$Groupname:.:" | cut -d: -f4 ),$Containeruser/" | sed 's/:,/:/' > /tmp/group
- 134 cat /etc/group | grep -q "$Groupname:.:" || echo $Groupname:x:$Groupid:$Containeruser >> /tmp/group
- 135 cp /tmp/group /etc/group
- 136 } || note 'Failed to add user to group: audio'
- 137
- 138
- 139 # disable getty in inittab
- 140 [ -e /etc/inittab ] && sed -i 's/.*getty/##getty disabled by x11docker## \0/' /etc/inittab
- 141
- 142
- 143 echo 'x11docker: Container root setup is ready'
- 144 :> /x11docker.setupready
- 145
- x11docker[609.46]: Generated xinitrc:
- 1 #! /bin/sh
- 2 Timetosaygoodbye=/home/docker/.cache/x11docker/erichough-kodi-931691/share/timetosaygoodbye
- 3 Timetosaygoodbyefifo=/home/docker/.cache/x11docker/erichough-kodi-931691/share/timetosaygoodbye.fifo
- 4 Sharefolder=/home/docker/.cache/x11docker/erichough-kodi-931691/share
- 5 Bgpidfile=/home/docker/.cache/x11docker/erichough-kodi-931691/backgroundpids
- 6 Winsubsystem=
- 7 Usemkfifo=yes
- 8 storepid ()
- 9 {
- 10 echo ${1:-} ${2:-} >> $Bgpidfile;
- 11 verbose -d "Stored background pid ${1:-} of ${2:-}" 2> /dev/null;
- 12 disown ${1:-} 2> /dev/null || :
- 13 }
- 14 rocknroll ()
- 15 {
- 16 [ -s "$Timetosaygoodbye" ] && return 1;
- 17 [ -e "$Timetosaygoodbye" ] || return 1;
- 18 return 0
- 19 }
- 20 waitfortheend ()
- 21 {
- 22 case $Usemkfifo in
- 23 yes)
- 24 while rocknroll; do
- 25 bash -c "read -n1 <&8" && saygoodbye timetosaygoodbyefifo || sleep 1;
- 26 done
- 27 ;;
- 28 no)
- 29 while rocknroll; do
- 30 sleep 2;
- 31 done
- 32 ;;
- 33 esac
- 34 }
- 35 saygoodbye ()
- 36 {
- 37 verbose -d "time to say goodbye ($*)";
- 38 [ -e "$Sharefolder" ] && {
- 39 echo timetosaygoodbye >> $Timetosaygoodbye;
- 40 echo timetosaygoodbye >> $Timetosaygoodbyefifo
- 41 }
- 42 }
- 43 disable_xhost ()
- 44 {
- 45 local Line=;
- 46 command -v xhost > /dev/null || {
- 47 warning "Command 'xhost' not found.
- 48 Can not check for possibly allowed network access to X.
- 49 Please install 'xhost'.
- 50 $Wikipackages";
- 51 return 1
- 52 };
- 53 xhost 2>&1 | tail -n +2 /dev/stdin | while read -r Line; do
- 54 verbose -d "xhost: Removing entry $Line";
- 55 xhost -$Line;
- 56 done;
- 57 xhost -;
- 58 [ "$(xhost 2>&1 | wc -l)" -gt "1" ] && {
- 59 warning "Remaining xhost permissions found on display ${DISPLAY:-}
- 60 $(xhost 2>&1 )";
- 61 return 1
- 62 };
- 63 xhost 2>&1 | grep "access control disabled" && {
- 64 warning "Failed to restrict xhost permissions.
- 65 Access to display ${DISPLAY:-} is allowed for everyone.";
- 66 return 1
- 67 };
- 68 return 0
- 69 }
- 70 wincmd ()
- 71 {
- 72 cmd /C "${@//&/^&}" 2>&1 | rmcr
- 73 }
- 74 rmcr ()
- 75 {
- 76 case "${1:-}" in
- 77 "")
- 78 sed "s/$(printf "\r")//g"
- 79 ;;
- 80 *)
- 81 sed -i "s/$(printf "\r")//g" "${1:-}"
- 82 ;;
- 83 esac
- 84 }
- 85
- 86 warning() {
- 87 echo "$*:WARNING" >>$Messagefile
- 88 }
- 89 note() {
- 90 echo "$*:NOTE" >>$Messagefile
- 91 }
- 92 verbose() {
- 93 echo "$*:VERBOSE" >>$Messagefile
- 94 }
- 95 debugnote() {
- 96 echo "$*:DEBUGNOTE" >>$Messagefile
- 97 }
- 98 error() {
- 99 echo "$*:ERROR" >>$Messagefile
- 100 exit 1
- 101 }
- 102 stdout() {
- 103 echo "$*:STDOUT" >>$Messagefile
- 104 }
- 105 Messagefile=/home/docker/.cache/x11docker/erichough-kodi-931691/share/message.fifo
- 106
- 107 export PATH='/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/games:/usr/local/bin:/usr/sbin:/sbin'
- 108 export DISPLAY= XAUTHORITY= WAYLAND_DISPLAY= XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_TYPE=wayland GDK_BACKEND=wayland QT_QPA_PLATFORM=wayland CLUTTER_BACKEND=wayland SDL_VIDEODRIVER=wayland ELM_DISPLAY=wl ELM_ACCEL=opengl ECORE_EVAS_ENGINE=wayland_egl X11DOCKER_CACHE=/home/docker/.cache/x11docker/erichough-kodi-931691
- 109 verbose -d 'Running xinitrc'
- 110 unset DISPLAY XAUTHORITY WAYLAND_DISPLAY
- 111 export XDG_SESSION_TYPE=wayland
- 112 export GDK_BACKEND=wayland
- 113 export QT_QPA_PLATFORM=wayland
- 114 export CLUTTER_BACKEND=wayland
- 115 export SDL_VIDEODRIVER=wayland
- 116 export ELM_DISPLAY=wl
- 117 export ELM_ACCEL=opengl
- 118 export ECORE_EVAS_ENGINE=wayland_egl
- 119 touch /home/docker/.cache/x11docker/erichough-kodi-931691/Xready
- 120 waitfortheend
- x11docker[609.48]: Stored background pid 3596 of containershell
- x11docker[609.56]: Running xinitrc
- x11docker[609.61]: Waiting since 0s for --tty to be ready.
- x11docker[609.62]: --tty is ready
- x11docker[609.75]: Running dockerrc
- x11docker[609.75]: Waiting since 2s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[609.91]: Found default runtime: runc
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/container.log <==
- [
- {
- "Id": "sha256:e5d09597de45632ef3e67d59696a8522dd7b429c6f18bbfcfc6f05977ff23fdd",
- "RepoTags": [
- "erichough/kodi:latest"
- ],
- "RepoDigests": [
- "erichough/kodi@sha256:deeda7039d1c2364c8d550880c03a0e34ec7c67ac56dc5026f04e6cc472ffbba"
- ],
- "Parent": "",
- "Comment": "",
- "Created": "2019-05-28T17:33:49.564607317Z",
- "Container": "cea7c29dedd0ec71af93c5fc509cce01a4703ed0396f300afbc9df8efe2326ff",
- "ContainerConfig": {
- "Hostname": "cea7c29dedd0",
- "Domainname": "",
- "User": "",
- "AttachStdin": false,
- "AttachStdout": false,
- "AttachStderr": false,
- "Tty": false,
- "OpenStdin": false,
- "StdinOnce": false,
- "Env": [
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- ],
- "Cmd": [
- "/bin/sh",
- "-c",
- "#(nop) ",
- "ENTRYPOINT [\"/usr/local/bin/entrypoint.sh\"]"
- ],
- "ArgsEscaped": true,
- "Image": "sha256:847561a2632457858227edc491b226e256771e1448f0c835b97935ecb8f35ff4",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": [
- "/usr/local/bin/entrypoint.sh"
- ],
- "OnBuild": null,
- "Labels": {}
- },
- "DockerVersion": "18.03.1-ee-3",
- "Author": "",
- "Config": {
- "Hostname": "",
- "Domainname": "",
- "User": "",
- "AttachStdin": false,
- "AttachStdout": false,
- "AttachStderr": false,
- "Tty": false,
- "OpenStdin": false,
- "StdinOnce": false,
- "Env": [
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- ],
- "Cmd": null,
- "ArgsEscaped": true,
- "Image": "sha256:847561a2632457858227edc491b226e256771e1448f0c835b97935ecb8f35ff4",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": [
- "/usr/local/bin/entrypoint.sh"
- ],
- "OnBuild": null,
- "Labels": null
- },
- "Architecture": "amd64",
- "Os": "linux",
- "Size": 504745147,
- "VirtualSize": 504745147,
- "GraphDriver": {
- "Data": {
- "LowerDir": "/var/lib/docker/overlay2/12aac3fb8f4d7ac51349ac6bd84bf188305f845f5774854d8d9533d135d5840e/diff:/var/lib/docker/overlay2/5bd987e908ff11b5f8c2703eac299d3b99468306032ebbd39c64de7a5b89f298/diff:/var/lib/docker/overlay2/f9f699e213176d8c9de4cb39f33982889fd47cad6fcd71b4d7431b8998cfb7d6/diff:/var/lib/docker/overlay2/da29b0c9672dbe65be9176ca1187be987e50058f20a3a4dc5e5922adcbb88a11/diff:/var/lib/docker/overlay2/2e79bbe6a2f43af1aec15b25e538d591d2ff53ebce46743f759ffc49f9a83967/diff",
- "MergedDir": "/var/lib/docker/overlay2/d55f08f86f916e1d2e05752883e1b03f15f9af44789fd73cd96a6dffd591f8ea/merged",
- "UpperDir": "/var/lib/docker/overlay2/d55f08f86f916e1d2e05752883e1b03f15f9af44789fd73cd96a6dffd591f8ea/diff",
- "WorkDir": "/var/lib/docker/overlay2/d55f08f86f916e1d2e05752883e1b03f15f9af44789fd73cd96a6dffd591f8ea/work"
- },
- "Name": "overlay2"
- },
- "RootFS": {
- "Type": "layers",
- "Layers": [
- "sha256:02571d034293cb241c078d7ecbf7a84b83a5df2508f11a91de26ec38eb6122f1",
- "sha256:270f934787edf0135132b6780cead0f12ca11690c5d6a5d395e44d290912100a",
- "sha256:8d267010480fed7e616b9b7861854042aad4ef5e55f8771f2c738061640d2cb0",
- "sha256:c6c2163d51dd58e117a0ae0a4a3d329dbd8aa6071eb6975eeea6e63cba64db43",
- "sha256:0e3ccd0b442198db8c1c9a87e4d816149d035741ed3eb643c518e677003dc6e9",
- "sha256:0169ceb0fcdaad5658a52678d81983794533708b0403456e5a5dab4950fa1ebf"
- ]
- },
- "Metadata": {
- "LastTagTime": "0001-01-01T00:00:00Z"
- }
- }
- ]
- [
- {
- "Id": "sha256:e5d09597de45632ef3e67d59696a8522dd7b429c6f18bbfcfc6f05977ff23fdd",
- "RepoTags": [
- "erichough/kodi:latest"
- ],
- "RepoDigests": [
- "erichough/kodi@sha256:deeda7039d1c2364c8d550880c03a0e34ec7c67ac56dc5026f04e6cc472ffbba"
- ],
- "Parent": "",
- "Comment": "",
- "Created": "2019-05-28T17:33:49.564607317Z",
- "Container": "cea7c29dedd0ec71af93c5fc509cce01a4703ed0396f300afbc9df8efe2326ff",
- "ContainerConfig": {
- "Hostname": "cea7c29dedd0",
- "Domainname": "",
- "User": "",
- "AttachStdin": false,
- "AttachStdout": false,
- "AttachStderr": false,
- "Tty": false,
- "OpenStdin": false,
- "StdinOnce": false,
- "Env": [
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- ],
- "Cmd": [
- "/bin/sh",
- "-c",
- "#(nop) ",
- "ENTRYPOINT [\"/usr/local/bin/entrypoint.sh\"]"
- ],
- "ArgsEscaped": true,
- "Image": "sha256:847561a2632457858227edc491b226e256771e1448f0c835b97935ecb8f35ff4",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": [
- "/usr/local/bin/entrypoint.sh"
- ],
- "OnBuild": null,
- "Labels": {}
- },
- "DockerVersion": "18.03.1-ee-3",
- "Author": "",
- "Config": {
- "Hostname": "",
- "Domainname": "",
- "User": "",
- "AttachStdin": false,
- "AttachStdout": false,
- "AttachStderr": false,
- "Tty": false,
- "OpenStdin": false,
- "StdinOnce": false,
- "Env": [
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- ],
- "Cmd": null,
- "ArgsEscaped": true,
- "Image": "sha256:847561a2632457858227edc491b226e256771e1448f0c835b97935ecb8f35ff4",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": [
- "/usr/local/bin/entrypoint.sh"
- ],
- "OnBuild": null,
- "Labels": null
- },
- "Architecture": "amd64",
- "Os": "linux",
- "Size": 504745147,
- "VirtualSize": 504745147,
- "GraphDriver": {
- "Data": {
- "LowerDir": "/var/lib/docker/overlay2/12aac3fb8f4d7ac51349ac6bd84bf188305f845f5774854d8d9533d135d5840e/diff:/var/lib/docker/overlay2/5bd987e908ff11b5f8c2703eac299d3b99468306032ebbd39c64de7a5b89f298/diff:/var/lib/docker/overlay2/f9f699e213176d8c9de4cb39f33982889fd47cad6fcd71b4d7431b8998cfb7d6/diff:/var/lib/docker/overlay2/da29b0c9672dbe65be9176ca1187be987e50058f20a3a4dc5e5922adcbb88a11/diff:/var/lib/docker/overlay2/2e79bbe6a2f43af1aec15b25e538d591d2ff53ebce46743f759ffc49f9a83967/diff",
- "MergedDir": "/var/lib/docker/overlay2/d55f08f86f916e1d2e05752883e1b03f15f9af44789fd73cd96a6dffd591f8ea/merged",
- "UpperDir": "/var/lib/docker/overlay2/d55f08f86f916e1d2e05752883e1b03f15f9af44789fd73cd96a6dffd591f8ea/diff",
- "WorkDir": "/var/lib/docker/overlay2/d55f08f86f916e1d2e05752883e1b03f15f9af44789fd73cd96a6dffd591f8ea/work"
- },
- "Name": "overlay2"
- },
- "RootFS": {
- "Type": "layers",
- "Layers": [
- "sha256:02571d034293cb241c078d7ecbf7a84b83a5df2508f11a91de26ec38eb6122f1",
- "sha256:270f934787edf0135132b6780cead0f12ca11690c5d6a5d395e44d290912100a",
- "sha256:8d267010480fed7e616b9b7861854042aad4ef5e55f8771f2c738061640d2cb0",
- "sha256:c6c2163d51dd58e117a0ae0a4a3d329dbd8aa6071eb6975eeea6e63cba64db43",
- "sha256:0e3ccd0b442198db8c1c9a87e4d816149d035741ed3eb643c518e677003dc6e9",
- "sha256:0169ceb0fcdaad5658a52678d81983794533708b0403456e5a5dab4950fa1ebf"
- ]
- },
- "Metadata": {
- "LastTagTime": "0001-01-01T00:00:00Z"
- }
- }
- ]
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/message.log <==
- x11docker[610.49]: Waiting since 2s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- 1 #! /bin/sh
- 2 # created startscript for docker run: container.CMD.sh
- 3 # runs as unprivileged user in container
- 4 calculate() {
- 5 LC_ALL=C printf %.3f\\n "$((10**9 * $@))e-9"
- 6 }
- 7
- 8 warning() {
- 9 echo "$*:WARNING" >>$Messagefile
- 10 }
- 11 note() {
- 12 echo "$*:NOTE" >>$Messagefile
- 13 }
- 14 verbose() {
- 15 echo "$*:VERBOSE" >>$Messagefile
- 16 }
- 17 debugnote() {
- 18 echo "$*:DEBUGNOTE" >>$Messagefile
- 19 }
- 20 error() {
- 21 echo "$*:ERROR" >>$Messagefile
- 22 exit 1
- 23 }
- 24 stdout() {
- 25 echo "$*:STDOUT" >>$Messagefile
- 26 }
- 27 Messagefile=/x11docker/message.fifo
- 28
- 29 # wait for container setup script do be ready
- 30 for Count in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50; do
- 31 verbose "Waiting since ${Count}s for container root setup to be ready"
- 32 [ -e /x11docker.setupready ] && break || sleep 1
- 33 done
- 34
- 35 verbose -d "Running unprivileged user commands in container"
- 36
- 37 Imagecommand=""
- 38 Entrypoint="/usr/local/bin/entrypoint.sh"
- 39
- 40 verbose "Container system:
- 41 $(cat /etc/os-release 2>&1)"
- 42
- 43
- 44 # x11docker variable settings
- 45 Containeruser="$(cat /x11docker/container.user)"
- 46 Containeruserhome="/home/docker"
- 47 export USER="$Containeruser"
- 48 export HOME="$Containeruserhome"
- 49 # Copy files from /etc/skel into empty HOME
- 50 [ -d /etc/skel ] && [ "$(ls -A "/home/docker" 2>/dev/null)" ] && {
- 51 cp -n -R /etc/skel/. $Containeruserhome
- 52 }
- 53 [ -e /x11docker/pulsecookie ] && {
- 54 mkdir -p "$Containeruserhome/.config/pulse"
- 55 cp "/x11docker/pulsecookie" "$Containeruserhome/.config/pulse/cookie"
- 56 }
- 57 unset DISPLAY WAYLAND_DISPLAY XAUTHORITY
- 58 command -v dbus-run-session >/dev/null && Dbus=dbus-run-session || note "Option --dbus: dbus seems to be not installed.
- 59 Cannot run a DBus user session. Please install dbus in image."
- 60 Exec=exec
- 61 export NO_AT_BRIDGE=1
- 62
- 63 [ -e "$XDG_RUNTIME_DIR" ] || {
- 64 export XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR
- 65 mkdir -m 700 -p $XDG_RUNTIME_DIR
- 66 export XDG_RUNTIME_DIR
- 67 }
- 68
- 69 # Wayland environment
- 70 export WAYLAND_DISPLAY=
- 71 ln -s / $XDG_RUNTIME_DIR/
- 72
- 73 export XDG_SESSION_TYPE=wayland
- 74 export GDK_BACKEND=wayland
- 75 export QT_QPA_PLATFORM=wayland
- 76 export CLUTTER_BACKEND=wayland
- 77 export SDL_VIDEODRIVER=wayland
- 78 export ELM_DISPLAY=wl
- 79 export ELM_ACCEL=opengl
- 80 export ECORE_EVAS_ENGINE=wayland_egl
- 81
- 82
- 83 # xpra environment settings
- 84 export UBUNTU_MENUPROXY= QT_X11_NO_NATIVE_MENUBAR=1 MWNOCAPTURE=true MWNO_RIT=true MWWM=allwm
- 85 export XPRA_XSHM=0
- 86
- 87 bash --version >/dev/null 2>&1 && export SHELL=/bin/bash || export SHELL=/bin/sh
- 88 export TERM=xterm
- 89 [ -e /x11docker.LANG ] && export LANG="$(cat /x11docker.LANG)"
- 90 [ -e "/usr/share/zoneinfo/Europe/Moscow" ] || export TZ=UTC-03
- 91 [ "$(date -Ihours)" != "2019-06-17T11+03:00" ] && export TZ=UTC-03
- 92 [ "$DEBIAN_FRONTEND" = noninteractive ] && unset DEBIAN_FRONTEND
- 93 [ "$DEBIAN_FRONTEND" = newt ] && unset DEBIAN_FRONTEND
- 94 # container environment (--env)
- 95 export "container=docker"
- 96 export "XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR"
- 97 export "WAYLAND_DISPLAY="
- 98 export "COLUMNS=128"
- 99 export "LINES=56"
- 100
- 101 env >> /x11docker/environment
- 102 verbose "Container environment:
- 103 $(env | sort)"
- 104 verbose "Copy of environment stored in /x11docker/environment"
- 105
- 106 cd "$HOME"
- 107
- 108 verbose -d Running image command: /x11docker/tini -- $Dbus /usr/local/bin/entrypoint.sh
- 109 $Exec /x11docker/tini -- $Dbus /usr/local/bin/entrypoint.sh >>/x11docker/stdout 2>>/x11docker/stderr
- 110 # Ready for docker run
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/container.log <==
- docker: Error response from daemon: invalid volume specification: '/run/user/1000/:/:rw': invalid mount config for type "bind": invalid specification: destination can't be '/'.
- See 'docker run --help'.
- ==> /home/docker/.cache/x11docker/erichough-kodi-931691/message.log <==
- x11docker[611.06]: Waiting for file creation of /home/docker/.cache/x11docker/erichough-kodi-931691/xtermready
- x11docker[611.09]: Found new created file /home/docker/.cache/x11docker/erichough-kodi-931691/xtermready
- x11docker[611.09]: Container ID:
- x11docker[611.33]: Waiting since 3s for /home/docker/.cache/x11docker/erichough-kodi-931691/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker ERROR: Startup of docker failed. Did not receive a container ID.
- Last lines of container log:
- "sha256:0169ceb0fcdaad5658a52678d81983794533708b0403456e5a5dab4950fa1ebf"
- ]
- },
- "Metadata": {
- "LastTagTime": "0001-01-01T00:00:00Z"
- }
- }
- ]
- docker: Error response from daemon: invalid volume specification: '/run/user/1000/:/:rw': invalid mount config for type "bind": invalid specification: destination can't be '/'.
- See 'docker run --help'.
- Type 'x11docker --help' for usage information
- Debug options: '--verbose' (full log) or '--debug' (log excerpt).
- Logfile will be: /home/docker/.cache/x11docker/x11docker.log
- Please report issues at https://github.com/mviereck/x11docker
- x11docker[611.38]: Terminating x11docker.
- x11docker[611.40]: time to say goodbye (finish-subshell)
- x11docker[611.41]: time to say goodbye (main)
- x11docker[611.42]: Terminating x11docker.
- x11docker[611.50]: Terminating 3596 (containershell) x11docker: 3596 tty3 00:00:00 bash
- x11docker[611.51]: time to say goodbye (watchpidlist)
- x11docker[611.60]: Terminating 3204 (watchmessagefifo) x11docker: 3204 tty3 00:00:00 bash
- x11docker[611.88]: time to say goodbye (finish)
- x11docker[611.89]: Exitcode 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement