xpt*_*xpt 5 unix linux x11 ubuntu docker
如何DISPLAY
在docker中使用host?
我DISPLAY
在 docker 实例中进行设置,并希望将其用于我的 xapps。但这就是我得到的:
me@178887a67067:/$ env | grep DISPLAY
DISPLAY=192.168.0.102:2
me@178887a67067:/$ xterm &
[1] 11
me@178887a67067:/$ xterm: Xt error: Can't open display: 192.168.0.102:2
[1]+ Exit 1 xterm
Run Code Online (Sandbox Code Playgroud)
如何允许 docker 中的 xapp 在DISPLAY
不使用主机网络 ( --network host
) 的情况下连接并使用我的主机?谢谢。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
Run Code Online (Sandbox Code Playgroud)
[修正]
我知道这听起来像是常见问题解答,但我已经尝试了以下网站上的所有方法,但没有一个对我有用:
使用 https://iamhow.com/How_To/Docker_How_To.html#1484268中最简单的解决方案作为示例:
$ xhost +local:
non-network local connections being added to access control list
$ docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro image
# env | grep DISPLAY
DISPLAY=192.168.0.102:2
# xterm &
Warning: This program is an suid-root program or is being run by the root user.
...
xterm: Xt error: Can't open display: %s
[1]+ Exit 1 xterm
Run Code Online (Sandbox Code Playgroud)
虽然这个问题很老了,很多人可能有类似的问题。
我搜索了谷歌并尝试了不同网站上的所有方法。但没有一个奏效。然后我在docker中使用host pid并且它起作用了。
尝试在 docker 中使用主机pid 。
$ xhost +local:
$ docker run --pid=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro image
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3644 次 |
最近记录: |