Need help with docker-x11-bridge?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

JAremko
137 Stars 34 Forks GNU General Public License v3.0 31 Commits 6 Opened issues

Description

Simple Xpra X11 bridge to enable GUI with any docker image

Services available

!
?

Need anything else?

Contributors list

# 6,796
Emacs
Vim
alpine-...
spacema...
30 commits
# 116,361
datadog
Applica...
polling
HTML
1 commit

Pluggable X11 GUI for docker images

Run GUI applications in Docker with the same client(Xpra) on Windows, GNU/Linux, MacOS or web-browser over ssh or tcp.

(clickable!) img/demo.jpg

Try It!

docker run -d \
 --name x11-bridge \
 -e MODE="tcp" \
 -e XPRA_HTML="yes" \
 -e DISPLAY=:14 \
 -e XPRA_PASSWORD=111 \
 --net=host \
 jare/x11-bridge

docker run -d
--name emacs-1
--volumes-from x11-bridge
-e DISPLAY=:14
jare/emacs emacs

docker run -d
--name emacs-2
--volumes-from x11-bridge
-e DISPLAY=:14
jare/emacs emacs

Then visit

http://localhost:10000/index.html?encoding=rgb32&password=111
See
http://localhost:10000/connect.html
for options

Or via ssh:

docker run -d \
 --name x11-bridge \
 -e MODE="ssh" \
 -v ~/.ssh/pub_rsa:/etc/pub-keys/me.pub \
 -e DISPLAY=:14 \
 --net=host \
 jare/x11-bridge

docker run -d
--name emacs-1
--volumes-from x11-bridge
-e DISPLAY=:14
jare/emacs emacs

docker run -d
--name emacs-2
--volumes-from x11-bridge
-e DISPLAY=:14
jare/emacs emacs

Then attach to the Xpra server via cmd tool or Xpra's GUI app:

xpra attach --encoding=rgb --ssh="ssh -o StrictHostKeyChecking=no -p 22" ssh:[email protected]:14
  • Note
    -o StrictHostKeyChecking=no
    - it allows us to ignore server's identity instead adding it to
    known_hosts
    . If you want to rely on the identity you should use a privately built image.
  • All names of the pub keys should end with
    .pub
    i.e.
    /etc/pub-keys/.pub
  • If Xpra lags, select
    Lowest Bandwidth
    when using Xpra app with a local Xpra host.
  • With Windows client you'll need
    Pageant
    you can convert your rsa keys to
    Pageant
    's format with
    PuTTYgen
  • GUI app in your image may require
    libGL.so.1
    (provided by libgl1-mesa-glx on Ubuntu) and font
  • It is good idea to use ssl proxy or mount a certificate (see Xpra start-up message) if you want to use tcp or html mode beyond local network
  • You can modify the user
  • To use Xpra mmap(Linux):
    docker run ... -v /tmp/spacemacs-mmap/:/tmp/spacemacs-mmap/ ... jare/x11-bridge
    and attach with
    TMPDIR=/tmp/spacemacs-mmap/ xpra attach --mmap=yes --encoding=rgb --ssh="ssh -o StrictHostKeyChecking=no -p 22" ssh:[email protected]:14

Webcam and sound are currently disabled

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.