Skip to content

Dependencies

Martin Viereck edited this page Apr 10, 2023 · 69 revisions

Dependencies

x11docker can run with a few common linux tools and docker. See core dependencies.

  • For advanced usage of x11docker please install the recommended base.
  • No obliging dependencies in images except for some feature options.
  • x11docker will show terminal messages if dependencies for chosen options are missing.

Core dependencies

bash, docker or podman, jq and Xorg (or Xwayland)

  • bash: Shell interpreter bash.
    • Already installed on most common linux distributions.
  • docker or podman: Has to be installed.
    • Look at your distributions package management or at Docker website.
    • Common package names are docker-ce, docker.io or just docker.
  • jq or python to parse container json info. Most distributions come with preinstalled python.
  • An X server.
    • Probably already installed.
    • As a rule of thumb: If you have a desktop and can move your mouse, you already have an X server. Also recent Wayland desktops regulary ship with X server Xwayland.

Recommended base

This recommended base allows advanced usage of x11docker and an improved X security setup. Some of them are probably already installed on your system.

Desired commands: nxagent xinit xauth xclip xhost xrandr xdpyinfo catatonit jq

  • Across all systems you can use image x11docker/xserver that contains all listed packages and allows x11docker to run the X server in a container. You would not need to install anything on host.
System Package names
Debian
Ubuntu
Mint
nxagent xinit xauth xclip x11-xserver-utils x11-utils catatonit jq
Arch
Manjaro
nxagent xorg-xinit xorg-xauth xclip xorg-xhost xorg-xrandr xorg-xdpyinfo catatonit jq
Fedora
CentOS
openSUSE
nxagent xorg-x11-xinit xorg-x11-xauth xclip xorg-x11-server-utils xorg-x11-utils catatonit jq
Alpine nx-libs xinit xauth xclip xhost xrandr xdpyinfo catatonit jq

Recommended additional base for --gpu

Desired commands: weston Xwayland xdotool xpra

System Package names
Debian
Ubuntu
Mint
weston xwayland xdotool xpra
Arch
Manjaro
weston xorg-server-xwayland xdotool xpra
Fedora
CentOS
openSUSE
weston xorg-x11-server-xwayland xdotool xpra
Alpine weston xorg-server-xwayland xdotool xpra

Note: This additional base is not useful with proprietary NVIDIA driver on host for driver version <470.x.

Extended dependency description

Don't worry, you probably rarely need the following bunch of information.

Dependencies of X and Wayland options

For details see description of X server and Wayland options. You are already served well if you install the recommended base.

Dependencies of feature options

Some feature options have additional dependencies on host and/or in image.

Option Dependencies on host Dependencies in image
--clipboard xclip
(xbindkeys)
-
--dbus
--hostdbus
- dbus
--gpu - MESA OpenGL drivers
--gpu with NVIDIA - look at wiki: NVIDIA driver
--init=INITSYSTEM - Chosen init system
--install xdg-utils -
--lang - locale sources
--launcher xdg-utils -
--printer cups CUPS client library.
--pulseaudio pulseaudio pulseaudio client library.
--update
--update-master
wget or curl
tar or unzip
xdg-utils
-
--xfishtank xfishtank -

Dependencies in image

Images don't have obliging dependencies except for some x11docker feature options.

