我想从Docker镜像运行Ubuntu SDK(Qt Creator变体)。除非我尝试使用模拟器或真正的手机/设备,否则它的工作非常好。这需要安装一个新的 Kit (armhf,i386),它在运行单击窗口中出现以下错误而失败。
Error getting authority: Error initializing authority: Could not connect: No such file or directory
---Click exited with errors, please check the output---
当我尝试从本机Ubuntu创建一个新工具包时,此操作会要求我插入sudo-password。 Docker镜像不会发生这种情况(我尝试安装gksu
,因此,docker用户不需要sudo-password)。
这里有什么问题?
这是我创建的Dockerfile:
FROM ubuntu:15.04
MAINTAINER Name <email@example.com>
ENV DEBIAN_FRONTEND=noninteractive
RUN echo "deb http://mirror.skylink-datacenter.de/ubuntu/ vivid main restricted universe multiverse " > /etc/apt/sources.list && \
echo "deb-src http://mirror.skylink-datacenter.de/ubuntu/ vivid main restricted universe multiverse " >> /etc/apt/sources.list && \
echo "deb http://mirror.skylink-datacenter.de/ubuntu/ vivid-security main restricted universe multiverse " >> /etc/apt/sources.list && \
echo "deb http://mirror.skylink-datacenter.de/ubuntu/ vivid-updates main restricted universe multiverse " >> /etc/apt/sources.list && \
echo "deb-src http://mirror.skylink-datacenter.de/ubuntu/ vivid-security main restricted universe multiverse " >> /etc/apt/sources.list && \
echo "deb-src http://mirror.skylink-datacenter.de/ubuntu/ vivid-updates main restricted universe multiverse " >> /etc/apt/sources.list
RUN dpkg --add-architecture i386
RUN apt-get update && \
apt-get update && \
apt-get install -qqy software-properties-common && \
add-apt-repository ppa:ubuntu-sdk-team/ppa && \
add-apt-repository ppa:saiarcot895/myppa
RUN apt-get update && apt-get install -y apt-fast
RUN apt-get update && apt-fast -y install \
bash-completion \
vim \
dialog \
gksu \
build-essential \
ubuntu-device-flash \
phablet-tools \
usbutils \
ubuntu-sdk \
ubuntu-emulator \
x11-apps \
cmake
RUN export uid=1000 gid=1000 && \
mkdir -p /home/dev && \
echo "dev:x:${uid}:${gid}:dev,,,:/home/dev:/bin/bash" >> /etc/passwd && \
echo "dev:x:${uid}:" >> /etc/group && \
echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev && \
chmod 0440 /etc/sudoers.d/dev && \
chown ${uid}:${gid} -R /home/dev
USER dev
ENV HOME /home/dev
ENV DISPLAY :0
CMD ubuntu-sdk
容器以
启动XS=/tmp/.X11-unix && \
XA=/tmp/.docker.xauth && \
U=/dev/bus/usb && xauth nlist :0 | sed -e 's/^..../ffff/' | xauth -f $XA nmerge - && \
docker run --privileged -ti --rm -v $XS:$XS -v $XA:$XA -v $U:$U \
-v /home/dev/workspace/ubuntu-sdk:/home/dev -e XAUTHORITY=$XA dev/ubuntu-sdk:15.04
当GUI请求用户密码时, Native SDK pstree
和lsof
:
ubuntu-sdk,4267
├─pkexec,4480 env CLICK_NO_LOCAL_MIRROR=1 /usr/share/qtcreator/ubuntu/scripts/click_create_target armhf ubuntu-sdk-15.04 vivid click
│ └─{gdbus},4481
├─{QProcessManager},4280
├─{QQmlThread},4292
├─{QQmlThread},4310
├─{QQmlThread},4317
├─{QQuickPixmapRea},4293
├─{QQuickPixmapRea},4316
├─{QQuickXmlQueryE},4318
├─{QThread},4289
├─{QXcbEventReader},4268
├─{Qt HTTP thread},4302
├─{Qt HTTP thread},4304
├─{Qt HTTP thread},4306
├─{Qt HTTP thread},4308
├─{Qt HTTP thread},4319
├─{Qt HTTP thread},4340
├─{Qt HTTP thread},4345
├─{Qt bearer threa},4291
├─{gdbus},4269
├─{gmain},4271
├─{ubuntu-sdk},4274
├─{ubuntu-sdk},4275
├─{ubuntu-sdk},4276
├─{ubuntu-sdk},4277
├─{ubuntu-sdk},4290
├─{ubuntu-sdk},4298
├─{ubuntu-sdk},4299
├─{ubuntu-sdk},4300
└─{ubuntu-sdk},4301
$ sudo lsof -p 4480
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pkexec 4480 root cwd DIR 253,1 4096 1584843 /home/dev
pkexec 4480 root rtd DIR 253,1 4096 2 /
pkexec 4480 root txt REG 253,1 23304 396702 /usr/bin/pkexec
pkexec 4480 root mem REG 253,1 51736 267146 /lib/x86_64-linux-gnu/libnss_files-2.21.so
pkexec 4480 root mem REG 253,1 47616 267156 /lib/x86_64-linux-gnu/libnss_nis-2.21.so
pkexec 4480 root mem REG 253,1 97224 267140 /lib/x86_64-linux-gnu/libnsl-2.21.so
pkexec 4480 root mem REG 253,1 35688 267142 /lib/x86_64-linux-gnu/libnss_compat-2.21.so
pkexec 4480 root mem REG 253,1 72232 267095 /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
pkexec 4480 root mem REG 253,1 924096 267091 /lib/x86_64-linux-gnu/libgcrypt.so.20.0.2
pkexec 4480 root mem REG 253,1 137400 267116 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
pkexec 4480 root mem REG 253,1 31680 267201 /lib/x86_64-linux-gnu/librt-2.21.so
pkexec 4480 root mem REG 253,1 105328 267199 /lib/x86_64-linux-gnu/libresolv-2.21.so
pkexec 4480 root mem REG 253,1 138400 267203 /lib/x86_64-linux-gnu/libselinux.so.1
pkexec 4480 root mem REG 253,1 108920 267234 /lib/x86_64-linux-gnu/libz.so.1.2.8
pkexec 4480 root mem REG 253,1 14624 532751 /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.4400.0
pkexec 4480 root mem REG 253,1 158072 267213 /lib/x86_64-linux-gnu/libsystemd.so.0.6.0
pkexec 4480 root mem REG 253,1 1566696 532737 /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4400.0
pkexec 4480 root mem REG 253,1 444344 267176 /lib/x86_64-linux-gnu/libpcre.so.3.13.1
pkexec 4480 root mem REG 253,1 31016 532634 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
pkexec 4480 root mem REG 253,1 14592 267077 /lib/x86_64-linux-gnu/libdl-2.21.so
pkexec 4480 root mem REG 253,1 109032 267050 /lib/x86_64-linux-gnu/libaudit.so.1.0.0
pkexec 4480 root mem REG 253,1 1869392 267060 /lib/x86_64-linux-gnu/libc-2.21.so
pkexec 4480 root mem REG 253,1 142080 267193 /lib/x86_64-linux-gnu/libpthread-2.21.so
pkexec 4480 root mem REG 253,1 44280 533148 /usr/lib/x86_64-linux-gnu/libpolkit-agent-1.so.0.0.0
pkexec 4480 root mem REG 253,1 109928 533152 /usr/lib/x86_64-linux-gnu/libpolkit-gobject-1.so.0.0.0
pkexec 4480 root mem REG 253,1 1107040 267093 /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.0
pkexec 4480 root mem REG 253,1 334968 532765 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4400.0
pkexec 4480 root mem REG 253,1 64048 267163 /lib/x86_64-linux-gnu/libpam.so.0.83.1
pkexec 4480 root mem REG 253,1 154376 267032 /lib/x86_64-linux-gnu/ld-2.21.so
pkexec 4480 root 0r FIFO 0,9 0t0 183116 pipe
pkexec 4480 root 1w FIFO 0,9 0t0 183117 pipe
pkexec 4480 root 2w FIFO 0,9 0t0 183118 pipe
pkexec 4480 root 3u 0000 0,10 0 7679 anon_inode
pkexec 4480 root 4u unix 0xffff880035e15500 0t0 184485 socket
pkexec 4480 root 5u 0000 0,10 0 7679 anon_inode
pkexec 4480 root 6u 0000 0,10 0 7679 anon_inode
点击运行的原生SDK pstree
和lsof
:
$ pstree -p -l -a -h 4267
ubuntu-sdk,4267
├─click_create_ta,4480 /usr/share/qtcreator/ubuntu/scripts/click_create_target armhf ubuntu-sdk-15.04 vivid click
│ └─click,4630 /usr/bin/click chroot -a armhf -f ubuntu-sdk-15.04 -n click create
│ └─debootstrap,4640 /usr/sbin/debootstrap --arch amd64 --variant=buildd --components=main,restricted,universe,multiverse vivid /var/lib/schroot/chroots/click-ubuntu-sdk-15.04-armhf http://archive.ubuntu.com/ubuntu
│ └─wget,4838 -q -O /var/lib/schroot/chroots/click-ubuntu-sdk-15.04-armhf/var/lib/apt/lists/partial/debootstrap.invalid_dists_vivid_universe_binary-amd64_Packages.bz2 http://archive.ubuntu.com/ubuntu/dists/vivid/universe/binary-amd64/Packages.bz2
├─{QProcessManager},4280
├─{QQmlThread},4292
├─{QQmlThread},4310
├─{QQmlThread},4317
├─{QQuickPixmapRea},4293
├─{QQuickPixmapRea},4316
├─{QQuickXmlQueryE},4318
├─{QThread},4289
├─{QXcbEventReader},4268
├─{Qt HTTP thread},4302
├─{Qt HTTP thread},4304
├─{Qt HTTP thread},4306
├─{Qt HTTP thread},4308
├─{Qt HTTP thread},4319
├─{Qt HTTP thread},4340
├─{Qt HTTP thread},4345
├─{Qt bearer threa},4291
├─{gdbus},4269
├─{gmain},4271
├─{ubuntu-sdk},4274
├─{ubuntu-sdk},4275
├─{ubuntu-sdk},4276
├─{ubuntu-sdk},4277
├─{ubuntu-sdk},4290
├─{ubuntu-sdk},4298
├─{ubuntu-sdk},4299
├─{ubuntu-sdk},4300
└─{ubuntu-sdk},4301
$ sudo lsof -p 4480
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
click_cre 4480 root cwd DIR 253,1 4096 1441794 /root
click_cre 4480 root rtd DIR 253,1 4096 2 /
click_cre 4480 root txt REG 253,1 1029720 917511 /bin/bash
click_cre 4480 root mem REG 253,1 8720576 530587 /usr/lib/locale/locale-archive
click_cre 4480 root mem REG 253,1 1869392 267060 /lib/x86_64-linux-gnu/libc-2.21.so
click_cre 4480 root mem REG 253,1 14592 267077 /lib/x86_64-linux-gnu/libdl-2.21.so
click_cre 4480 root mem REG 253,1 167128 267217 /lib/x86_64-linux-gnu/libtinfo.so.5.9
click_cre 4480 root mem REG 253,1 154376 267032 /lib/x86_64-linux-gnu/ld-2.21.so
click_cre 4480 root mem REG 253,1 26258 788593 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
click_cre 4480 root 0r FIFO 0,9 0t0 183116 pipe
click_cre 4480 root 1w FIFO 0,9 0t0 183117 pipe
click_cre 4480 root 2w FIFO 0,9 0t0 183118 pipe
click_cre 4480 root 255r REG 253,1 1381 1322872 /usr/share/qtcreator/ubuntu/scripts/click_create_target