linux vnc 没有gui界面,在docker中运行GUI(没有ssh,没有VNC)

TL; DR:root不应该运行GUI应用程序,设置常规用户这样做.

我正在尝试从Docker中运行arduino IDE(已下载,而非包).我写了Dockerfile如下:

FROM ubuntu:14.04

MAINTAINER Mael Auzias

ENV HOME /home/arduino

ENV USER arduino

RUN apt-get update && apt-get install -y \

libx11-6 libxext-dev libxrender-dev libxtst-dev \

--no-install-recommends \

&& useradd --create-home --home-dir $HOME $USER \

&& chown -R $USER:$USER $HOME

ADD arduino-1.6.6-linux64.tar.xz $HOME

WORKDIR $HOME/arduino-1.6.6

USER $USER

ENTRYPOINT ["/bin/bash"]

$docker run --name arduino --rm -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix 25af73b6cb3c ./arduino

No protocol specified

Picked up JAVA_TOOL_OPTIONS:

No protocol specified

Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.

我安装strace并检查xeyes有什么问题,我收到以下错误:

connect(3, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, 20) = -1 ECONNREFUSED (Connection refused)

有没有人经历过这个?任何人都可以指出一些文件或看到我做错了什么?

欢迎任何帮助.

PS:如标题中所指定的,我不想使用ssh或VNC.当unix套接字更快且足够时,不应使用加密,也不应使用网络.

得到一些消息……

作为用户root我无法启动图形应用程序.当我su常规用户并启动xterm或xeyes时,它可以工作.我真的不明白为什么:/

这是在Fedora 23上测试的工作Dockerfile.

应用程序不能以root身份运行,因此它开始使用X.

请注意,与此问题无关,已从bash文件arduino中删除了Java选项(因此它正常启动).

在docker build -t arduino-1.6.6之后,docker run –name arduino –rm -it -e DISPLAY = $DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix arduino-1.6 .6 ./arduino启动arduino IDE.

如果不添加–device或-v来共享/ dev / ttyUSB0,您将无法将任何代码上传到arduino.

FROM ubuntu:14.04

MAINTAINER Mael Auzias

ENV HOME /home/arduino

ENV USER arduino

RUN apt-get update && apt-get install -y \

libx11-6 libxext-dev libxrender-dev libxtst-dev \

--no-install-recommends \

&& rm -rf /var/lib/apt/lists/* \

&& useradd --create-home --home-dir $HOME $USER \

&& chown -R $USER:$USER $HOME

ADD arduino-1.6.6-linux64.tar.xz $HOME

RUN sed -i 's/"-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"//g' /home/arduino/arduino-1.6.6/arduino

WORKDIR $HOME/arduino-1.6.6

USER $USER

ENTRYPOINT ["/bin/bash"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值