Option Debian and
Ubuntu
images
Arch
images
Fedora
images
Alpine
images
--gpu * mesa-utils
mesa-utils-extra
mesa-demos glx-utils
mesa-dri-drivers
mesa-demos
mesa-dri-ati
mesa-dri-intel
mesa-dri-nouveau
mesa-dri-swrast
--gpu Video decoding support
(VA-API and VDPAU)
vainfo
libxv1
va-driver-all
vdpau-driver-all
libxv
libva-utils
libva
libva-intel-driver
libva-vdpau-driver
libXv
libva-utils
libva
libva-intel-hybrid-driver
libva-vdpau-driver
libxv
libva-utils
libva
libva-glx
libva-intel-driver
libva-vdpau-driver
--lang locales glibc glibc-locale-source -
--printer libcups2 libcups cups-libs cups-libs
--pulseaudio libpulse0 libpulse pulseaudio-libs pulseaudio-libs
--dbus
--hostdbus
dbus dbus dbus dbus
--init=systemd systemd-sysv systemd systemd -
--init=sysvinit sysvinit-core - - -
--init=openrc sysvinit-core openrc - - openrc
--init=runit runit-init or runit-sysv
or sysvinit-core and runit
- - runit
  • * Option --gpu: The dependency list covers open source MESA video drivers. Proprietary closed source NVIDIA drivers need some manual setup.
  • Missing entries - indicate that the distribution does not provide an appropriate package.

Table of all packages

Table of all possibly needed commands and their package names for all possible x11docker options. Note that you probably never need them all.

command (alphabetic order) Provided
by image
x11docker/
xserver
apt
(.deb)
Debian
Ubuntu
Mint
pacman
(.pkg)
Arch
Manjaro
dnf/yum
(.rpm)
Fedora
CentOS
openSUSE
apk
(.apk)
Alpine
catatonit + catatonit catatonit catatonit catatonit
curl - curl curl curl curl
cvt + xserver-xorg-core
or xcvt
libxcvt libxcvt libxcvt
dbus-launch - dbus-x11 dbus dbus-x11 dbus-x11
diff - diffutils diffutils diffutils diffutils
docker - docker.io or docker-ce docker docker docker
jq - jq jq jq jq
kwin_wayland + kwin-wayland kwin kwin-wayland -
lpstat - cups cups cups cups
nxagent + nxagent nxagent nxagent nx-libs
perl - perl perl perl perl
podman - podman podman podman podman
pulseaudio - pulseaudio pulseaudio pulseaudio pulseaudio
python2 - python2 python2 python2 python2
python3 - python3 python python3 python3
setxkbmap + x11-xkb-utils xorg-setxkbmap xorg-x11-xkb-utils setxkbmap
socat + socat socat socat socat
tar - tar tar tar tar
unzip - unzip unzip unzip unzip
vainfo + vainfo libva-utils libva-utils libva-utils
weston + weston weston weston weston
wmctrl + wmctrl wmctrl wmctrl wmctrl
wget - wget wget wget wget
xauth + xauth xorg-xauth xorg-x11-xauth xauth
xbindkeys + xbindkeys xbindkeys xbindkeys xbindkeys
xclip + xclip xclip xclip xclip
xdg-desktop-icon
xdg-icon-resource
- xdg-utils xdg-utils xdg-utils xdg-utils
xdotool + xdotool xdotool xdotool xdotool
xdpyinfo + x11-utils xorg-xdpyinfo xorg-x11-utils xdpyinfo
Xephyr + xserver-xephyr xorg-server-xephyr xorg-x11-server-Xephyr xorg-server-xephyr
xfishtank + xfishtank - - -
xhost + x11-xserver-utils xorg-xhost xorg-x11-server-utils xhost
xkbcomp + x11-xkb-utils xorg-xkbcomp xorg-x11-xkb-utils xkbcomp
xinit + xinit xorg-xinit xorg-x11-xinit xinit
Xorg + xorg xorg-server xorg-x11-server xorg-server
xpra + xpra xpra xpra xpra
xrandr + x11-xserver-utils xorg-xrandr xorg-x11-server-utils xrandr
Xvfb + xvfb xorg-server-xvfb xorg-x11-server-Xvfb xvfb
Xwayland + xwayland xorg-server-xwayland xorg-x11-server-Xwayland xorg-server-xwayland
xwininfo + x11-utils xorg-xwininfo xorg-x11-utils xwininfo
(Debian X wrapper
for --xorg)
+ xserver-xorg-legacy - - -
  • Missing entries - indicate that the distribution does not provide an appropriate package.
Clone this wiki locally