Advertisement
Guest User

Untitled

a guest
May 2nd, 2018
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.22 KB | None | 0 0
  1. x11docker: 2018年 05月 02日 星期三 09:29:26 CST Deepin 15 X.Org X Server 1.19.3
  2. Command: /usr/bin/x11docker --desktop --user=root --size 320x240 x11docker/lxde
  3. Parsed options: --desktop --user 'root' --size '320x240' -- 'x11docker/lxde'
  4.  
  5. x11docker note: docker-init not found in PATH.
  6. This is probably a docker packaging error of your distribution.
  7. Zombie process reaping will not work.
  8. Fallback: Running x11docker with option --no-init.
  9.  
  10. x11docker note: Using X server option --xephyr
  11.  
  12. x11docker: Cookie of :0: start-PC/unix:0 MIT-MAGIC-COOKIE-1 93f3ec2f3d4ea8ee9dbb98919270d12f
  13.  
  14. x11docker: Host system: deepin
  15. Wanda the fish says:
  16.  
  17. x11docker: X or Wayland server option: --xephyr
  18.  
  19. x11docker: Virtual screen size: 320x240
  20.  
  21. x11docker: Real screen size: Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
  22.  
  23. x11docker: Environment variables:
  24. DISPLAY=:200 XAUTHORITY=/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie XSOCKET=/tmp/.X11-unix/X200 XPRA_XSHM=0 X11DOCKER_CACHE=/home/start/.cache/x11docker/X200-x11docker-lxde
  25.  
  26. x11docker: Docker version: Docker version 1.13.1, build 092cba3
  27.  
  28. x11docker: Image name: x11docker/lxde
  29.  
  30. x11docker: Image command:
  31.  
  32. x11docker: Users and terminal:
  33. x11docker was started by: start
  34. As host user serves (running X, storing cache): start
  35. Container user will be: root
  36. Container user password: x11docker
  37. Getting permission to run docker with: bash -c sudo -E
  38. Running X and other user commands with: bash -c
  39. Terminal for password frontend: xterm -e
  40. Terminal to show docker pull progress: xterm -e
  41. Running on console: no
  42.  
  43. x11docker: Current cache folder: /home/start/.cache/x11docker/X200-x11docker-lxde
  44.  
  45. x11docker: Created X server command:
  46. /usr/bin/Xephyr :200 -screen 320x240 -glamor \
  47. -title 'x11docker/lxde on :200 (ctrl+shift grabs mouse and keyboard)' \
  48. -nolisten tcp -dpms -retro \
  49. +extension Composite +extension RANDR +extension RENDER +extension GLX\
  50. +extension XVideo +extension DOUBLE-BUFFER \
  51. -extension X-Resource +extension SECURITY +extension DAMAGE \
  52. -extension XINERAMA -xinerama -extension MIT-SHM \
  53. -auth /home/start/.cache/x11docker/X200-x11docker-lxde/Xservercookie \
  54. -extension XTEST -tst -dpi 96
  55.  
  56. x11docker: Init system in container: none
  57.  
  58. x11docker: Created docker command:
  59. docker run -d --tty --rm --name=x11docker_X200_e11aba_x11docker_lxde \
  60. --user root --env USER=root \
  61. --cap-drop=ALL \
  62. --cap-add CHOWN --cap-add KILL\
  63. --cap-add FSETID --cap-add FOWNER --cap-add SETPCAP \
  64. --cap-add SETUID --cap-add SETGID --cap-add DAC_OVERRIDE\
  65. --cap-add AUDIT_WRITE \
  66. --security-opt label=type:container_runtime_t \
  67. --entrypoint=env \
  68. --env container=docker \
  69. -v /home/start/.cache/x11docker/X200-x11docker-lxde/share:/x11docker:rw \
  70. -v /tmp/.X11-unix/X200:/X200:rw \
  71. -v /etc/localtime:/etc/localtime:ro \
  72. --workdir /tmp \
  73. -- x11docker/lxde /bin/sh - /x11docker/containersetup.sh
  74.  
  75. x11docker: Created containersetup.sh:
  76. 1 #! /bin/sh
  77. 2 # set up docker container as root before ongoing in unprivileged x11docker.CMD.sh
  78. 3 # commands in this script are executed as root in container
  79. 4 echo x11docker: setup as root in container
  80. 5
  81. 6 # create some system dirs with needed permissions
  82. 7 mkdir -v -p /var/lib/dbus /var/run/dbus
  83. 8 mkdir -v -p -m 1777 /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix
  84. 9 chmod -c 1777 /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix
  85. 10 ln -s /X200 /tmp/.X11-unix/X200
  86. 11 ls -l /tmp/.X11-unix/X200
  87. 12 export DISPLAY=:200 XAUTHORITY=/x11docker/Xclientcookie
  88. 13
  89. 14
  90. 15 # create user entry in /etc/passwd (and delete possibly existing same uid)
  91. 16 getent passwd | grep -v $(getent passwd 0 || echo USERNOTFOUND) > /tmp/passwd
  92. 17 echo root:x:0:0:root,,,:/fakehome/root:/bin/sh >> /tmp/passwd
  93. 18 mv /tmp/passwd /etc/passwd
  94. 19
  95. 20 # make sure root has no password in /etc/shadow
  96. 21 sed -i /root.*/d /etc/shadow
  97. 22 echo 'root:*:17219:0:99999:7:::' >> /etc/shadow
  98. 23
  99. 24 # create password entry for container user in /etc/shadow
  100. 25 sed -i /root.*/d /etc/shadow # delete user entry if already existing
  101. 26 echo "root:sac19FwGGTx/A:17293:0:99999:7:::" >> /etc/shadow
  102. 27
  103. 28 # add user to groups video, audio, systemd-journal
  104. 29 # replace container GIDs of video and audio with host GIDs
  105. 30 Gidvideo=44
  106. 31 Gidaudio=29
  107. 32 [ "$Gidvideo" ] || Gidvideo=$(getent group | grep video: | cut -d: -f3)
  108. 33 [ "$Gidaudio" ] || Gidaudio=$(getent group | grep audio: | cut -d: -f3)
  109. 34 getent group | sed "s/^video.*/video:x:$Gidvideo:$(getent group | grep video: | cut -d: -f4 ),root/ ;
  110. 35 s/^audio.*/audio:x:$Gidaudio:$(getent group | grep audio: | cut -d: -f4 ),root/ ;
  111. 36 s/^systemd-journal.*/\0,root/ " | sed 's/:,/:/' > /tmp/group
  112. 37 cp /tmp/group /etc/group
  113. 38
  114. 39 # create user group entry (and delete possibly existing same gid)
  115. 40 getent group | grep -v $(getent group 0 || echo USERNOTFOUND) > /tmp/group
  116. 41 echo root:x:0: >> /tmp/group
  117. 42 mv /tmp/group /etc/group
  118. 43
  119. 44 mkdir -v -m 777 /fakehome
  120. 45
  121. 46 # create /etc/sudoers, remove /etc/sudoers.d. Delete possible sudo setups in image.
  122. 47 echo 'root ALL=(ALL) ALL' > /etc/sudoers
  123. 48 rm -R /etc/sudoers.d
  124. 49
  125. 50
  126. 51
  127. 52
  128. 53 :> /x11docker.setupready
  129. 54 exec /bin/su - -s /bin/sh root /x11docker/x11docker.CMD.sh
  130.  
  131. x11docker: Created dockerrc:
  132. 1 #! /bin/bash
  133. 2 waitforfilecreation ()
  134. 3 {
  135. 4 local Zeit Warten;
  136. 5 Zeit=$(date +%s);
  137. 6 verbose "Waiting for file creation of ${1:-}";
  138. 7 case ${2:-} in
  139. 8 "")
  140. 9 Warten=15
  141. 10 ;;
  142. 11 infinity | inf)
  143. 12 Warten=32000
  144. 13 ;;
  145. 14 *)
  146. 15 Warten=${2:-}
  147. 16 ;;
  148. 17 esac;
  149. 18 while [ ! "$(find "${1:-}" 2>/dev/null)" ]; do
  150. 19 sleep 0.2;
  151. 20 [ $Warten -lt $(($(date +%s) - $Zeit)) ] && {
  152. 21 warning "Failed to wait for file creation of
  153. 22 ${1:-}";
  154. 23 return 1
  155. 24 };
  156. 25 verbose "waiting since $(($(date +%s) - $Zeit))s for ${1:-} to be created, will wait up to $Warten seconds.";
  157. 26 [ -e "$Timetosaygoodbye" ] && {
  158. 27 verbose "stopped waiting for ${1:-} due to terminating signal.";
  159. 28 return 1
  160. 29 };
  161. 30 done;
  162. 31 verbose "Found new created file $(ls ${1:-})";
  163. 32 sleep 0.1;
  164. 33 return 0
  165. 34 }
  166. 35 verbose ()
  167. 36 {
  168. 37 [ -e "$Logfile" ] && echo "x11docker: $*
  169. 38 " >> "$Logfile";
  170. 39 return 0
  171. 40 }
  172. 41 warning ()
  173. 42 {
  174. 43 echo "$(tput setaf 3)x11docker WARNING:$(tput sgr0) $*" 1>&3;
  175. 44 echo "" 1>&3;
  176. 45 [ -e "$Logfile" ] && echo "x11docker WARNING: $*
  177. 46 " >> "$Logfile";
  178. 47 return 0
  179. 48 }
  180. 49 note ()
  181. 50 {
  182. 51 echo "$(tput setaf 2)x11docker note:$(tput sgr0) $*" 1>&3;
  183. 52 echo "" 1>&3;
  184. 53 [ -e "$Logfile" ] && echo "x11docker note: $*
  185. 54 " >> "$Logfile";
  186. 55 return 0
  187. 56 }
  188. 57 notestdout ()
  189. 58 {
  190. 59 echo "$*" 1>&5
  191. 60 }
  192. 61 escapestring ()
  193. 62 {
  194. 63 echo "${1:-}" | LC_ALL=C sed -e 's/[^a-zA-Z0-9,._+@=/-]/\\&/g; 1{$s/^$/""/}; 1!s/^/"/; $!s/$/"/'
  195. 64 }
  196. 65 Imagename="x11docker/lxde"
  197. 66 Imagecommand=""
  198. 67 # check if image is available locally
  199. 68 docker inspect --type=image x11docker/lxde > /dev/null 2>&1 || {
  200. 69 export DISPLAY=:0 XAUTHORITY=/home/start/.cache/x11docker/X200-x11docker-lxde/Xauthority-0 XSOCKET=/tmp/.X11-unix/X0 XDG_RUNTIME_DIR=/run/user/1000
  201. 70 xterm -e /bin/bash /home/start/.cache/x11docker/X200-x11docker-lxde/pullrc
  202. 71 waitforfilecreation /home/start/.cache/x11docker/X200-x11docker-lxde/pullready
  203. 72 docker inspect --type=image x11docker/lxde > /dev/null 2>&1 || {
  204. 73 echo ''
  205. 74 echo "ERROR: Image 'x11docker/lxde' not found locally and not pulled from docker hub. " >&2
  206. 75 exit 1
  207. 76 }
  208. 77 }
  209. 78 # check CMD
  210. 79 [ -z "$Imagecommand" ] && {
  211. 80 # extract image command from image if not given on cli
  212. 81 Imagecommand=$(docker inspect --format='{{.Config.Cmd}}' x11docker/lxde)
  213. 82 Imagecommand=${Imagecommand#[}
  214. 83 Imagecommand=${Imagecommand#/bin/sh -c }
  215. 84 Imagecommand=${Imagecommand%]}
  216. 85 }
  217. 86 # check ENTRYPOINT
  218. 87 Entrypoint=$(docker inspect --format='{{.Config.Entrypoint}}' x11docker/lxde)
  219. 88 Entrypoint=${Entrypoint#[}
  220. 89 Entrypoint=${Entrypoint#/bin/sh -c }
  221. 90 Entrypoint=${Entrypoint%]}
  222. 91 [ -z "$Imagecommand$Entrypoint" ] && echo 'x11docker WARNING: No image command specified and no CMD or ENTRYPOINT found in image.'|tee -a /tmp/x11docker.e11aba.log
  223. 92 # create x11docker.CMD.sh (shared with container and given as image command to docker run)
  224. 93 { echo '#! /bin/sh'
  225. 94 echo '# created startscript for docker run: x11docker.CMD.sh'
  226. 95 echo '# runs as unprivileged user in container'
  227. 96 echo 'echo x11docker: Running unprivileged user commands in container'
  228. 97 echo Imagecommand="\"$Imagecommand\""
  229. 98 echo Entrypoint="\"$Entrypoint\""
  230. 99 echo ''
  231. 100 echo 'echo x11docker: container system:'
  232. 101 echo 'cat /etc/os-release'
  233. 102 echo ''
  234. 103 echo '# wait for container setup script do be ready'
  235. 104 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; do'
  236. 105 echo ' [ -e /x11docker.setupready ] && break'
  237. 106 echo ' echo x11docker: waiting for root setup to be ready && sleep 0.1'
  238. 107 echo 'done'
  239. 108 echo ''
  240. 109 } >> /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.CMD.sh
  241. 110 echo '# Environment variables found in image:' >> /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.CMD.sh
  242. 111 IFS=$'\n'
  243. 112 while read -r Line; do
  244. 113 echo export $(escapestring "$Line") >> /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.CMD.sh
  245. 114 done < <(docker run --rm --entrypoint env x11docker/lxde env)
  246. 115 IFS=$' \t\n'
  247. 116
  248. 117 echo 'echo "$Entrypoint" | grep -q '/tini' && export TINI_SUBREAPER=1' >> /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.CMD.sh
  249. 118 {
  250. 119 echo ''
  251. 120 echo '# x11docker variable settings'
  252. 121 echo export USER="root"
  253. 122 echo mkdir -p -v /fakehome/root
  254. 123 echo 'export HOME="/fakehome/root"'
  255. 124 echo 'cd "$HOME"'
  256. 125 echo ''
  257. 126 echo 'export DISPLAY=:200'
  258. 127 echo 'ln -s /X200 /tmp/.X11-unix'
  259. 128 echo 'export XAUTHORITY=/x11docker/Xclientcookie'
  260. 129 echo 'echo x11docker: running dbus user session with: ${Dbus:-(none)} >&2'
  261. 130 echo ''
  262. 131 echo "[ -e \"\$XDG_RUNTIME_DIR\" ] || {"
  263. 132 echo ' export XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR'
  264. 133 echo ' mkdir -v -m 700 -p $XDG_RUNTIME_DIR'
  265. 134 echo ' export XDG_RUNTIME_DIR'
  266. 135 echo ''
  267. 136 echo '}'
  268. 137 echo 'export XDG_SESSION_TYPE=x11'
  269. 138 echo ''
  270. 139 echo '# xpra environment settings'
  271. 140 echo 'export UBUNTU_MENUPROXY= QT_X11_NO_NATIVE_MENUBAR=1 MWNOCAPTURE=true MWNO_RIT=true MWWM=allwm'
  272. 141 echo 'export XPRA_XSHM=0'
  273. 142 echo ''
  274. 143 echo 'bash --version >/dev/null 2>&1 && export SHELL=/bin/bash || export SHELL=/bin/sh'
  275. 144 echo 'export TERM=xterm'
  276. 145 echo ''
  277. 146 echo '[ -e /x11docker.LANG ] && export LANG="$(cat /x11docker.LANG)"'
  278. 147 echo ''
  279. 148 echo '# custom environment (--env)'
  280. 149 echo ''
  281. 150 echo 'echo x11docker: container environment:'
  282. 151 echo 'env >> /x11docker/environment'
  283. 152 echo 'sed -i "/\(PWD=\|_=\)/d" /x11docker/environment'
  284. 153 echo 'env | sort'
  285. 154 echo 'echo x11docker: copy of environment stored in /x11docker/environment'
  286. 155 echo ''
  287. 156 echo "echo x11docker: running image command: \$Dbus $Entrypoint $Imagecommand"
  288. 157 echo "exec \$Dbus $Entrypoint $Imagecommand >>/x11docker/stdout 2>>/x11docker/stderr"
  289. 158 echo '# Ready for docker run'
  290. 159 } >> /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.CMD.sh
  291. 160
  292. 161 cat /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.CMD.sh | nl -ba >> /home/start/.cache/x11docker/X200-x11docker-lxde/docker.log
  293. 162
  294. 163 read Containerid < <(docker run -d --tty --rm --name=x11docker_X200_e11aba_x11docker_lxde \
  295. 164 --user root --env USER=root \
  296. 165 --cap-drop=ALL \
  297. 166 --cap-add CHOWN --cap-add KILL\
  298. 167 --cap-add FSETID --cap-add FOWNER --cap-add SETPCAP \
  299. 168 --cap-add SETUID --cap-add SETGID --cap-add DAC_OVERRIDE\
  300. 169 --cap-add AUDIT_WRITE \
  301. 170 --security-opt label=type:container_runtime_t \
  302. 171 --entrypoint=env \
  303. 172 --env container=docker \
  304. 173 -v /home/start/.cache/x11docker/X200-x11docker-lxde/share:/x11docker:rw \
  305. 174 -v /tmp/.X11-unix/X200:/X200:rw \
  306. 175 -v /etc/localtime:/etc/localtime:ro \
  307. 176 --workdir /tmp \
  308. 177 -- x11docker/lxde /bin/sh - /x11docker/containersetup.sh)
  309. 178
  310. 179 [ -z "$Containerid" ] && echo 'x11docker ERROR: Startup of docker failed. >&2' && exit 1
  311. 180 echo x11docker: container ID: $Containerid
  312. 181 echo $Containerid >> /home/start/.cache/x11docker/X200-x11docker-lxde/container.id
  313. 182 docker logs -f $Containerid >> /home/start/.cache/x11docker/X200-x11docker-lxde/docker.log 2>&1 &
  314. 183
  315. 184 # wait for container to be ready
  316. 185 for ((Count=1 ; Count<=10 ; Count++)); do
  317. 186 sleep 0.2
  318. 187 docker exec x11docker_X200_e11aba_x11docker_lxde sh -c : && { echo 'x11docker: container is up and running.' ; break ; } || echo "x11docker: container not ready on $Count. attempt, trying again."
  319. 188 done
  320. 189 cat /home/start/.cache/x11docker/X200-x11docker-lxde/docker.log | grep -E 'Error response from daemon|OCI runtime exec' && exit 1
  321. 190
  322. 191 docker inspect --format '{{ .NetworkSettings.IPAddress }}' x11docker_X200_e11aba_x11docker_lxde >> /home/start/.cache/x11docker/X200-x11docker-lxde/container.ip
  323. 192 echo x11docker: container IP: $(cat /home/start/.cache/x11docker/X200-x11docker-lxde/container.ip)
  324. 193
  325. 194 # get PID of container
  326. 195 Containerpid=$(ps ax | grep $Containerid | grep -v grep | grep -v ' logs' | awk '{print $1}')
  327. 196 echo x11docker: container PID: $Containerpid
  328. 197 echo $Containerpid >> /home/start/.cache/x11docker/X200-x11docker-lxde/container.pid
  329. 198
  330.  
  331. x11docker: Created xtermrc:
  332. 1 #! /bin/bash
  333. 2 touchxtermready() {
  334. 3 bash -c 'touch /home/start/.cache/x11docker/X200-x11docker-lxde/xtermready'
  335. 4 }
  336. 5 trap touchxtermready EXIT
  337. 6 export TERM=xterm SHELL=/bin/bash
  338. 7 bash -c "sudo -E bash /home/start/.cache/x11docker/X200-x11docker-lxde/dockerrc >>/home/start/.cache/x11docker/X200-x11docker-lxde/docker.log 2>&1"
  339. 8 exit
  340.  
  341. x11docker: Created xinitrc:
  342. 1 #! /bin/sh
  343. 2 storepid ()
  344. 3 {
  345. 4 echo ${1:-} ${2:-} >> $Bgpidfile;
  346. 5 verbose "stored background pid ${1:-} of ${2:-}"
  347. 6 }
  348. 7 mywatch ()
  349. 8 {
  350. 9 local Watchoutput;
  351. 10 verbose "Watching: sh -c '${1:-}'
  352. 11 Current output:
  353. 12 $(sh -c "${1:-}" ||:)";
  354. 13 env TERM=linux watch --interval 1 --chgexit --no-title -- "${1:-}" > /dev/null 2>&1;
  355. 14 verbose "Stopped watching: sh -c '${1:-}'
  356. 15 Current output:
  357. 16 $(sh -c "${1:-}" ||:)"
  358. 17 }
  359. 18 no_xhost ()
  360. 19 {
  361. 20 local Line;
  362. 21 xhost;
  363. 22 xhost | tail -n +2 /dev/stdin | while read -r Line; do
  364. 23 xhost -$Line;
  365. 24 done;
  366. 25 xhost -;
  367. 26 [ "$(xhost | wc -l)" -gt "1" ] && {
  368. 27 warning "Remaining xhost permissions found on display $DISPLAY
  369. 28 $(xhost)";
  370. 29 return 1
  371. 30 };
  372. 31 return 0
  373. 32 }
  374. 33 warning ()
  375. 34 {
  376. 35 echo "$(tput setaf 3)x11docker WARNING:$(tput sgr0) $*" 1>&3;
  377. 36 echo "" 1>&3;
  378. 37 [ -e "$Logfile" ] && echo "x11docker WARNING: $*
  379. 38 " >> "$Logfile";
  380. 39 return 0
  381. 40 }
  382. 41 verbose ()
  383. 42 {
  384. 43 [ -e "$Logfile" ] && echo "x11docker: $*
  385. 44 " >> "$Logfile";
  386. 45 return 0
  387. 46 }
  388. 47 note ()
  389. 48 {
  390. 49 echo "$(tput setaf 2)x11docker note:$(tput sgr0) $*" 1>&3;
  391. 50 echo "" 1>&3;
  392. 51 [ -e "$Logfile" ] && echo "x11docker note: $*
  393. 52 " >> "$Logfile";
  394. 53 return 0
  395. 54 }
  396. 55 Bgpidfile=/home/start/.cache/x11docker/X200-x11docker-lxde/backgroundpids
  397. 56 export DISPLAY=:200 XAUTHORITY=/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie XSOCKET=/tmp/.X11-unix/X200 XPRA_XSHM=0 X11DOCKER_CACHE=/home/start/.cache/x11docker/X200-x11docker-lxde
  398. 57 # create new XAUTHORITY cookies
  399. 58 :> /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  400. 59 verbose 'Requesting trusted cookie from X server'
  401. 60 xauth -v -f /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie generate :200 . trusted timeout 3600
  402. 61 export XAUTHORITY=/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  403. 62 [ -s '/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie' ] || {
  404. 63 [ 'trusted' = 'untrusted' ] && note 'Could not create untrusted cookie.
  405. 64 Maybe your X server misses extension SECURITY.'
  406. 65 }
  407. 66 [ -s '/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie' ] || {
  408. 67 # still no cookie? try to create one without extension security
  409. 68 verbose 'Failed to retrieve cookie from X server. Will bake one myself.'
  410. 69 xauth -f /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie add :200 . 8150aada973960e32ee91a1ff2916205
  411. 70 }
  412. 71 # create prepared cookie with localhost identification disabled by ffff, needed if X socket is shared. ffff means 'familiy wild'
  413. 72 Cookie=$(xauth -f /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie nlist | sed -e 's/^..../ffff/')
  414. 73 echo $Cookie | xauth -v -f /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie nmerge -
  415. 74 cp /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie /home/start/.cache/x11docker/X200-x11docker-lxde/Xservercookie
  416. 75 [ -s '/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie' ] || warning 'Cookie creation failed!'
  417. 76 verbose "Created cookie: $(xauth list)"
  418. 77 chmod 644 /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  419. 78 export XAUTHORITY=/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  420. 79 [ 'yes' = 'no' ] || [ ! -s '/home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie' ] && unset XAUTHORITY && warning 'X server :200 runs without cookie authentication.'
  421. 80 verbose 'disabling any possible access to new X server possibly granted by xhost'
  422. 81 no_xhost
  423. 82 #
  424. 83 # set keyboard layout on :200 to same as on host
  425. 84 echo 'x11docker: keyboard layout:'
  426. 85 cat /home/start/.cache/x11docker/X200-x11docker-lxde/xkb_keymap
  427. 86 xkbcomp /home/start/.cache/x11docker/X200-x11docker-lxde/xkb_keymap :200
  428. 87 getscreensize() {
  429. 88 CurrentXaxis=$(xrandr | grep primary | cut -d' ' -f4 | cut -dx -f1 )
  430. 89 CurrentYaxis=$(xrandr | grep primary | cut -d' ' -f4 | cut -dx -f2 | cut -d+ -f1)
  431. 90 }
  432. 91 checkscreensize() {
  433. 92 getscreensize
  434. 93 [ "$Xaxis" = "$CurrentXaxis" ] || return 1
  435. 94 [ "$Yaxis" = "$CurrentYaxis" ] || return 1
  436. 95 return 0
  437. 96 }
  438. 97 getprimary() {
  439. 98 xrandr | grep -q primary || xrandr --output $(xrandr | grep ' connected' | head -n1 | cut -d' ' -f1) --primary
  440. 99 echo $(xrandr | grep primary | cut -d' ' -f1)
  441. 100 }
  442. 101 Output=$(getprimary)
  443. 102 verbose "Output of xrandr on :200
  444. 103 $(xrandr)"
  445. 104 touch /home/start/.cache/x11docker/X200-x11docker-lxde/Xready
  446. 105 mywatch 'ls /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye 2>/dev/null #xinitrc'
  447.  
  448. x11docker: Logfile: /home/start/.cache/x11docker/X200-x11docker-lxde/share/x11docker.log
  449. In container: /x11docker/x11docker.log
  450. After finish: /home/start/.cache/x11docker/x11docker.log
  451.  
  452. x11docker: Running X server --xephyr on display :200 now ...
  453.  
  454. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/docker.log <==
  455.  
  456. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/share/stdout <==
  457.  
  458. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/share/stderr <==
  459.  
  460. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/xpraserver.log <==
  461.  
  462. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/xpraclient.log <==
  463.  
  464. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/xinit.log <==
  465.  
  466. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/compositor.log <==
  467. x11docker: stored background pid 8665 of x11docker-run
  468.  
  469. x11docker: Waiting for file creation of /home/start/.cache/x11docker/X200-x11docker-lxde/Xready
  470.  
  471.  
  472. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/xinit.log <==
  473.  
  474. xinit: XFree86_VT property unexpectedly has 0 items instead of 1
  475. x11docker: Requesting trusted cookie from X server
  476.  
  477. Using authority file /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  478. authorization id is 631
  479. Writing authority file /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  480. Using authority file /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  481. 1 entries read in: 0 new, 1 replacement
  482. Writing authority file /home/start/.cache/x11docker/X200-x11docker-lxde/share/Xclientcookie
  483. x11docker: Created cookie: #ffff#73746172742d5043#:200 MIT-MAGIC-COOKIE-1 70c671dcb0b845f9c6ca660a371987bd
  484.  
  485. x11docker: disabling any possible access to new X server possibly granted by xhost
  486.  
  487. access control enabled, only authorized clients can connect
  488. access control enabled, only authorized clients can connect
  489. x11docker: keyboard layout:
  490. xkb_keymap {
  491. xkb_keycodes { include "evdev+aliases(qwerty)" };
  492. xkb_types { include "complete" };
  493. xkb_compat { include "complete" };
  494. xkb_symbols { include "pc+us+inet(evdev)" };
  495. xkb_geometry { include "pc(pc105)" };
  496. };
  497. Warning: Key <OUTP> not found in evdev+aliases(qwerty) keycodes
  498. Symbols ignored
  499. Warning: Key <KITG> not found in evdev+aliases(qwerty) keycodes
  500. Symbols ignored
  501. Warning: Key <KIDN> not found in evdev+aliases(qwerty) keycodes
  502. Symbols ignored
  503. Warning: Key <KIUP> not found in evdev+aliases(qwerty) keycodes
  504. Symbols ignored
  505. Warning: Key <RO> not found in evdev+aliases(qwerty) keycodes
  506. Symbols ignored
  507. Warning: Key <I192> not found in evdev+aliases(qwerty) keycodes
  508. Symbols ignored
  509. Warning: Key <I193> not found in evdev+aliases(qwerty) keycodes
  510. Symbols ignored
  511. Warning: Key <I194> not found in evdev+aliases(qwerty) keycodes
  512. Symbols ignored
  513. Warning: Key <I195> not found in evdev+aliases(qwerty) keycodes
  514. Symbols ignored
  515. Warning: Key <I196> not found in evdev+aliases(qwerty) keycodes
  516. Symbols ignored
  517. Warning: Key <I255> not found in evdev+aliases(qwerty) keycodes
  518. Symbols ignored
  519. Warning: No symbols defined for <AB11> (keycode 97)
  520. Warning: No symbols defined for <JPCM> (keycode 103)
  521. Warning: No symbols defined for <I120> (keycode 120)
  522. Warning: No symbols defined for <AE13> (keycode 132)
  523. Warning: No symbols defined for <I149> (keycode 149)
  524. Warning: No symbols defined for <I154> (keycode 154)
  525. Warning: No symbols defined for <I168> (keycode 168)
  526. Warning: No symbols defined for <I178> (keycode 178)
  527. Warning: No symbols defined for <I183> (keycode 183)
  528. Warning: No symbols defined for <I184> (keycode 184)
  529. Warning: No symbols defined for <FK19> (keycode 197)
  530. Warning: No symbols defined for <FK24> (keycode 202)
  531. Warning: No symbols defined for <I217> (keycode 217)
  532. Warning: No symbols defined for <I219> (keycode 219)
  533. Warning: No symbols defined for <I221> (keycode 221)
  534. Warning: No symbols defined for <I222> (keycode 222)
  535. Warning: No symbols defined for <I230> (keycode 230)
  536. Warning: No symbols defined for <I247> (keycode 247)
  537. Warning: No symbols defined for <I248> (keycode 248)
  538. Warning: No symbols defined for <I249> (keycode 249)
  539. Warning: No symbols defined for <I250> (keycode 250)
  540. Warning: No symbols defined for <I251> (keycode 251)
  541. Warning: No symbols defined for <I252> (keycode 252)
  542. Warning: No symbols defined for <I253> (keycode 253)
  543. xrandr: Failed to get size of gamma for output default
  544. xrandr: Failed to get size of gamma for output default
  545. xrandr: Failed to get size of gamma for output default
  546. xrandr: Failed to get size of gamma for output default
  547. xrandr: Failed to get size of gamma for output default
  548. x11docker: Output of xrandr on :200
  549. Screen 0: minimum 160 x 160, current 320 x 240, maximum 1600 x 1200
  550. default connected primary 320x240+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
  551. 1600x1200 0.00
  552. 1400x1050 0.00
  553. 1280x960 0.00
  554. 1280x1024 0.00
  555. 1152x864 0.00
  556. 1024x768 0.00
  557. 832x624 0.00
  558. 800x600 0.00
  559. 720x400 0.00
  560. 480x640 0.00
  561. 640x480 0.00
  562. 640x400 0.00
  563. 320x240 0.00*
  564. 240x320 0.00
  565. 160x160 0.00
  566.  
  567. x11docker: Watching: sh -c 'ls /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye 2>/dev/null #xinitrc'
  568. Current output:
  569.  
  570. x11docker: waiting since 0s for /home/start/.cache/x11docker/X200-x11docker-lxde/Xready to be created, will wait up to 24 seconds.
  571.  
  572. x11docker: Found new created file /home/start/.cache/x11docker/X200-x11docker-lxde/Xready
  573.  
  574. x11docker: stored background pid 8729 of mywatch
  575.  
  576. x11docker: Watching: sh -c 'ls /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye /tmp/.X11-unix/X200 2>/dev/null #Xserver'
  577. Current output:
  578. /tmp/.X11-unix/X200
  579.  
  580.  
  581. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/docker.log <==
  582. 1 #! /bin/sh
  583. 2 # created startscript for docker run: x11docker.CMD.sh
  584. 3 # runs as unprivileged user in container
  585. 4 echo x11docker: Running unprivileged user commands in container
  586. 5 Imagecommand="startlxde"
  587. 6 Entrypoint="/usr/local/bin/start"
  588. 7
  589. 8 echo x11docker: container system:
  590. 9 cat /etc/os-release
  591. 10
  592. 11 # wait for container setup script do be ready
  593. 12 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; do
  594. 13 [ -e /x11docker.setupready ] && break
  595. 14 echo x11docker: waiting for root setup to be ready && sleep 0.1
  596. 15 done
  597. 16
  598. 17 # Environment variables found in image:
  599. 18 export PATH=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
  600. 19 export HOSTNAME=847f56235a25
  601. 20 export DEBIAN_FRONTEND=newt
  602. 21 export LANG=en_US.UTF-8
  603. 22 export HOME=/root
  604. 23 echo "$Entrypoint" | grep -q /tini && export TINI_SUBREAPER=1
  605. 24
  606. 25 # x11docker variable settings
  607. 26 export USER=root
  608. 27 mkdir -p -v /fakehome/root
  609. 28 export HOME="/fakehome/root"
  610. 29 cd "$HOME"
  611. 30
  612. 31 export DISPLAY=:200
  613. 32 ln -s /X200 /tmp/.X11-unix
  614. 33 export XAUTHORITY=/x11docker/Xclientcookie
  615. 34 echo x11docker: running dbus user session with: ${Dbus:-(none)} >&2
  616. 35
  617. 36 [ -e "$XDG_RUNTIME_DIR" ] || {
  618. 37 export XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR
  619. 38 mkdir -v -m 700 -p $XDG_RUNTIME_DIR
  620. 39 export XDG_RUNTIME_DIR
  621. 40
  622. 41 }
  623. 42 export XDG_SESSION_TYPE=x11
  624. 43
  625. 44 # xpra environment settings
  626. 45 export UBUNTU_MENUPROXY= QT_X11_NO_NATIVE_MENUBAR=1 MWNOCAPTURE=true MWNO_RIT=true MWWM=allwm
  627. 46 export XPRA_XSHM=0
  628. 47
  629. 48 bash --version >/dev/null 2>&1 && export SHELL=/bin/bash || export SHELL=/bin/sh
  630. 49 export TERM=xterm
  631. 50
  632. 51 [ -e /x11docker.LANG ] && export LANG="$(cat /x11docker.LANG)"
  633. 52
  634. 53 # custom environment (--env)
  635. 54
  636. 55 echo x11docker: container environment:
  637. 56 env >> /x11docker/environment
  638. 57 sed -i "/\(PWD=\|_=\)/d" /x11docker/environment
  639. 58 env | sort
  640. 59 echo x11docker: copy of environment stored in /x11docker/environment
  641. 60
  642. 61 echo x11docker: running image command: $Dbus /usr/local/bin/start startlxde
  643. 62 exec $Dbus /usr/local/bin/start startlxde >>/x11docker/stdout 2>>/x11docker/stderr
  644. 63 # Ready for docker run
  645. x11docker: container ID: 39c668379a2ed44ea8ba02bc675354459c57dd08b257d955c2a379bc2e15241c
  646. x11docker: setup as root in container
  647. mkdir: created directory '/var/run/dbus'
  648. mkdir: created directory '/tmp/.ICE-unix'
  649. mkdir: created directory '/tmp/.X11-unix'
  650. mkdir: created directory '/tmp/.font-unix'
  651. lrwxrwxrwx 1 root root 5 May 2 09:29 /tmp/.X11-unix/X200 -> /X200
  652. mkdir: created directory '/fakehome'
  653. rm: cannot remove '/etc/sudoers.d': No such file or directory
  654. No directory, logging in with HOME=/
  655. x11docker: Running unprivileged user commands in container
  656. x11docker: container system:
  657. PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
  658. NAME="Debian GNU/Linux"
  659. VERSION_ID="9"
  660. VERSION="9 (stretch)"
  661. ID=debian
  662. HOME_URL="https://www.debian.org/"
  663. SUPPORT_URL="https://www.debian.org/support"
  664. BUG_REPORT_URL="https://bugs.debian.org/"
  665. mkdir: created directory '/fakehome/root'
  666. ln: failed to create symbolic link '/tmp/.X11-unix/X200': File exists
  667. x11docker: running dbus user session with: (none)
  668. mkdir: created directory '/tmp/XDG_RUNTIME_DIR'
  669. x11docker: container environment:
  670. DEBIAN_FRONTEND=newt
  671. DISPLAY=:200
  672. HOME=/fakehome/root
  673. HOSTNAME=847f56235a25
  674. LANG=en_US.UTF-8
  675. LOGNAME=root
  676. MAIL=/var/mail/root
  677. MWNOCAPTURE=true
  678. MWNO_RIT=true
  679. MWWM=allwm
  680. OLDPWD=/
  681. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  682. PWD=/fakehome/root
  683. QT_X11_NO_NATIVE_MENUBAR=1
  684. SHELL=/bin/bash
  685. TERM=xterm
  686. UBUNTU_MENUPROXY=
  687. USER=root
  688. XAUTHORITY=/x11docker/Xclientcookie
  689. XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR
  690. XDG_SESSION_TYPE=x11
  691. XPRA_XSHM=0
  692. x11docker: copy of environment stored in /x11docker/environment
  693. x11docker: running image command: /usr/local/bin/start startlxde
  694.  
  695. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/share/stderr <==
  696. ** Message: main.vala:102: Session is LXDE
  697. ** Message: main.vala:103: DE is LXDE
  698. ** Message: main.vala:134: log directory: /fakehome/root/.cache/lxsession/LXDE
  699. ** Message: main.vala:135: log path: /fakehome/root/.cache/lxsession/LXDE/run.log
  700.  
  701. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/docker.log <==
  702. x11docker: container is up and running.
  703. x11docker: container IP: 172.17.0.2
  704. x11docker: container PID: 8885
  705. x11docker: Waiting for file creation of /home/start/.cache/x11docker/X200-x11docker-lxde/xtermready
  706.  
  707. x11docker: Found new created file /home/start/.cache/x11docker/X200-x11docker-lxde/xtermready
  708.  
  709. x11docker ERROR: Docker startup seems to have failed!
  710.  
  711. Last lines of docker.log:
  712. USER=root
  713. XAUTHORITY=/x11docker/Xclientcookie
  714. XDG_RUNTIME_DIR=/tmp/XDG_RUNTIME_DIR
  715. XDG_SESSION_TYPE=x11
  716. XPRA_XSHM=0
  717. x11docker: copy of environment stored in /x11docker/environment
  718. x11docker: running image command: /usr/local/bin/start startlxde
  719. x11docker: container is up and running.
  720. x11docker: container IP: 172.17.0.2
  721. x11docker: container PID: 8885
  722.  
  723. Last lines of command stderr:
  724. ** Message: main.vala:102: Session is LXDE
  725. ** Message: main.vala:103: DE is LXDE
  726. ** Message: main.vala:134: log directory: /fakehome/root/.cache/lxsession/LXDE
  727. ** Message: main.vala:135: log path: /fakehome/root/.cache/lxsession/LXDE/run.log
  728.  
  729. Type 'x11docker --help' for usage information
  730. For debugging, run x11docker in terminal and/or enable option '--verbose'
  731. and look afterwards at logfile /home/start/.cache/x11docker/x11docker.log
  732. Please report issues at https://github.com/mviereck/x11docker
  733.  
  734. x11docker: Creating /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye
  735.  
  736. x11docker: Stopped watching: sh -c 'ls /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye 2>/dev/null #xinitrc'
  737. Current output:
  738. /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye
  739.  
  740.  
  741. ==> /home/start/.cache/x11docker/X200-x11docker-lxde/xinit.log <==
  742. xinit: connection to X server lost
  743.  
  744. waiting for X server to shut down x11docker: Stopped watching: sh -c 'ls /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye /tmp/.X11-unix/X200 2>/dev/null #Xserver'
  745. Current output:
  746. /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye
  747.  
  748. x11docker: Creating /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye
  749.  
  750.  
  751. x11docker: terminating x11docker ...
  752.  
  753. x11docker: Creating /home/start/.cache/x11docker/X200-x11docker-lxde/share/timetosaygoodbye
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement