Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[562.62]: Image name: x11docker/xfce
- Image command: 'glxgears'
- x11docker[562.65]:
- x11docker version: 5.7.0-beta
- docker version: Docker version 18.09.6-ce, build 481bc77156
- Host system: Arch Linux
- Command: './x11docker' '--gpu' 'x11docker/xfce' 'glxgears' '--verbose'
- Parsed options: --gpu --verbose '' -- 'x11docker/xfce' 'glxgears'
- x11docker WARNING: User thepoon is member of group docker.
- That allows unprivileged processes on host to gain root privileges.
- x11docker note: Your system uses closed source NVIDIA driver.
- GPU support will work only with options --hostdisplay and --xorg.
- Consider to use free open source nouveau driver instead.
- x11docker[563.15]: Xpra version: xpra v2.5.1-r22432
- x11docker[563.15]: Dependency check for --xpra: 0
- x11docker[563.15]: --xpra-xwayland: Closed source NVIDIA driver does not support Wayland.
- x11docker[563.15]: --xpra-xwayland: weston not found.
- You can look for the package name of this command at:
- https://github.com/mviereck/x11docker/wiki/dependencies#table-of-all-packages
- x11docker[563.16]: Dependency check for --xpra-xwayland: 1
- x11docker[563.16]: --xpra-xwayland not possible: missing dependencies.
- x11docker[563.16]: Dependency check for --hostdisplay: 0
- x11docker[563.16]: Dependency check for --hostdisplay: 0
- x11docker note: Using X server option --hostdisplay
- 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 note: Option --gpu: To allow GPU acceleration with --hostdisplay,
- x11docker will allow trusted cookies. That enables option --clipboard, too.
- x11docker note: Option --hostdisplay: To allow --hostdisplay with trusted cookies,
- x11docker must share host IPC namespace with container (option --hostipc)
- to allow shared memory for X extension MIT-SHM.
- x11docker note: To allow protection against X security leaks,
- please install one or more of:
- xpra, Xephyr, nxagent, weston+Xwayland, kwin_wayland+Xwayland or Xnest,
- or run a second Xorg server with option --xorg.
- x11docker WARNING: Option --hostdisplay with trusted cookies provides
- QUITE BAD CONTAINER ISOLATION !
- Keylogging and controlling host applications is possible!
- It is recommended to use another X server option like --xpra or --nxagent.
- x11docker WARNING: Option --hostipc severely degrades
- container isolation. IPC namespace remapping is disabled.
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/stdout <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/stderr <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/journalctl.log <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xpraserver.log <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xpraclient.log <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xinit.log <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/compositor.log <==
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[563.17]: Stored background pid 49687 of tailstdout
- x11docker[563.17]: Waiting for file content in /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid
- x11docker[563.18]: Stored background pid 49696 of tailstderr
- x11docker[563.19]: Stored background pid 49707 of watchpidlist
- x11docker[563.19]: Stored background pid 49711 of watchmessagefifo
- x11docker[563.22]: Virtual screen size: 4480x1440
- x11docker[563.24]: Physical screen size:
- Screen 0: minimum 8 x 8, current 4480 x 1440, maximum 32767 x 32767
- x11docker[563.25]: Detected host window manager: xfwm4
- x11docker[563.28]: Waiting since 0s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[563.31]: Detected NVIDIA driver version 430.14 on host.
- x11docker[563.32]: Found proprietary closed source NVIDIA driver installer
- /home/thepoon/.local/share/x11docker/NVIDIA-Linux-x86_64-430.14.run
- x11docker WARNING: To install proprietary closed source NVIDIA driver,
- x11docker must give some capabilities to container that would be dropped
- otherwise for security reasons. Container security is reduced now.
- You would not have this issue with free nouveau driver on host.
- x11docker[563.32]: New X environment:
- DISPLAY=:0 XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie XSOCKET=/tmp/.X11-unix/X0 X11DOCKER_CACHE=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1
- x11docker[563.35]: Users and terminal:
- x11docker was started by: thepoon
- As host user serves (running X, storing cache): thepoon
- Container user will be: thepoon
- 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: no
- Running over SSH: no
- x11docker[563.36]: Found tini binary: /usr/bin/docker-init
- x11docker WARNING: Sharing device file: /dev/dri
- x11docker WARNING: Sharing device file: /dev/nvidia0
- x11docker[563.49]: Waiting since 0s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker WARNING: Sharing device file: /dev/nvidiactl
- x11docker WARNING: Sharing device file: /dev/nvidia-modeset
- x11docker WARNING: Sharing device file: /dev/vga_arbiter
- x11docker[563.59]: Generated docker command:
- docker run --tty --rm --detach \
- --name x11docker_X0_41a8d1_x11docker-xfce \
- --user 1000:100 \
- --env USER=thepoon \
- --userns host \
- --group-add 91 \
- --group-add 92 \
- --cap-drop ALL \
- --cap-add CHOWN \
- --cap-add DAC_OVERRIDE \
- --cap-add FOWNER \
- --cap-add SETGID \
- --cap-add SETUID \
- --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/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share':'/x11docker':rw \
- --volume '/dev/dri':'/dev/dri':rw \
- --device '/dev/dri':'/dev/dri':rw \
- --volume '/dev/nvidia0':'/dev/nvidia0':rw \
- --device '/dev/nvidia0':'/dev/nvidia0':rw \
- --volume '/dev/nvidiactl':'/dev/nvidiactl':rw \
- --device '/dev/nvidiactl':'/dev/nvidiactl':rw \
- --volume '/dev/nvidia-modeset':'/dev/nvidia-modeset':rw \
- --device '/dev/nvidia-modeset':'/dev/nvidia-modeset':rw \
- --volume '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- --device '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- --volume '/home/thepoon/.local/share/x11docker/NVIDIA-Linux-x86_64-430.14.run':'/x11docker/NVIDIA-430.14.run':ro \
- --volume '/tmp/.X11-unix/X0':'/X0':rw \
- --ipc host \
- --workdir '/tmp' \
- --entrypoint env \
- --env 'container=docker' \
- --env 'XAUTHORITY=/x11docker/Xclientcookie' \
- --env 'DISPLAY=:0' \
- -- x11docker/xfce /bin/sh - /x11docker/container.CMD.sh
- x11docker[563.64]: 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='thepoon'
- 87 Hostusergid='100'
- 88 Timetosaygoodbye='/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/timetosaygoodbye'
- 89 export Bgpidfile='/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/backgroundpids'
- 90
- 91 warning() {
- 92 echo "$*:WARNING" >>$Messagefile
- 93 }
- 94 note() {
- 95 echo "$*:NOTE" >>$Messagefile
- 96 }
- 97 verbose() {
- 98 echo "$*:VERBOSE" >>$Messagefile
- 99 }
- 100 debugnote() {
- 101 echo "$*:DEBUGNOTE" >>$Messagefile
- 102 }
- 103 error() {
- 104 echo "$*:ERROR" >>$Messagefile
- 105 exit 1
- 106 }
- 107 stdout() {
- 108 echo "$*:STDOUT" >>$Messagefile
- 109 }
- 110 Messagefile='/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/message.fifo'
- 111
- 112 verbose -d 'Running dockerrc'
- 113 Imagename="x11docker/xfce"
- 114 Imagecommand=" 'glxgears'"
- 115
- 116 # check whether docker daemon is running, get docker info
- 117 docker info >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/docker.info 2>>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log || {
- 118 rmcr '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/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 $(tail /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log)"
- 124 }
- 125
- 126 Runtime=$(grep 'Default Runtime' < '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/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/thepoon/.cache/x11docker/x11docker-gui/images.list
- 144 docker images 2>>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log | grep -v REPOSITORY | awk '{print $1 ":" $2}' >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/images.list
- 145 rmcr /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/images.list
- 146 while read -r Line ; do
- 147 grep -q "<none>" <<<$Line || echo $Line >> /home/thepoon/.cache/x11docker/x11docker-gui/images.list
- 148 done < <(sort < /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/images.list)
- 149
- 150 Dockerpull=no
- 151 docker inspect x11docker/xfce >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log 2>&1 || {
- 152 echo 'Image x11docker/xfce 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 x11docker/xfce from docker hub'
- 158 env DISPLAY=':0' DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/bus' su 'thepoon' -c "notify-send 'x11docker: Pulling image x11docker/xfce from docker hub'" 2>/dev/null
- 159 docker pull x11docker/xfce 1>&2
- 160 }
- 161 docker inspect x11docker/xfce >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log 2>&1 || {
- 162 error 'Did not find image x11docker/xfce.
- 163 Please build image first or pull it from docker hub with:
- 164
- 165 docker pull x11docker/xfce
- 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}}' x11docker/xfce | 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}}' x11docker/xfce | rmcr)
- 183 [ "$Imageuser" ] && note "Found 'USER $Imageuser' in image.
- 184 If you want to run with user $Imageuser instead of host user thepoon,
- 185 than run with --user=RETAIN."
- 186 echo thepoon >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/container.user
- 187 Tini="/x11docker/tini --"
- 188 # check ENTRYPOINT
- 189 Entrypoint=$(docker inspect --format='{{.Config.Entrypoint}}' x11docker/xfce | 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/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/container.CMD.sh
- 247 {
- 248 echo ''
- 249 echo '# x11docker variable settings'
- 250 echo 'Containeruser="$(cat /x11docker/container.user)"'
- 251 echo 'Containeruserhome="/fakehome/thepoon"'
- 252 echo 'export USER="$Containeruser"'
- 253 echo 'export HOME="$Containeruserhome"'
- 254 echo 'mkdir -p $Containeruserhome'
- 255 echo '# Copy files from /etc/skel into empty HOME'
- 256 echo '[ -d /etc/skel ] && [ "$(ls -A "/fakehome/thepoon" 2>/dev/null)" ] && {'
- 257 echo ' cp -n -R /etc/skel/. $Containeruserhome'
- 258 echo '}'
- 259 echo '[ -e /x11docker/pulsecookie ] && {'
- 260 echo mkdir -p "$Containeruserhome/.config/pulse"
- 261 echo cp "/x11docker/pulsecookie" "$Containeruserhome/.config/pulse/cookie"
- 262 echo '}'
- 263 echo '[ -e /tmp/.X11-unix/X0 ] || ln -s /X0 /tmp/.X11-unix'
- 264 echo 'Exec=exec'
- 265 echo 'export NO_AT_BRIDGE=1'
- 266 echo ''
- 267 echo "[ -e \"\$XDG_RUNTIME_DIR\" ] || {"
- 268 echo ' export XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR'
- 269 echo ' mkdir -m 700 -p $XDG_RUNTIME_DIR'
- 270 echo ' export XDG_RUNTIME_DIR'
- 271 echo '}'
- 272 echo ''
- 273 echo 'export XDG_SESSION_TYPE=x11'
- 274 echo ''
- 275 echo ''
- 276 echo '# xpra environment settings'
- 277 echo 'export UBUNTU_MENUPROXY= QT_X11_NO_NATIVE_MENUBAR=1 MWNOCAPTURE=true MWNO_RIT=true MWWM=allwm'
- 278 echo ''
- 279 echo 'bash --version >/dev/null 2>&1 && export SHELL=/bin/bash || export SHELL=/bin/sh'
- 280 echo 'export TERM=xterm'
- 281 echo '[ -e /x11docker.LANG ] && export LANG="$(cat /x11docker.LANG)"'
- 282 echo '[ -e "/usr/share/zoneinfo/Europe/Paris" ] || export TZ=UTC-02'
- 283 echo '[ "$(date -Ihours)" != "2019-05-22T23+02:00" ] && export TZ=UTC-02'
- 284 echo '[ "$DEBIAN_FRONTEND" = noninteractive ] && unset DEBIAN_FRONTEND'
- 285 echo '[ "$DEBIAN_FRONTEND" = newt ] && unset DEBIAN_FRONTEND'
- 286 echo '# container environment (--env)'
- 287 echo 'export "container=docker"'
- 288 echo 'export "XAUTHORITY=/x11docker/Xclientcookie"'
- 289 echo 'export "DISPLAY=:0"'
- 290 echo ''
- 291 echo 'env >> /x11docker/environment'
- 292 echo 'verbose "Container environment:'
- 293 echo '$(env | sort)"'
- 294 echo 'verbose "Copy of environment stored in /x11docker/environment"'
- 295 echo ''
- 296 echo 'cd "$HOME"'
- 297 Workdir=$(docker inspect --format='{{.Config.WorkingDir}}' x11docker/xfce 2>>'/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log'| rmcr)
- 298 [ "$Workdir" ] && echo "[ -d \"$Workdir\" ] && cd \"$Workdir\" # WORKDIR in image"
- 299 echo ''
- 300 echo verbose -d "Running image command: $Tini \$Dbus $Entrypoint $Imagecommand"
- 301 echo "\$Exec $Tini \$Dbus $Entrypoint $Imagecommand >>/x11docker/stdout 2>>/x11docker/stderr"
- 302 echo '# Ready for docker run'
- 303 } >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/container.CMD.sh
- 304
- 305 nl -ba >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/x11docker.log < /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/container.CMD.sh
- 306
- 307 Windowmanager=""
- 308 Windowmanagercommand=""
- 309 Wmdockercommand="docker run --rm --detach \
- 310 --name x11docker_X0_41a8d1_x11docker-xfce_WM \
- 311 --user 1999:1999 \
- 312 --cap-drop=ALL --security-opt=no-new-privileges --security-opt label=type:container_runtime_t \
- 313 --volume '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie':'/x11docker/Xclientcookie':rw \
- 314 --volume '/tmp/.X11-unix/X0':'/tmp/.X11-unix/X0':rw \
- 315 --env 'XAUTHORITY=/x11docker/Xclientcookie' \
- 316 --env 'DISPLAY=:0'"
- 317 [ "$Windowmanager" = "container" ] && {
- 318 docker inspect "$(cut -d' ' -f1 <<<"$Windowmanagercommand")" >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log 2>&1 && {
- 319 Wmdockercommand="$Wmdockercommand \
- 320 -- $Windowmanagercommand"
- 321 verbose -d "Generated docker command for window manager:
- 322 $Wmdockercommand"
- 323 Wmcontainerid="$(eval $Wmdockercommand)"
- 324 [ "$Wmcontainerid" ] && {
- 325 debugnote "Window manager container: $Wmcontainerid"
- 326 for ((Count=1 ; Count<=10 ; Count++)); do
- 327 Pid1pid=$(docker inspect --format '{{.State.Pid}}' $Wmcontainerid 2>>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log | rmcr)
- 328 verbose -d "$Count. check for PID 1 of window manager container: $Pid1pid"
- 329 checkpid "$Pid1pid" && break
- 330 sleep 0.2
- 331 done
- 332 }
- 333 checkpid "$Pid1pid" && storepid "$Pid1pid" windowcontainerpid1
- 334 [ -z "$Wmcontainerid" ] && note "Option --wm: Failed to run window manager image: $Windowmanagercommand." && Windowmanager=host ||:
- 335 } || {
- 336 note "Option --wm: Did not find window manager image
- 337 $(cut -d' ' -f1 <<<"$Windowmanagercommand")
- 338 to provide a containerized window manager. Please run:
- 339 docker pull x11docker/openbox
- 340 If you want to use a host window manager instead and avoid this warning,
- 341 use option --wm=host or --wm=COMMAND
- 342 or provide a local image with e.g. --wm=x11docker/lxde
- 343 To run without a window manager: --wm=none or --desktop
- 344 Fallback: Will try to run a host window manager: xfwm4"
- 345 Windowmanager=host
- 346 }
- 347 }
- 348 [ "$Windowmanager" = "host" ] && {
- 349 command -v 'xfwm4' >/dev/null || note 'Did not find a host window manager.
- 350 Please pull image x11docker/openbox or provide one of:
- 351 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'
- 352 note 'Option --wm: Starting host window manager: xfwm4'
- 353 [ "$(id -u)" = '0' ] && su thepoon -c 'env DISPLAY=:0 XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie XSOCKET=/tmp/.X11-unix/X0 X11DOCKER_CACHE=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1 xfwm4 >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xinit.log 2>&1 & storepid $! windowmanager'
- 354 [ "$(id -u)" != '0' ] && env DISPLAY=:0 XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie XSOCKET=/tmp/.X11-unix/X0 X11DOCKER_CACHE=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1 xfwm4 >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xinit.log 2>&1 & storepid $! windowmanager
- 355 }
- 356 read Containerid < <(docker run --tty --rm --detach \
- 357 --name x11docker_X0_41a8d1_x11docker-xfce \
- 358 --user 1000:100 \
- 359 --env USER=thepoon \
- 360 --userns host \
- 361 --group-add 91 \
- 362 --group-add 92 \
- 363 --cap-drop ALL \
- 364 --cap-add CHOWN \
- 365 --cap-add DAC_OVERRIDE \
- 366 --cap-add FOWNER \
- 367 --cap-add SETGID \
- 368 --cap-add SETUID \
- 369 --security-opt no-new-privileges \
- 370 --security-opt label=type:container_runtime_t \
- 371 --volume '/usr/bin/docker-init':'/x11docker/tini':ro \
- 372 --tmpfs /run --tmpfs /run/lock \
- 373 --volume '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share':'/x11docker':rw \
- 374 --volume '/dev/dri':'/dev/dri':rw \
- 375 --device '/dev/dri':'/dev/dri':rw \
- 376 --volume '/dev/nvidia0':'/dev/nvidia0':rw \
- 377 --device '/dev/nvidia0':'/dev/nvidia0':rw \
- 378 --volume '/dev/nvidiactl':'/dev/nvidiactl':rw \
- 379 --device '/dev/nvidiactl':'/dev/nvidiactl':rw \
- 380 --volume '/dev/nvidia-modeset':'/dev/nvidia-modeset':rw \
- 381 --device '/dev/nvidia-modeset':'/dev/nvidia-modeset':rw \
- 382 --volume '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- 383 --device '/dev/vga_arbiter':'/dev/vga_arbiter':rw \
- 384 --volume '/home/thepoon/.local/share/x11docker/NVIDIA-Linux-x86_64-430.14.run':'/x11docker/NVIDIA-430.14.run':ro \
- 385 --volume '/tmp/.X11-unix/X0':'/X0':rw \
- 386 --ipc host \
- 387 --workdir '/tmp' \
- 388 --entrypoint env \
- 389 --env 'container=docker' \
- 390 --env 'XAUTHORITY=/x11docker/Xclientcookie' \
- 391 --env 'DISPLAY=:0' \
- 392 -- x11docker/xfce /bin/sh - /x11docker/container.CMD.sh 2>>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log | rmcr)
- 393
- 394 verbose -d "Container ID: $Containerid"
- 395 [ "$Containerid" ] || {
- 396 #rmcr '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log'
- 397 error "Startup of docker failed. Did not receive a container ID.
- 398
- 399 Last lines of container log:
- 400 $(tail /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log)"
- 401 }
- 402 echo $Containerid >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.id
- 403
- 404 # wait for container to be ready
- 405 for ((Count=1 ; Count<=20 ; Count++)); do
- 406 docker exec x11docker_X0_41a8d1_x11docker-xfce sh -c : 2>&1 | rmcr >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log && { verbose -d 'Container is up and running.' ; break ; } || verbose -d "Container not ready on $Count. attempt, trying again."
- 407 sleep 0.2
- 408 done
- 409 docker logs -f $Containerid 2>&1 | rmcr >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log &
- 410 for ((Count=1 ; Count<=10 ; Count++)); do
- 411 Pid1pid=$(docker inspect --format '{{.State.Pid}}' x11docker_X0_41a8d1_x11docker-xfce 2>>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log | rmcr)
- 412 verbose -d "$Count. check for PID 1: $Pid1pid"
- 413 checkpid "$Pid1pid" && break
- 414 sleep 0.2
- 415 done
- 416 echo $Pid1pid >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid
- 417 verbose -d "Host PID of container PID 1: $Pid1pid"
- 418
- 419 docker inspect --format '{{ .NetworkSettings.IPAddress }}' x11docker_X0_41a8d1_x11docker-xfce 2>>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log | rmcr >> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.ip
- 420 verbose -d "Container IP: $(cat /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.ip)"
- 421
- 422 Failure="$(cat /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log | rmcr | grep -v grep | grep -E 'Error response from daemon|OCI runtime exec' ||:)"
- 423 [ "$Failure" ] && {
- 424 echo "$Failure" >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log
- 425 error "Got error message from docker daemon:
- 426 $Failure"
- 427 }
- 428
- 429 docker exec --tty x11docker_X0_41a8d1_x11docker-xfce sh -c 'cp /x11docker/containerrootrc /tmp/containerrootrc ; chmod 644 /tmp/containerrootrc' 2>&1 | rmcr >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log
- 430 docker exec --tty -u root x11docker_X0_41a8d1_x11docker-xfce /bin/sh /tmp/containerrootrc 2>&1 | rmcr >>/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log
- 431 exit 0
- x11docker[563.65]: 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=:0 XAUTHORITY=/x11docker/Xclientcookie
- 38 [ -e /X0 ] && ln -s /X0 /tmp/.X11-unix/X0
- 39 ls -l /X0
- 40 ls -l /tmp/.X11-unix/X0
- 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/Paris'
- 46 }
- 47 [ -e '/usr/share/zoneinfo/Europe/Paris' ] && ln -f -s '/usr/share/zoneinfo/Europe/Paris' /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 'XAUTHORITY=/x11docker/Xclientcookie'
- 55 export 'DISPLAY=:0'
- 56
- 57 # Check container user
- 58 Containeruser=$(cat /x11docker/container.user)
- 59
- 60 # create user entry in /etc/passwd (and delete possibly existing same uid)
- 61 cat /etc/passwd | grep -v ':1000:' > /tmp/passwd
- 62 # disable possible /etc/shadow passwords for other users
- 63 sed -i s%:x:%:-:% /tmp/passwd
- 64 echo 'thepoon:x:1000:100:thepoon,,,:/fakehome/thepoon:/bin/sh' >> /tmp/passwd
- 65 rm /etc/passwd
- 66 mv /tmp/passwd /etc/passwd || warning 'Unable to change /etc/passwd. That may be a seurity risk.'
- 67
- 68 # create password entry for container user in /etc/shadow
- 69 rm -v /etc/shadow || warning 'Cannot change /etc/shadow. That may be a security risk.'
- 70 echo "thepoon:sac19FwGGTx/A:17293:0:99999:7:::" > /etc/shadow
- 71 echo 'root:*:17219:0:99999:7:::' >> /etc/shadow
- 72
- 73
- 74 # create user group entry (and delete possibly existing same gid)
- 75 cat /etc/group | grep -v ':100:' > /tmp/group
- 76 echo users:x:100: >> /tmp/group
- 77 mv /tmp/group /etc/group
- 78
- 79 mkdir -v -m 777 /fakehome
- 80
- 81 # create /etc/sudoers, delete /etc/sudoers.d. Overwrite possible sudo setups in image.
- 82 [ -e /etc/sudoers.d ] && rm -v -R /etc/sudoers.d
- 83 [ -e /etc/sudoers ] && rm -v /etc/sudoers
- 84 echo '# /etc/sudoers created by x11docker' > /etc/sudoers
- 85 echo 'root ALL=(ALL) ALL' >> /etc/sudoers
- 86
- 87 # restrict PAM configuration of su and sudo
- 88 mkdir -p /etc/pam.d
- 89 [ -e /etc/pam.d/sudo ] && rm -v /etc/pam.d/sudo
- 90 case "$Containersystem" in
- 91 fedora)
- 92 echo '#%PAM-1.0' > /etc/pam.d/su
- 93 echo 'auth sufficient pam_rootok.so' >> /etc/pam.d/su
- 94 echo 'account sufficient pam_succeed_if.so uid = 0 use_uid quiet' >> /etc/pam.d/su
- 95 echo 'session include system-auth' >> /etc/pam.d/su
- 96 ;;
- 97 *)
- 98 echo '#%PAM-1.0' > /etc/pam.d/su
- 99 echo 'auth sufficient pam_rootok.so' >> /etc/pam.d/su # allow root to switch user without a password
- 100 echo '@include common-auth' >> /etc/pam.d/su
- 101 echo '@include common-account' >> /etc/pam.d/su
- 102 echo '@include common-session' >> /etc/pam.d/su
- 103 ;;
- 104 esac
- 105
- 106 [ -e '/fakehome/thepoon' ] || {
- 107 # only create HOME here if capability CHOWN is allowed.
- 108 :>/tmp/chowntestfile
- 109 chown $Containeruser /tmp/chowntestfile && {
- 110 mkdir -v -p '/fakehome/thepoon'
- 111 chown $Containeruser '/fakehome/thepoon'
- 112 }
- 113 rm /tmp/chowntestfile
- 114 }
- 115
- 116 # Set up container user groups
- 117 Groupname=
- 118 Groupid=
- 119 [ "$Groupname" ] || Groupname=$(cat /etc/group | grep "video" | cut -d: -f1)
- 120 [ "$Groupid" ] || Groupid=$(cat /etc/group | grep "video" | cut -d: -f3)
- 121 [ "$Groupname" ] && {
- 122 cat /etc/group | sed "s/^$Groupname.*/$Groupname:x:$Groupid:$(cat /etc/group | grep "$Groupname:.:" | cut -d: -f4 ),$Containeruser/" | sed 's/:,/:/' > /tmp/group
- 123 cat /etc/group | grep -q "$Groupname:.:" || echo $Groupname:x:$Groupid:$Containeruser >> /tmp/group
- 124 cp /tmp/group /etc/group
- 125 } || note 'Failed to add user to group: video'
- 126
- 127 Groupname=
- 128 Groupid=
- 129 [ "$Groupname" ] || Groupname=$(cat /etc/group | grep "audio" | cut -d: -f1)
- 130 [ "$Groupid" ] || Groupid=$(cat /etc/group | grep "audio" | cut -d: -f3)
- 131 [ "$Groupname" ] && {
- 132 cat /etc/group | sed "s/^$Groupname.*/$Groupname:x:$Groupid:$(cat /etc/group | grep "$Groupname:.:" | cut -d: -f4 ),$Containeruser/" | sed 's/:,/:/' > /tmp/group
- 133 cat /etc/group | grep -q "$Groupname:.:" || echo $Groupname:x:$Groupid:$Containeruser >> /tmp/group
- 134 cp /tmp/group /etc/group
- 135 } || note 'Failed to add user to group: audio'
- 136
- 137 Nvidiaversion=$(nvidia-settings -v 2>/dev/null | grep version | rev | cut -d' ' -f1 | rev)
- 138 [ "$Nvidiaversion" ] && note "Found NVIDIA driver $Nvidiaversion in image."
- 139 case "$Nvidiaversion" in
- 140 430.14) note 'NVIDIA driver version in image matches version on host. Skipping installation.' ;;
- 141 *)
- 142 Installationwillsucceed=maybe
- 143 case "$Containerlibc" in
- 144 musl) note 'Installing NVIDIA driver in container systems
- 145 based on musl libc like Alpine is not possible due to
- 146 proprietary closed source policy of NVIDIA corporation.'
- 147 Installationwillsucceed=no
- 148 ;;
- 149 esac
- 150 case $Containersystem in
- 151 opensuse)
- 152 note "Nvidia driver installation probably fails in $Containersystem.
- 153 You can try to install nvidia driver 430.14 in image yourself."
- 154 ;;
- 155 esac
- 156 [ "$Installationwillsucceed" = "maybe" ] && {
- 157 note 'Installing NVIDIA driver 430.14 in container.'
- 158 mkdir -m 1777 /tmp2
- 159 # provide fake tools to fool installer dependency check
- 160 ln -s /bin/true /tmp2/modprobe
- 161 ln -s /bin/true /tmp2/depmod
- 162 ln -s /bin/true /tmp2/lsmod
- 163 ln -s /bin/true /tmp2/rmmod
- 164 ln -s /bin/true /tmp2/ld
- 165 ln -s /bin/true /tmp2/objcopy
- 166 ln -s /bin/true /tmp2/insmod
- 167 Nvidiaoptions='--accept-license --no-runlevel-check --no-questions --no-backup --ui=none --no-kernel-module --no-nouveau-check'
- 168 env TMPDIR=/tmp2 PATH=/tmp2:$PATH sh /x11docker/NVIDIA-430.14.run -A | grep -q -- '--install-libglvnd' && Nvidiaoptions="$Nvidiaoptions --install-libglvnd"
- 169 env TMPDIR=/tmp2 PATH=/tmp2:$PATH sh /x11docker/NVIDIA-430.14.run -A | grep -q -- '--no-nvidia-modprobe' && Nvidiaoptions="$Nvidiaoptions --no-nvidia-modprobe"
- 170 env TMPDIR=/tmp2 PATH=/tmp2:$PATH sh /x11docker/NVIDIA-430.14.run -A | grep -q -- '--no-kernel-module-source' && Nvidiaoptions="$Nvidiaoptions --no-kernel-module-source"
- 171 df -h /tmp2
- 172 env TMPDIR=/tmp2 PATH=/tmp2:$PATH sh /x11docker/NVIDIA-430.14.run --tmpdir /tmp $Nvidiaoptions || note 'ERROR: Installation of NVIDIA driver failed.
- 173 Run with option --verbose to see installer output.'
- 174 rm -R /tmp2 && unset TMPDIR
- 175 } || note 'Skipping installation of /x11docker/NVIDIA-430.14.run'
- 176 ;;
- 177 esac
- 178
- 179
- 180 # disable getty in inittab
- 181 [ -e /etc/inittab ] && sed -i 's/.*getty/##getty disabled by x11docker## \0/' /etc/inittab
- 182
- 183
- 184 echo 'x11docker: Container root setup is ready'
- 185 :> /x11docker.setupready
- 186
- x11docker[563.66]: Generated xinitrc:
- 1 #! /bin/sh
- 2 Timetosaygoodbye=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/timetosaygoodbye
- 3 Timetosaygoodbyefifo=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/timetosaygoodbye.fifo
- 4 Sharefolder=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share
- 5 Bgpidfile=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/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 rmcr ()
- 44 {
- 45 case "${1:-}" in
- 46 "")
- 47 sed "s/$(printf "\r")//g"
- 48 ;;
- 49 *)
- 50 sed -i "s/$(printf "\r")//g" "${1:-}"
- 51 ;;
- 52 esac
- 53 }
- 54 disable_xhost ()
- 55 {
- 56 local Line=;
- 57 command -v xhost > /dev/null || {
- 58 warning "Command 'xhost' not found.
- 59 Can not check for possibly allowed network access to X.
- 60 Please install 'xhost'.
- 61 $Wikipackages";
- 62 return 1
- 63 };
- 64 xhost 2>&1 | rmcr | tail -n +2 /dev/stdin | while read -r Line; do
- 65 verbose -d "xhost: Removing entry $Line";
- 66 xhost -$Line | rmcr;
- 67 done;
- 68 xhost - | rmcr;
- 69 [ "$(xhost 2>&1 | rmcr | wc -l)" -gt "1" ] && {
- 70 warning "Remaining xhost permissions found on display ${DISPLAY:-}
- 71 $(xhost 2>&1 | rmcr)";
- 72 return 1
- 73 };
- 74 xhost 2>&1 | rmcr | grep "access control disabled" && {
- 75 warning "Failed to restrict xhost permissions.
- 76 Access to display ${DISPLAY:-} is allowed for everyone.";
- 77 return 1
- 78 };
- 79 return 0
- 80 }
- 81
- 82 warning() {
- 83 echo "$*:WARNING" >>$Messagefile
- 84 }
- 85 note() {
- 86 echo "$*:NOTE" >>$Messagefile
- 87 }
- 88 verbose() {
- 89 echo "$*:VERBOSE" >>$Messagefile
- 90 }
- 91 debugnote() {
- 92 echo "$*:DEBUGNOTE" >>$Messagefile
- 93 }
- 94 error() {
- 95 echo "$*:ERROR" >>$Messagefile
- 96 exit 1
- 97 }
- 98 stdout() {
- 99 echo "$*:STDOUT" >>$Messagefile
- 100 }
- 101 Messagefile=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/message.fifo
- 102
- 103 export PATH='/home/thepoon/.gem/ruby/2.5.0/bin:/home/thepoon/.gem/ruby/2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/games:/usr/local/bin:/usr/sbin:/sbin'
- 104 verbose -d 'Running xinitrc'
- 105 export DISPLAY=:0 XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie XSOCKET=/tmp/.X11-unix/X0 X11DOCKER_CACHE=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1
- 106 # background color
- 107 # create new XAUTHORITY cookies
- 108 cd /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share
- 109 :> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 110 export XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/Xauthority-
- 111 xhost | rmcr | grep -q 'SI:localuser:thepoon' || { xhost +SI:localuser:thepoon | rmcr ; Xhostentry='yes' ; }
- 112 verbose 'Requesting trusted cookie from X server'
- 113 echo 'Requesting trusted cookie from X server'
- 114 xauth -v -i -f Xclientcookie generate :0 . trusted timeout 3600 | rmcr
- 115 export XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 116 [ -s '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie' ] || {
- 117 [ 'trusted' = 'untrusted' ] && note 'Could not create untrusted cookie.
- 118 Maybe your X server misses extension SECURITY.'
- 119 warning 'SECURITY RISK! Keylogging and remote host control
- 120 may be possible! Better avoid using option --hostdisplay,
- 121 rather use --xpra or --nxagent.'
- 122 cp /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/Xauthority- /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 123 }
- 124 ls -l /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 125 [ -s '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie' ] || {
- 126 # still no cookie? try to create one without extension security
- 127 verbose -d 'Failed to retrieve trusted cookie from X server. Will bake one myself.'
- 128 echo 'Failed to retrieve trusted cookie from X server. Will bake one myself.'
- 129 xauth -v -i -f Xclientcookie add :0 . 15480738e9792cbeb7786a35af411cf7 | rmcr
- 130 ls -l /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 131 }
- 132 # create prepared cookie with localhost identification disabled by ffff, needed if X socket is shared. ffff means 'familiy wild'
- 133 Cookie="$(xauth -i -f Xclientcookie nlist | rmcr | sed -e 's/^..../ffff/')"
- 134 echo "$Cookie" | xauth -v -i -f Xclientcookie nmerge - | rmcr
- 135 cp /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/Xservercookie
- 136 [ -s '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie' ] || warning 'Cookie creation failed!'
- 137 verbose -d "Created cookie: $(xauth -f Xclientcookie list 2>&1 | rmcr)"
- 138 chmod 644 /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 139 [ '$Xhostentry' = 'yes' ] && env XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/Xauthority- xhost -SI:localuser:thepoon | rmcr
- 140 export XAUTHORITY=/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- 141 [ 'yes' = 'no' ] || [ ! -s '/home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie' ] && unset XAUTHORITY && warning '--hostdisplay: X server :0 runs without cookie authentication.'
- 142 getscreensize() {
- 143 CurrentXaxis=$(xrandr | grep primary | cut -d' ' -f4 | cut -dx -f1 )
- 144 CurrentYaxis=$(xrandr | grep primary | cut -d' ' -f4 | cut -dx -f2 | cut -d+ -f1)
- 145 }
- 146 checkscreensize() {
- 147 getscreensize
- 148 [ "$Xaxis" = "$CurrentXaxis" ] || return 1
- 149 [ "$Yaxis" = "$CurrentYaxis" ] || return 1
- 150 return 0
- 151 }
- 152 getprimary() {
- 153 xrandr | grep -q primary || xrandr --output $(xrandr | grep ' connected' | head -n1 | cut -d' ' -f1) --primary
- 154 echo $(xrandr | grep primary | cut -d' ' -f1)
- 155 }
- 156 Output=$(getprimary)
- 157 verbose "Output of xrandr on :0
- 158 $(xrandr)"
- 159 touch /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/Xready
- 160 waitfortheend
- x11docker[563.66]: Stored background pid 50250 of containershell
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xinit.log <==
- Requesting trusted cookie from X server
- Ignoring locks on authority file Xclientcookie
- authorization id is 1633
- Ignoring locks and writing authority file Xclientcookie
- -rw------- 1 thepoon users 55 22 mai 23:46 /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/Xclientcookie
- Ignoring locks on authority file Xclientcookie
- 1 entries read in: 0 new, 1 replacement
- Ignoring locks and writing authority file Xclientcookie
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[563.68]: Running xinitrc
- x11docker[563.69]: Requesting trusted cookie from X server
- x11docker[563.70]: Created cookie: #ffff#546865506f6f4e735043#:0 MIT-MAGIC-COOKIE-1 a60455456897a3f32d7e746c1f89b3e5
- x11docker[563.77]: Waiting since 0s for --hostdisplay to be ready.
- x11docker[563.77]: --hostdisplay is ready
- x11docker[563.79]: Waiting since 0s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[563.81]: Output of xrandr on :0
- Screen 0: minimum 8 x 8, current 4480 x 1440, maximum 32767 x 32767
- DP-0 connected primary 2560x1440+1920+0 (normal left inverted right x axis y axis) 598mm x 336mm
- 2560x1440 59.95 + 144.00* 120.00 99.95 84.98 23.97
- DP-1 disconnected (normal left inverted right x axis y axis)
- HDMI-0 connected 1920x1080+0+360 (normal left inverted right x axis y axis) 477mm x 268mm
- 1920x1080 60.00*+
- 1680x1050 59.95
- 1600x1200 60.00
- 1440x900 59.89
- 1280x1024 60.02
- 1280x960 60.00
- 1280x720 60.00
- 1024x768 60.00
- 800x600 60.32
- 640x480 59.94
- DP-2 disconnected (normal left inverted right x axis y axis)
- DP-3 disconnected (normal left inverted right x axis y axis)
- DP-4 disconnected (normal left inverted right x axis y axis)
- DP-5 disconnected (normal left inverted right x axis y axis)
- USB-C-0 disconnected (normal left inverted right x axis y axis)
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log <==
- WARNING: bridge-nf-call-iptables is disabled
- WARNING: bridge-nf-call-ip6tables is disabled
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[563.82]: Running dockerrc
- x11docker[563.84]: Found default runtime: runc
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log <==
- [
- {
- "Id": "sha256:cc8150a67b9bb331eea9dd00491c438d9b1bab42d7112fac00955f80a950dbe1",
- "RepoTags": [
- "x11docker/xfce:latest"
- ],
- "RepoDigests": [
- "x11docker/xfce@sha256:0ffc5c1e8ef4e50cf2debbf818652d190aa0149051d2750f27e801d4c17d3707"
- ],
- "Parent": "",
- "Comment": "",
- "Created": "2019-04-14T20:15:37.339711713Z",
- "Container": "b515e7cee1f8e2b825268b057030746622573bf180dcc9e78b0c3fb34224eee1",
- "ContainerConfig": {
- "Hostname": "b515e7cee1f8",
- "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) ",
- "CMD [\"startxfce4\"]"
- ],
- "ArgsEscaped": true,
- "Image": "sha256:b98d6bc75405867833d548d374698699307eecb4048a0630ce09a890d60388bf",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": null,
- "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": [
- "startxfce4"
- ],
- "ArgsEscaped": true,
- "Image": "sha256:b98d6bc75405867833d548d374698699307eecb4048a0630ce09a890d60388bf",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": null,
- "OnBuild": null,
- "Labels": null
- },
- "Architecture": "amd64",
- "Os": "linux",
- "Size": 507305572,
- "VirtualSize": 507305572,
- "GraphDriver": {
- "Data": {
- "LowerDir": "/var/lib/docker/overlay2/6e114166032ea8a324b00709938d2e560519a7af56ea2df3f2b5f6883d426487/diff",
- "MergedDir": "/var/lib/docker/overlay2/f3ec9fdb477f913d8e370239851b2eac96fd677f66d7c903a54ffa021fa74c3a/merged",
- "UpperDir": "/var/lib/docker/overlay2/f3ec9fdb477f913d8e370239851b2eac96fd677f66d7c903a54ffa021fa74c3a/diff",
- "WorkDir": "/var/lib/docker/overlay2/f3ec9fdb477f913d8e370239851b2eac96fd677f66d7c903a54ffa021fa74c3a/work"
- },
- "Name": "overlay2"
- },
- "RootFS": {
- "Type": "layers",
- "Layers": [
- "sha256:9bc98e9143764bc9472b1a4fa850d5f5b4a50b03979b8af8250bda553cf898d8",
- "sha256:9a4e8cef3b33a3b605561bd01a5550f2b07a386838b35de1904e558b207eb8e1"
- ]
- },
- "Metadata": {
- "LastTagTime": "0001-01-01T00:00:00Z"
- }
- }
- ]
- [
- {
- "Id": "sha256:cc8150a67b9bb331eea9dd00491c438d9b1bab42d7112fac00955f80a950dbe1",
- "RepoTags": [
- "x11docker/xfce:latest"
- ],
- "RepoDigests": [
- "x11docker/xfce@sha256:0ffc5c1e8ef4e50cf2debbf818652d190aa0149051d2750f27e801d4c17d3707"
- ],
- "Parent": "",
- "Comment": "",
- "Created": "2019-04-14T20:15:37.339711713Z",
- "Container": "b515e7cee1f8e2b825268b057030746622573bf180dcc9e78b0c3fb34224eee1",
- "ContainerConfig": {
- "Hostname": "b515e7cee1f8",
- "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) ",
- "CMD [\"startxfce4\"]"
- ],
- "ArgsEscaped": true,
- "Image": "sha256:b98d6bc75405867833d548d374698699307eecb4048a0630ce09a890d60388bf",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": null,
- "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": [
- "startxfce4"
- ],
- "ArgsEscaped": true,
- "Image": "sha256:b98d6bc75405867833d548d374698699307eecb4048a0630ce09a890d60388bf",
- "Volumes": null,
- "WorkingDir": "",
- "Entrypoint": null,
- "OnBuild": null,
- "Labels": null
- },
- "Architecture": "amd64",
- "Os": "linux",
- "Size": 507305572,
- "VirtualSize": 507305572,
- "GraphDriver": {
- "Data": {
- "LowerDir": "/var/lib/docker/overlay2/6e114166032ea8a324b00709938d2e560519a7af56ea2df3f2b5f6883d426487/diff",
- "MergedDir": "/var/lib/docker/overlay2/f3ec9fdb477f913d8e370239851b2eac96fd677f66d7c903a54ffa021fa74c3a/merged",
- "UpperDir": "/var/lib/docker/overlay2/f3ec9fdb477f913d8e370239851b2eac96fd677f66d7c903a54ffa021fa74c3a/diff",
- "WorkDir": "/var/lib/docker/overlay2/f3ec9fdb477f913d8e370239851b2eac96fd677f66d7c903a54ffa021fa74c3a/work"
- },
- "Name": "overlay2"
- },
- "RootFS": {
- "Type": "layers",
- "Layers": [
- "sha256:9bc98e9143764bc9472b1a4fa850d5f5b4a50b03979b8af8250bda553cf898d8",
- "sha256:9a4e8cef3b33a3b605561bd01a5550f2b07a386838b35de1904e558b207eb8e1"
- ]
- },
- "Metadata": {
- "LastTagTime": "0001-01-01T00:00:00Z"
- }
- }
- ]
- 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=" 'glxgears'"
- 38 Entrypoint=""
- 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="/fakehome/thepoon"
- 47 export USER="$Containeruser"
- 48 export HOME="$Containeruserhome"
- 49 mkdir -p $Containeruserhome
- 50 # Copy files from /etc/skel into empty HOME
- 51 [ -d /etc/skel ] && [ "$(ls -A "/fakehome/thepoon" 2>/dev/null)" ] && {
- 52 cp -n -R /etc/skel/. $Containeruserhome
- 53 }
- 54 [ -e /x11docker/pulsecookie ] && {
- 55 mkdir -p /.config/pulse
- 56 cp /x11docker/pulsecookie /.config/pulse/cookie
- 57 }
- 58 [ -e /tmp/.X11-unix/X0 ] || ln -s /X0 /tmp/.X11-unix
- 59 Exec=exec
- 60 export NO_AT_BRIDGE=1
- 61
- 62 [ -e "$XDG_RUNTIME_DIR" ] || {
- 63 export XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR
- 64 mkdir -m 700 -p $XDG_RUNTIME_DIR
- 65 export XDG_RUNTIME_DIR
- 66 }
- 67
- 68 export XDG_SESSION_TYPE=x11
- 69
- 70
- 71 # xpra environment settings
- 72 export UBUNTU_MENUPROXY= QT_X11_NO_NATIVE_MENUBAR=1 MWNOCAPTURE=true MWNO_RIT=true MWWM=allwm
- 73
- 74 bash --version >/dev/null 2>&1 && export SHELL=/bin/bash || export SHELL=/bin/sh
- 75 export TERM=xterm
- 76 [ -e /x11docker.LANG ] && export LANG="$(cat /x11docker.LANG)"
- 77 [ -e "/usr/share/zoneinfo/Europe/Paris" ] || export TZ=UTC-02
- 78 [ "$(date -Ihours)" != "2019-05-22T23+02:00" ] && export TZ=UTC-02
- 79 [ "$DEBIAN_FRONTEND" = noninteractive ] && unset DEBIAN_FRONTEND
- 80 [ "$DEBIAN_FRONTEND" = newt ] && unset DEBIAN_FRONTEND
- 81 # container environment (--env)
- 82 export "container=docker"
- 83 export "XAUTHORITY=/x11docker/Xclientcookie"
- 84 export "DISPLAY=:0"
- 85
- 86 env >> /x11docker/environment
- 87 verbose "Container environment:
- 88 $(env | sort)"
- 89 verbose "Copy of environment stored in /x11docker/environment"
- 90
- 91 cd "$HOME"
- 92
- 93 verbose -d Running image command: /x11docker/tini -- $Dbus 'glxgears'
- 94 $Exec /x11docker/tini -- $Dbus 'glxgears' >>/x11docker/stdout 2>>/x11docker/stderr
- 95 # Ready for docker run
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[564.20]: Waiting since 0s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[564.71]: Waiting since 1s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[565.31]: Waiting since 1s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[565.44]: Waiting since 1s for container root setup to be ready
- x11docker[565.47]: Container ID: 1e355816ee118b55dfc699d52b0ca8eca55de273527c65887c84d44945ce240a
- x11docker[565.71]: Container is up and running.
- x11docker[565.74]: 1. check for PID 1: 50667
- x11docker[565.75]: Host PID of container PID 1: 50667
- x11docker[565.77]: Container IP: 172.17.0.2
- x11docker[566.02]: Waiting since 2s for /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid to have content, will wait up to 32000 seconds.
- x11docker[566.02]: Found file content in /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.pid1pid
- x11docker[566.26]: Running setup as root in container
- x11docker[566.28]: Container libc: glibc
- x11docker[566.29]: Container system ID: debian
- x11docker note: Installing NVIDIA driver 430.14 in container.
- x11docker[566.44]: Waiting since 2s for container root setup to be ready
- x11docker[567.44]: Waiting since 3s for container root setup to be ready
- x11docker[568.44]: Waiting since 4s for container root setup to be ready
- x11docker[569.44]: Waiting since 5s for container root setup to be ready
- x11docker[570.44]: Waiting since 6s for container root setup to be ready
- x11docker[571.44]: Waiting since 7s for container root setup to be ready
- x11docker[572.44]: Waiting since 8s for container root setup to be ready
- x11docker[573.45]: Waiting since 9s for container root setup to be ready
- x11docker[574.45]: Waiting since 10s for container root setup to be ready
- x11docker note: ERROR: Installation of NVIDIA driver failed.
- Run with option --verbose to see installer output.
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/container.log <==
- mkdir: created directory '/var/run/dbus'
- mkdir: created directory '/tmp/.ICE-unix'
- mkdir: created directory '/tmp/.X11-unix'
- mkdir: created directory '/tmp/.font-unix'
- srwxrwxrwx 1 root root 0 May 22 10:39 /X0
- lrwxrwxrwx 1 root root 3 May 22 21:46 /tmp/.X11-unix/X0 -> /X0
- removed '/etc/shadow'
- mkdir: created directory '/fakehome'
- chown: changing ownership of '/tmp/chowntestfile': Operation not permitted
- Verifying archive integrity... OK
- Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 430.14..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Extraction failed.
- Signal caught, cleaning up
- x11docker: Container root setup is ready
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[574.57]: Waiting for file creation of /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xtermready
- x11docker[574.58]: Found new created file /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/xtermready
- x11docker[575.45]: Waiting since 11s for container root setup to be ready
- x11docker[575.46]: Running unprivileged user commands in container
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/share/stderr <==
- libGL error: No matching fbConfigs or visuals found
- libGL error: failed to load driver: swrast
- X Error of failed request: BadValue (integer parameter out of range for operation)
- Major opcode of failed request: 151 (GLX)
- Minor opcode of failed request: 3 (X_GLXCreateContext)
- Value in failed request: 0x0
- Serial number of failed request: 39
- Current serial number in output stream: 41
- ==> /home/thepoon/.cache/x11docker/x11docker-xfce-41a8d1/message.log <==
- x11docker[575.49]: Container system:
- PRETTY_NAME="Debian GNU/Linux buster/sid"
- NAME="Debian GNU/Linux"
- ID=debian
- HOME_URL="https://www.debian.org/"
- SUPPORT_URL="https://www.debian.org/support"
- BUG_REPORT_URL="https://bugs.debian.org/"
- x11docker[575.54]: Container environment:
- DISPLAY=:0
- HOME=/fakehome/thepoon
- HOSTNAME=1e355816ee11
- MWNOCAPTURE=true
- MWNO_RIT=true
- MWWM=allwm
- NO_AT_BRIDGE=1
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- PWD=/tmp
- QT_X11_NO_NATIVE_MENUBAR=1
- SHELL=/bin/bash
- TERM=xterm
- UBUNTU_MENUPROXY=
- USER=thepoon
- XAUTHORITY=/x11docker/Xclientcookie
- XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR
- XDG_SESSION_TYPE=x11
- container=docker
- x11docker[575.55]: Copy of environment stored in /x11docker/environment
- x11docker[575.57]: Running image command: /x11docker/tini -- glxgears
- x11docker[575.58]: Stored background pid 50667 of containerpid1
- x11docker[575.60]: Watching pids:
- x11docker[575.60]: time to say goodbye (watchpidlist 50667)
- x11docker[575.60]: time to say goodbye (watchpidlist)
- x11docker[575.60]: time to say goodbye (main)
- x11docker[575.60]: Terminating x11docker.
- x11docker[575.61]: time to say goodbye (timetosaygoodbyefifo)
- x11docker[575.66]: Terminating 50250 (containershell) x11docker: 50250 pts/1 00:00:00 bash
- x11docker[575.83]: time to say goodbye (finish)
- x11docker[575.83]: Exitcode 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement