Skip to content

Latest commit

 

History

History
1323 lines (1180 loc) · 71.1 KB

CHANGELOG.md

File metadata and controls

1323 lines (1180 loc) · 71.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning since version 4.0.0.

Project website: https://github.com/mviereck/x11docker

[Unreleased]

Added

  • Support of MSYS2, Cygwin and WSL (Ubuntu/bash on Windows). (#55)
  • --vcxsrv: New option for VcXsrv X server on MS Windows. Similar to Xming. (#55)
  • --xwin: New option for Xwin X server of Cygwin/X on MS Windows.
  • --sharessh: New option to share SSH agent authentication socket from host. (#59)
  • --name: New option to set container name. (#61)
  • --cachebasedir: Set custom cache base directory. Replaces --cachedir.
  • --homebasedir: Set base directory where to store folders for --home.

Changed

  • API CHANGE: Syntax changed for custom DOCKER_RUN_OPTIONS (#58). New:
   x11docker [OPTIONS] --  DOCKER_RUN_OPTIONS -- IMAGE [COMMAND [ARG1 ARG2 ...]]

Previous, still valid:

   x11docker [OPTIONS] -- "DOCKER_RUN_OPTIONS"   IMAGE [COMMAND [ARG1 ARG2 ...]]
   x11docker [OPTIONS] -- IMAGE COMMAND ARG1 -- ARG2

BREAKS due to wrongly parsed -- :

   x11docker [OPTIONS] -- "DOCKER_RUN_OPTIONS"   IMAGE COMMAND ARG1 -- ARG2

Valid:

   x11docker [OPTIONS] --  DOCKER_RUN_OPTIONS -- IMAGE COMMAND ARG1 -- ARG2

Deprecated

  • --cachedir: Use --cachebasedir instead.

Removed

  • --ipc: Use --hostipc instead.
  • --net: Use --hostnet instead.
  • --sharewayland: Use --wayland instead.
  • --setwaylandenv: Use --wayland instead.
  • --dbus-daemon, --dbusdaemon: Use --dbus-system instead.
  • --add: Use --runfromhost instead.

Fixed

  • --xpra: Support of outdated xpra version v0.17.6 that is still distributed in debian stretch and buster.
  • --xpra: Set x11docker cache folder as xpra socket folder. (#69)
  • --xpra: Check if xhost is available if xpra version 2.3.1 has cookie issue. (#57)
  • --xpra-xwayland: Set Weston --fullscreen to get Xwayland resolution matching host display. Weston v4.0.0 seems to interpret screen size settings in weston.ini different than before.
  • --pw gksu, --pw gksudo: Disable keyboard grabbing to avoid issues with Gnome 3 Wayland session.
  • Don't fail on missing password prompt frontend if no password is needed.

4.3.6 - 2018-07-03

Changed

  • --auto: Prefer --xpra and --xephyr over --nxagent again. --nxagent too often has issues with extension Composite.
  • --xorg: Allow running Xorg as root from within X if /etc/X11/Xwrapper.config is not configured to allow it.
  • --xpra, --xpra-xwayland: Set maximal --quality 100.

Fixed

  • --xpra: Check for tty timeout had a bug that caused all clients of same server to terminate if one client was closed.
  • --xorg: Secure check for free tty instead of guessing it.
  • --xorg: Error messages appear on new display instead of host display.
  • --sysvinit, --runit, --openrc: Clean shutdown on CTRL-C / SIGINT.
  • x11docker-gui: Fixed issue with self-terminating on cleanup.
  • errors within subshells did not reliably terminate x11docker.
  • --tini: Check for docker-init in snap installs of docker. (#51)
  • --dbus-system: Disable services org.freedesktop.hostname1 and org.freedesktop.locale1 if not running with --systemd. Can cause container shutdown after some time.
  • --hostdisplay: Fixed possible xhost -SI:localuser:$USER. (#53)
  • /etc/shadow: Fixed fedora issue with 000 file access. (#53)

4.3.5 - 2018-06-21

Changed

  • x11docker-gui runs from console, too.

Fixed

  • --xorg and others on TTY failed due to xinit in subshell. (regression in v4.3.4).
  • --weston --size failed on tty, have to specify drm backend for check.
  • timezone syncing: If setting TZ, positive offsets have been set wrong.
  • timezone syncing: Regard TZ from host, not only /etc/localtime.
  • --xpra: catch timeout disconnection that happens if using another tty longer than 60s. Restart xpra client in that case.

4.3.4 - 2018-06-15

Changed

  • --dbus-system --sharecgroup: support of elogind in container.
  • Timezone syncing: Do not mount-bind /etc/localtime. If tzdata is missing in image, but host and image have same libc, provide current timezone file only. Create symlink /etc/localtime within container. If all that fails, set TZ with offset to UTC. (#50)
  • Improved message.fifo handling from within dockerrc and container.
  • Disentangled final code sequence of xinit and docker run.

Fixed

  • Check for running docker daemon in dockerrc instead of using pidof. (#49)
  • Show error message if X server fails to start. Supress warning if needless.
  • --xpra: Do not exit on failed in xpra server log. (seen on Ubuntu 18.04).
  • --xorg: Show Xwrapper.config warning if needs_root_rights=yes is missing. (Seen on Ubuntu 18.04).
  • --xorg: Password prompt did not appear on new display.
  • --nothing: Bugfix password prompt on console.
  • --nothing: Avoid startup error message.
  • --nothing: Don't start X if running within X / dependency check issue.
  • --nothing: Pull request for non-local images was invisible.

4.3.3 - 2018-06-05

Changed

  • --no-init or missing tini resp. docker-init: use sh as PID 1 for desktop environments (--desktop) to allow logout.

Fixed

  • fedora 28: Check for docker daemon with name dockerd-current (#49)
  • --auto: Prefer --hostdisplay for seamless apps if nothing else is available.
  • --wayland, --weston, --kwin, --hostwayland: Show error and exit if no wayland environment can be provided.
  • dockerrc messages forwarded to logfile fifo. (fixes "unknown file descriptor").

4.3.2 - 2018-06-03

Changed

  • x11docker-gui is interactive now. Live preview of generated command. Starting multiple x11docker instances possible. Copy-to-clipboard button.
  • x11docker-gui: create list of installed images every time x11docker or x11docker-gui runs and has enough permissions. Image list is used in x11docker-gui in image combo.
  • --cleanup: Running as root not mandatory.
  • --clipboard: support xsel additional to xclip.

Fixed

  • Starting in pure Wayland environments failed (regression in v4.3.0).
  • --wayland, --weston, --kwin in pure Wayland: detect screen size.

4.3.1 - 2018-05-29

Changed

  • --auto: prefer --nxagent over --xpra and --xephyr. Reasons: Faster startup than --xpra. Flexible display size opposed to --xephyr. Since Ubuntu 18.04 available to broader range of users than before.
  • --runfromhost can be specified multiple times now.
  • --runasroot can be specified multiple times now.
  • --dbus-system and init systems: remove useless or failing dbus services.
  • --systemd: mask some useless or failing units.
  • set DISPLAY, XAUTHORITY, WAYLAND_DISPLAY and XDG_RUNTIME_DIR in docker run command for easier custom use of docker exec.

Fixed

  • --xpra: Deny to start xpra >2.2.5 and <r19519 due to MIT-SHM bug. Show message that startup is only possible with --hostipc. xpra bugticket: https://xpra.org/trac/ticket/1858
  • --xpra: Warning and workaround for cookie bug in xpra >=v2.3. xpra bugticket: https://www.xpra.org/trac/ticket/1859
  • --xpra in desktop mode: Allow closing client window, don't restart.

4.3.0 - 2018-05-26

Added

  • --stdin: Forward stdin of x11docker to image command.
  • --showpid1: Echo host PID of container PID 1 on stdout.

Changed

  • --security-opt=no-new-privileges for init systems and --dbus-system. Now default for all options except --sudouser and --cap-default.
  • --dbus-system and init system options: Run all except a few dbus system services manually and show security warning message. Manual start needed due to no-new-privileges, polkit setuid helper fails.
  • Minimize or delete /etc/pam.d/su and delete /etc/pam.d/sudo. Avoids security leak that would allow switching to root in container if PAM configuration allows it and capabilities for su are given.
  • Remove /bin/sh -c from extracted CMD image command.
  • Regard WORKDIR in image, use it instead of HOME. (#45)
  • Logfile handling with fifo/named pipe.
  • --auto: Tightened dependency check.
  • Improved process watching using less resources. Faster shutdown.
  • x11docker-gui: New structure using tabs.
  • Some code cleanup.

Fixed

  • Don't set -title in Xephyr command. Xephyr bug: Releasing keyboard and mouse after grab (ctrl+shift) does not work with -title. (#44)
  • --nxagent: Fixed keyboard layout issue, don't use setxkbmap.
  • --nxagent: Regard --keymap.
  • --nxagent: Removed extension Composite, caused some issues.
  • --exe: Don't pass file descriptors to host executeable.
  • --wayland Works with prissy GTK3 applications (e.g. xfce4-terminal) again, needed user switching in --dbus-system for unknown reasons.
  • --showid failed with sudo due to missing file descriptors. Using mkfifo now.
  • Don't forward stdin as default, can cause trouble if empty. use --stdin instead.
  • --xorg: disable screen saver (#46)

4.2.1 - 2018-05-10

Added

  • Forward stdin of x11docker to container command with a named pipe/fifo.

Changed

  • x11docker-gui: Use stdin for kaptain grammar transmission. Don't use cache.
  • --dbus-system: Don't create --tmpf /tmp --tmpfs /run --tmpfs /var/run --tmpfs /run/lock. (#43)
  • Some internal improvements for faster startup and shutdown.

Fixed

  • x11docker-gui: fixed x11docker startup failure due to changed stdout output.

4.2.0 - 2018-05-04

Added

  • --group-add: New option to add groups to container user. Needed instead of -- --group-add to cover user switching setups, too.
  • --showid: New option to show container ID on stdout.
  • --runfromhost: Replaces deprecated --add to have a meaningful option name. Similar to already existing --exe, but integrates with container.
  • --runasroot: New option to run command as root in container on startup.

Changed

  • --gpu: Support for automatical installation of NVIDIA drivers in container. Limited to glibc based image systems. (#41)
  • elogind support for --sysvinit, --openrc and --runit. See also elogind in container: elogind#52
  • --systemd: If host does not run systemd, create /sys/fs/cgroup/systemd.
  • --dbus-system: wait for bus socket to be ready before continuing.
  • --tini: Use tini-static from ~/.local/share/x11docker or /usr/local/share/x11docker if available. Show message for this possibility if /usr/bin/docker-init is missing. (Widespread docker packaging issue). (#23)
  • Avoid user switching except for --systemd, --sysvinit, --openrc and --runit. (#42)
  • Outsourced x11docker.png from x11docker-gui.
  • No default output of container ID on stdout anymore. Use --showid instead.
  • --silent: Do not show error messages except in logfile.
  • --weston[-xwayland] --fullscreen: Use X backend if possible to prevent possible crash with nested fullscreen weston in host drm weston.
  • Disabled forwarding of stdin to container, has not been reliable.

Deprecated

  • --add changed its option name to --runfromhost.

Fixed

  • Don't share or link /tmp/.Xn-lock as usefulness is in doubt. Avoids issues with x11docker/xwayland.
  • --stdout --showid: Make sure container ID is shown first.

4.1.1 - 2018-04-12

Changed

  • Mount nothing into /tmp as init cleanups may try (and fail) to delete it.
  • Write or link into /tmp only after possible init cleanup.
  • Mount X socket r/w again as there is no longer a risk due to /tmp cleanups.
  • --debug: Some changes for more useful debugging output. Drop set -x in main code, instead set -Eu with trap ERR.
  • --update/--update-master: Show excerpt of CHANGELOG.md.
  • Check ENTRYPOINT for init entries /tini|/init|/systemd and disable it if x11docker already runs an init. (Default: --tini.)

Fixed

  • x11docker-gui regards new output of container ID now that confused output of x11docker/kaptain and prevented start of x11docker.
  • Mount WAYLAND_DISPLAY and DISPLAY at / instead of /x11docker/ in container. Avoids a docker bug that only sometimes causes startup failure stat /run/user/1000/wayland-600: no such file or directory. Occasionally docker is confused about a mount point inside of a mount point. Avoiding that now. However, issue only seen with shared Wayland sockets and never with X sockets, maybe due to different option positions in docker run command.
  • --workdir: Avoid double setting of --workdir in docker command if x11docker option --workdir is set. Caused no trouble, though.

4.1.0 - 2018-04-08

Added

  • --update-master updates to lastest x11docker master version. (Formerly job of --update).

Changed

  • --update updates to latest x11docker release on github. (Formerly: latest master version).

4.0.0 - 2018-04-07

Changed

Notes

  • Previous version links in changelog lead to history tree leafs with corresponding x11docker script.
  • Upcoming version links in changelog will lead to corresponding releases.

3.9.9 - 2018-04-06

Changed

  • Removed --security-opt=no-new-privileges for --systemd/--sysvinit/--runit/--openrc. (Undoes some changes from V3.9.8.1). Will be reintroduced after further checks, caused issues with x11docker/deepin and x11docker/cinnamon.
  • --env: set environment variables in docker run, too. Makes them available within docker exec.

3.9.8.5 - 2018-04-05

Changed

  • finish(): run docker stop before creating timetosaygoodbye for more graceful shutdown (#37)

Fixed

  • Set correct XAUTHORITY in setup script.
  • Disable User in systemd journal service, can fail in restricted setups.

3.9.8.4 - 2018-04-04

Added

  • --workdir to set working directory different from HOME. (#36)

Changed

  • --systemd/--dbus-system: changed su command to remove sh from pstree.

Fixed

  • User group entry in /etc/group had wrong syntax.

3.9.8.3 - 2018-04-04

Fixed

  • --dbus-system: must not set --security-opt=no-new-privileges, important services like polkitd fail.

3.9.8.2 - 2018-04-03

Changed

  • disable entrypoint tini if x11docker already runs an init system (default: --tini/docker-init from docker). (#34)

3.9.8.1 - 2018-04-03

Changed

  • --security-opt=no-new-privileges now always set except for --sudouser. It does not harm switching from root to less privileged users. (Note: is undone in v3.9.9)
  • setup script with user switching: exec su instead of su to avoid root shell in parent tree. su is now immediate child of init.

Added

  • show container ID on stdout (#36). Can be catched e.g. with read containerID < <(x11docker [...] ).

3.9.8.0 - 2018-04-02

Changed

  • Removed Xtermlogfile, using Dockerlogfile instead. Strange: solved missing output with --pw=su or --pw=sudo, too.

Fixed

  • Escape special characters in --env, ENV and image command. (Adresses #34, too, now solved better). (Note: still have to escape some other optional arguments)

3.9.7.9 - 2018-03-31

Changed

  • Store parsed parts of Imagecommand in '' to allow constructs like sh -c "cd /etc ; xterm"

Fixed

  • Added --rm to docker run of environment check. (#34)

3.9.7.8 - 2018-03-31

Fixed

  • Handle equal signs in container environment defined with ENV (#34)

3.9.7.7 - 2018-03-31

Fixed

  • Handle whitespaces in container environment defined with ENV (#34)

3.9.7.6 - 2018-03-30

Changed

  • mount X socket and lockfile read-only to protect from /tmp init cleanups.
  • minor improvements of init system initialization

Fixed

  • remove checks for --userns-remap and --selinux-enabled. (#33)

3.9.7.5 - 2018-03-30

Changed

  • --dbus-system: drop explicit consolekit support
  • --sysvinit,--openrc: disable getty in inittab instead of overwriting inittab with shared volume
  • --sysvinit: change rc.local in setupscript instead of overwriting it with shared volume
  • --openrc, --runit: create service in setupscript. Drop some more capabilities

3.9.7.4 - 2018-03-26

Added

  • --sysvinit for init system SysVinit in container. Tested with devuan.

Fixed

  • --pulseaudio: need to set environment variable PULSE_SERVER. (Was missing after switch from tcp to socket connection).
  • --runit: add softlink for X socket in x11docker.CMD.sh for compatibility with runit on debian.

3.9.7.3 - 2018-03-21

Changed

  • --pulseaudio: share socket XDG_RUNTIME_DIR/pulse instead of connecting over tcp.

3.9.7.2 - 2018-03-20

Added

  • --add to add a host command in xinitrc.
  • --debug to set -x in all scripts showing code lines while executed.

Changed

  • --wm: fall back to autodetection if specified window manager not found.
  • --dbus: enable automatically for --runit, --openrc
  • consolekit: use automatically with --dbus-system, --openrc, --runit
  • mywatch(): use watch again, now without sh -c
  • --help: usage() cleanup

Deprecated

  • --sharewayland, --waylandenv: not needed for anything anymore. --wayland does the job.

Fixed

  • writeaccess() handles user group names with spaces in it. #30
  • --env: regard whitespace. Still need to handle special chars like "'$.

3.9.7.1 - 2018-03-16

Fixed

  • alpine images: /etc/shadow entry must be /bin/sh, --dbus-system with su fails with /bin/bash.
  • openSUSE: finish(): replace bc with bash-only calculation, bc is missing on openSUSE.

3.9.7 - 2018-03-15

Changed

  • structure change: don't sleep 1 for setup; instead wait for it in x11docker.CMD.sh resp. run su or init in setup
  • xinitrc: some cleanup
  • --verbose: power of moo
  • SSH with --hostdisplay: set --hostipc, --hostnet and --trusted. Do not use X-generated cookie, bake it myself.

Fixed

  • openSUSE/fedora: ps check for container pid; fixed desktop logout issue, too.
  • ---weston/--weston-xwayland: do not start drm backend if started within X without DISPLAY -> crashed host X.
  • regard SSH session, assume tty if DISPLAY is empty.
  • --hostdisplay: don't set keymap.

3.9.6.1 - 2018-03-10

Changed

  • --lang: replace locale-gen with more general available localedef.

Fixed

  • --tini: check for docker-init in PATH, disable default option --tini if missing. (#23)

3.9.6 - 2018-03-09

Added

  • --lang to set language locale in utf8, create it if missing.

3.9.5 - 2018-03-06

Added

  • --keymap to set keyboard layout.

3.9.4.2 - 2018-03-06

Fixed

  • Store keyboard layout (xkb_keymap) in separate file, not in xinitrc. Set on all X servers. #25

3.9.4.1 - 2018-03-06

Changed

  • share /etc/localtime with container to have the same time zone as on host.

Fixed

  • typo --pulseaudio

3.9.4.0 - 2018-03-05

Added

  • --sys-admin: no longer deprecated, needed for systemd in debian 9 images (but not debian 10). Adds capability SYS_ADMIN.
  • --hostnet replaces former --net.
  • --hostipc replaces former --ipc.
  • --dbus-system replaces former --dbus-daemon.

Changed

  • --pulseaudio with --hostnet: no fallback to --alsa, use localhost IP instead.
  • --pulseaudio --no-internet: fallback to --alsa.
  • --auto --gpu: fallback to --hostdisplay for seamless mode if xpra and weston not found. (#23)
  • clean up error message on docker startup failure, remove multiple error lines.
  • stdout and stderr of image command outsourced of docker.log.
  • docker log -f >> docker.log to get output in detached mode.
  • more verbose messages in waiting subroutines.

Deprecated

  • --net is replaced by --hostnet.
  • --ipc is replaced by --hostipc.
  • --dbus-daemon is replaced by --dbus-system.

Fixed

  • mount /dev/dri and /dev/snd not only with --device, but also --volume to keep ownership+group. Workaround for bug in docker. #24.
  • --hostdisplay: Use correct display number to share /tmp/.X0-lock, only share if it exists.
  • --systemd: terminate x11docker if systemd startup fails.

3.9.3.2 - 2018-03-01

Added

  • --no-xtest: disable extension XTEST. Default for most options.

Fixed

  • openSUSE docker package misses init binary docker-init, show warnings for --tini. #23

3.9.3.1 - 2018-03-01

Fixed

  • Avoid wrong XTEST warning messages.

3.9.3 - 2018-03-01

Added

  • --xtest to enable X extension XTEST. Default for --xdummy, --xvfb, --xpra

Changed

  • --tini: show warning for outdated docker versions without option --init and fall back to --no-init. #23
  • --pulseaudio with --net: fallback to --alsa, disabling --pulseaudio.

3.9.2.3 - 2018-02-25

Changed

  • set container GID of video and audio to same as on host. Avoids issues if container system has different GIDs than host.
  • cat docker daemon messages for startup error message.
  • mywatch(): replaced watch with custom sleep loop, watch failed in --hostdisplay (xinitrc) setups.
  • mywatch(): verbose output.
  • --exe: only forward stdin if not empty.
  • finish(): use pkill in most cases instead of kill to avoid kill success messages.

Fixed

  • --weston/--kwin: wait for file creation of wayland socket, checking logfile is not enough.
  • --kwin: kwin_wayland seems to need dbus-launch now.

3.9.2.2 - 2018-02-09

Changed

  • check free display and cache folder with find only.
  • plasmashell added to possible window managers.

Fixed

  • --exe: avoid possible hostexe options with basename for $Hostexebasename.
  • typo checking /tmp/.Xn-lock.
  • checking free display number: race condition if starting two x11docker instances at same time, second one failed because display number already in use.

3.9.2.1 - 2018-01-29

Changed

  • create /x11docker/environment to store and provide container environment variables.

Fixed

  • correct date/year in changelog. (#21)
  • finish(): wrong warning although terminating bgpid was successfull.

3.9.2 - 2018-01-21

Changed

  • finish(): more precise check with pid and name before killing background pids.

Fixed

  • add groups video and audio in docker run if su is not used in container. /etc/group changes by dockerrc seem to be not regarded in that case.

3.9.1.9 - 2018-01-17

Changed

  • --xpra: if server crashes, use xpra option --mmap=no on restart.

3.9.1.8 - 2018-01-16

Changed

  • --xpra: stop x11docker if xpra server crashes multiple times.

3.9.1.7 - 2018-01-15

Changed

  • --gpu: share /dev/vga_arbiter and /dev/nvidia*.

3.9.1.6 - 2018-01-15

Changed

  • --xpra: restart xpra server if it crashes (can happen with xpra 2.2, reason unknown)

3.9.1.5 - 2018-01-13

Fixed

  • --xpra: reconnect to server after timeout (60s) if switching to console.

3.9.1.4 - 2018-01-12

Changed

  • --help: some usage() updates.
  • --xorg: create virtual framebuffer if no monitor is connected (headless server setup).
  • --xpra: note that 2.1.x series is more stable than 2.2.x series.
  • create $Cacherootfolder/Xenv.latest with latest X environment variables for easier custom access.
  • --verbose --systemd: hide error messages: Failed to add fd to store | Failed to set invocation ID | Failed to reset devices.list
  • --systemd: set global environment variable XAUTHORITY.

3.9.1.3 - 2018-01-04

Changed

  • --dbus-daemon: set xhost +SI:localuser:$USER, needed for deepin.
  • --pulseaudio: faster startup of pulseaudio, no sleep 1.
  • create fake home directory and softlinks to sharedirs in CMD.sh, base is /fakehome now.
  • extension XTEST: more restrictive defaults.

Fixed

  • pull terminal did not appear if running from terminal.
  • --systemd: global XAUTHORITY setting was wrong, removed at all.

3.9.1.2 - 2017-12-28

Changed

  • --sudouser: root gets password x11docker, too. Allows su now.
  • cut image command at # to allow comments in x11docker-gui examples.

Fixed

  • check environment variables in image and set them in x11docker.CMD.sh. Allows PATH of x11docker/trinity again.
  • parsing host XAUTHORITY if running from gksu.

3.9.1.1 - 2017-12-28

Fixed

  • --systemd: directly share X socket as systemd can have issues with soft links

3.9.1 - 2017-12-25

Changed

  • run in detached mode, drop mess of nohup/setsid/script
  • --dbusdaemon: dropped consolekit, not really useful
  • --dbusdaemon: switch only for --tini/--none. Always run daemon for --systemd --openrc --runit
  • --systemd: create /sys/fs/cgroup/systemd if missing on host
  • containersetup.sh collects most former docker exec commands from dockerrc

Deprecated

  • --sys-admin: thanks to --tmpfs=/run/lock (Note: reintroduced in v3.9.4.0)

3.9.0.5 - 2017-12-21

Changed

  • add capability DAC_OVERRIDE if user switching is allowed -> needed to change /etc/sudoers if ro.
  • --systemd: adding --tmpfs=/run/lock allows to drop --sys-admin !

Fixed

  • only create XDG_RUNTIME_DIR if not already existing.

3.9.0.4 - 2017-12-20

  • changes to satisfy lirios/unstable:
  • add docker run -ti
  • run docker command with script -c to provide fake tty
  • changed /tmp/fakehome to /home/fakehome
  • use --workdir=/tmp, avoids issues with WORKDIR in image

Fixed

  • --dbus: check for dbus-launch in x11docker.CMD.sh, not in dockerrc on host

3.9.0.3 - 2017-12-17

Changed

  • switched back to /tmp/fakehome to avoid CHOWN and issues with --sharedir.
  • drop --cap-add CHOWN.
  • --sharedir: without --home[dir], create softlinks to /tmp/fakehome.
  • --home: avoid conflict with --sharedir=$HOME, mount as $HOME/$(basename $HOME).
  • only chown $Benutzerhome if --home[dir] is not used. Change non-writeable error in warning only.
  • --hostdisplay: warning if host has no own cookie.

Fixed

  • avoid grey edge with Xwayland, Xaxis must be dividable by 8.
  • --sudouser failed to start

3.9.0.2 - 2017-12-16

Changed

  • /etc/sudoers[.d/]: replace completly to avoid possible evil image setups.
  • --cap-add CHOWN as default to allow /home/$Benutzer with --sharedir

3.9.0.1 - 2017-12-16

Changed

  • use /home/$Benutzer instead of /tmp/fakehome.

Fixed

  • --systemd: do not set environment variable HOME globally, root may write into it.

3.9.0 - 2017-12-15

Added

  • --dbusdaemon to run dbus system daemon and consolekit in container.
  • --openrc for init system OpenRC in container.
  • --sharecgroup to share /sys/fs/cgroup. Default for --systemd, possible use cases for --openrc.

Changed

  • /etc/shadow: disable possible root password.
  • re-checked capabilities for init systems.
  • --systemd: set environment globally, especially DISPLAY for x11docker/deepin is needed.
  • --systemd: set xhost+SI:localuser:$Benutzer as XAUTHORITY seems to be ignored.
  • /tmp/.ICE-unix created in dockerrc, root owned with 1777, needed for SESSION_MANAGER.
  • --xorg: change Xorg to X. X is setuid wrapper for Xorg on Ubuntu 14.04.
  • --xorg: +iglx removed from X options, not present in older versions of X, and maybe security issue.
  • create user in dockerrc with docker exec instead of using createuser.sh.
  • show image name and display in weston window title.

Deprecated

  • --rw, root file system is always r/w now due to docker exec in dockerrc.

Fixed

  • Ubuntu: avoid Wayland backend for Weston due to MIR issue. #19
  • create /var/lib/dbus in dockerrc to avoid dbus errors with init systems.
  • --runit: add SYS_BOOT even with --cap-default.

3.8.0 - 2017-12-04

Added

  • --systemd to run systemd as PID 1 in container and run image command as a service.
  • --runit for init system runit.
  • --init for init system tini (default now, docker run option --init).
  • --no-init to run image command as PID 1 (has been default before x11docker 3.8).
  • --sys-admin for --cap-add=SYS_ADMIN. Needed for systemd in debian based images.
  • --wayland to auto-setup Wayland environment.

Changed

  • run init system tini as default with docker run --init.
  • -W is now --wayland instead of --weston, -T for --weston now.
  • container user password: x11docker (creating volume /etc/shadow).
  • --sudouser: create user with docker run options instead of createuser script.
  • --sudouser: create /etc/sudoers.d/$Benutzer with docker exec in dockerrc.
  • --sudouser: create /etc/sudoers.d/$Benutzer instead of adding groups wheel and sudo.
  • createuser.sh: check for useradd, if missing use adduser (fits fedora and alpine/busybox as well).
  • $Sharefolder/stdout+sterr: chmod 666 to allow access with --user.
  • --exe and --xonly: regard --home and --homedir, --user and --hostuser.
  • check pids before calling mywatch().
  • colored logfile output.
  • --verbose: green colored output for logfile titles and verbose() lines.
  • set env DISPLAY XAUTHORITY and WAYLAND_DISPLAY in x11docker.CMD.sh as systemd eats them otherwise.
  • use docker run option --tmpfs for /tmp, /var/tmp and /run instead of --volume=/tmp.
  • changed container share folder /tmp/x11docker to /x11docker to avoid issues with --tmpfs /tmp.

Fixed

  • in createuser.sh: adduser failed with fedora based images, use useradd and usermod instead.
  • --pw=gksu: avoid wrong docker startup error message, use nohup in dockerrc.
  • --hostdisplay with --gpu needs trusted cookies.
  • --xpra with --hostuser: create /run/user/$Hostuseruid if missing.

3.7.2 - 2017-11-11

Changes

  • allow rw with --volume=/var/tmp, needed for x11docker/trinity.
  • --nxagent: removed xhost startup workaround.
  • $Hostxenv: removed custom environment.
  • --nxagent: shift+F11 toggles fullscreen.
  • --nxagent on Mageia: only show warning about seamless mode instead of disabling it.

Fixed

  • su on console needs exec </dev/tty to have a tty environment.

3.7.1 - 2017-11-03

Changed

  • read host cookie with xauth if XAUTHORITY is empty, can happen with xdm.
  • --nxagent on Mageia: no seamless mode.
  • replaced while/sleep loops with watch.
  • alertbox(): regard DISPLAY, use $Anyterminal otherwise to support Wayland.
  • weston.ini: keyboard config setting on console.
  • fedora: show alert for --ipc/--trusted due to missing extension security.

Fixed

  • fixes for gksudo and lxsudo.
  • Ubuntu 16.04: --xpra: must not set --webcam=no due to old xpra version.
  • --weston and --kwin on console, terminal for password prompt failed.

3.7.0 - 2017-10-30

Added

  • --alsa for ALSA sound.

Changed

  • auto-choose window manager in --xephyr/--xorg/--weston-xwayland/--kwin-xwayland/--xwayland except --desktop is set.
  • new function alertbox(), outsourced from error(). Additional messagebox tools: yad, kaptain, kdialog, gxmessage, xterm.
  • changed content of variable Xserver to X server option names itself.
  • extended terminal list for password prompt/docker pull.
  • --xhost: always disabling with no_xhost(), afterwards setting --xhost.

Deprecated

  • --kwin-native, too much trouble, but less use.

Fixed

  • --weston/--weston-xwayland: set backend in compositor command, weston's autodetection can fail.
  • --kwin/--kwin-xwayland: set backend in compositor command, kwin's autodetection can fail.
  • --kwin-xwayland: set keyboard layout.

3.6.3.9 - 2017-10-25

Changed

  • show error messages regardless of --silent
  • change sudo to sudo -E, needed for OpenSUSE
  • code cleanup, some improved messages

3.6.3.8 - 2017-10-25

Changed

  • fedora: set --ipc and --trusted for --hostdisplay only

3.6.3.7 - 2017-10-25

Fixed

  • --hostdisplay on fedora: use host cookie, custom cookie is rejected

3.6.3.6 - 2017-10-24

Added

  • --wmlist to retrieve list of window managers, used by x11docker-gui, not documented in --help

Changed

  • --gpu: improved support in autochoosing mode
  • disabled note of xpra keyboard shortcuts, takes too long
  • hardcoded xpra environment variables, parsing xpra showconfig takes too long

Fixed

  • --pw=sudo: issue with setsid

3.6.3.5 - 2017-10-24

Fixed

  • xpra with host user root: set environment variables
  • dbus-launch for konsole and terminator, needed in dockerrc

3.6.3.4 - 2017-10-23

Fixed

  • add /usr/sbin to PATH, needed on mageia for ip
  • --pw=sudo: setsid sudo fails, must use sudo setsid

3.6.3.3 - 2017-10-23

Changed

  • removed experimental Code

Fixed

  • --wm issue as root in xinitrc

3.6.3.2 - 2017-10-23

Changed

  • remove debugging set -x in xinitrc

3.6.3.1 - 2017-10-23

Changed

  • split X server command with \backslash in multiple lines

Fixed

  • don't use su $USER in xinitrc

3.6.3 - 2017-10-20

Added

  • --no-internet

Changed

  • minor adjustments for compatibility with CentOS/RHEL, Arch and Manjaro
  • allow gnome-terminal / self-forking terminals in general
  • split docker command with \backslash in multiple lines

3.6.2.12 - 2017-10-18

Fixed

  • dbus-launch disturbed gksu

3.6.2.11 - 2017-10-18

Changed

  • CentOS/RHEL workaround: insist on root or gksu; terminal password prompt causes docker to terminate regardless of nohup

3.6.2.10 - 2017-10-17

Fixed

  • Fixes in terminal emulator setup for password prompt and pull question (2)

3.6.2.9 - 2017-10-17

Changed

  • xpra: set --file-transfer=off (stores files in Downloads from host, useless here)

Fixed

  • Fixes in terminal emulator setup for password prompt and pull question

3.6.2.8 - 2017-10-12

Changed

  • --xdummy/--xpra: add multiple modelines for virtual display sizes to allow flexible changes of xpra client desktop window
  • --xpra: virtual display size always equal with physical display, create smaller mode in xinitrc -> allow fullscreen
  • xpra: disable some unused, but possibly leaking features (forwarding of webcam, notifications, printer)
  • xpra: set xpra specific environment variables in dockerrc
  • xpra: show keyboard shortcuts

3.6.2.7 - 2017-10-08

Changed

  • --xephyr: title for Xephyr windows
  • --xephyr: Xnest as fallback for missing Xephyr
  • --xpra --desktop hint: screensize bug fixed since xpra v2.2-r17117

3.6.2.6 - 2017-10-07

Fixed

  • --xpra --desktop: use start-desktop instead of shadow

3.6.2.5 - 2017-10-05

Changed

  • no_xhost()? after cookie creation avoids xhost warning on Xwayland
  • --output-count in --auto mode: choose --weston-xwayland
  • --display: allow : before display number
  • sh instead of bash to run x11docker_CMD

3.6.2.4 - 2017-09-27

Changed

  • --starter: missing xdg-user-dir is no longer an error
  • --silent: redirect stderr already while parsing
  • --user=root: disable --cap-drop=ALL
  • --help: update usage info
  • weston.ini: background color and zoom-in effect
  • use Kwin/Kwin-Xwayland as fallback for Weston/Weston-Xwayland
  • catch closing xpra client in every case, not only in desktop mode
  • parsing cli options: check for remaining arguments $# instead of empty $1

Fixed

  • --xonly: do not fail if docker daemon is not running

3.6.2.3 - 2017-09-19

Changed

  • --xorg: only run setxkbmap in xinitrc if $Hostdisplay is set

3.6.2.2 - 2017-09-18

Changed

  • --xpra --scale in desktop mode: regard different --dpi behaviour since xpra v2.2
  • --help: update usage info
  • setxkbmap for Xorg like for Xephyr, too
  • weston.ini: added panel-position=none, different syntax for different weston versions (seen in Arch Linux).
  • x11docker_CMD: replace shell with exec $Imagecommand (only if stdin is empty)

3.6.2.1 - 2017-09-15

Changed

  • removed z flag in docker command, not needed with current SELinux solution
  • --weston[-xwayland]: no output section on tty without --scale, --size or --rotate
  • --weston[-xwayland]: allow --size on tty, though only "real" resolutions will take effect
  • --xorg: --scale, --size: change primary monitor only, will do better on multi monitor setup
  • --xdummy --gpu now possible on tty, too

Fixed

  • --home: avoid creating $Adduserhomefolder with wrong restrictions if $Hostuser is different from $Benutzer
  • Fixes in part: check screensize
  • watch for closing xpra client in desktop mode to avoid invisible remaining x11docker
  • --xorg on tty: do not set screen size without --size.

3.6.2 - 2017-10-10

Added

  • --xfishtank to run xfishtank on new X server. Shows a fish tank.

Changed

  • --westonini: regard for --xpra-xwayland and --xdummy-xwayland, too.
  • PATH: adding /usr/games:/usr/local/bin. Can miss for root, but may be needed for --exe and --xfishtank
  • check for X extension Security with xdpyinfo
  • --clipboard for --hostdisplay: enable --trusted and --ipc, show warning.
  • xpra startup after xinitrc, not inside. For better error handling
  • removed ps loop in dockerrc, not needed anymore due to "docker run" in subshell
  • waitforlogentry(): Just return 0 or 1 instead of calling error()
  • changed logfile handling, move log from /tmp to $Sharefolder after tail -F

Fixed

  • --sharedir, --homedir: allow whitespaces in path
  • --cachedir: path must not contain whitespaces -> error()
  • --westonini: allow whitespaces in path
  • --pulseaudio: remove tcp module, store id in file to not loose it in subshell
  • --exe: support of --stdout and --stderr
  • error()/finish(): reliable error code before cache folder creation
  • weston on tty: clean logfile & pidfile to allow second weston instance

3.6.1.11 - 2017-08-28

Changed

  • clean check for stdin, no more workaround

3.6.1.10 - 2017-08-27

Changed

  • --nothing: no check for successfull startup, avoids error message for short-timed cli commands
  • --showenv: wait with output until X is ready and accessable

3.6.1.9 - 2017-08-25

Fixed

  • --home: remove debugging error message

3.6.1.8 - 2017-08-25

Changed

  • provide stdin to host exe, too (--exe)
  • --silent: supress error dialog box, too
  • more reliable exit code 1 on error

Fixed

  • --orphaned: did not find cache folder
  • --hostuser: cache folder created with root ownership

3.6.1.7 - 2017-08-22

Changed

  • removed color from verbose(), looks strange in logfile

Fixed

  • installer: check for installed unzip

3.6.1.6 - 2017-08-22

Changed

  • code cleanup
  • changed window manager priority
  • SELinux: --security-opt label=type:container_runtime_t allows access to X unix socket
  • --xorg: avoid searching for native resolution if --scale is set.
  • --xorg: improved check for failed panning
  • Logfile created in /tmp, moved later to $Cacherootfolder, to catch early messages
  • code cleanup in variable definitions and option parsing

Fixed

  • trap -EXIT avoids double call of finish(). faster shutdown now.

3.6.1.5 - 2017-08-21

Changed

  • mkdir -p in installer for tmp folder: -p was missing, could cause error
  • declare note() in xinitrc
  • --scale support for --xorg
  • --size without --scale for --xorg: first try --mode, than --panning

Fixed

  • broken stdin pipe if running as root

3.6.1.4 - 2017-08-19

Changed

  • beesu: new frontend for --pw available on fedora
  • do not test for passwordless docker if --pw is set
  • create non-existing shared home folder for user different from host user if running as root
  • more verbose cache folder names, now with image name and X server in use

Fixed

  • wrong file descriptor for messages before part init()
  • passwordless sudo -n on fedora did not work with x11docker-gui started from menu instead of cli, without -n is ok

3.6.1.3 - 2017-08-17

Fixed

  • installer: did not find icon at new location

3.6.1.2 - 2017-08-15

Changed

  • no |tee to $Xtermlogfile on docker pull: better interactive output

Deprecated

  • --resizeable: Xephyr can crash if resized.

3.6.1.1 -2017-08-16

Fixed

  • timeout 3600 for xauth cookie creation. Needed to avoid cookie timeout on docker pull

3.6.1 - 2017-08-15

Added

  • --stdout: show stdout of image command on stdout
  • --stderr: show stderr of image command on stderr
  • forward stdin of x11docker to image command
  • --silent: supress all x11docker terminal messages

Changed

  • x11docker-gui trys to use image x11docker/kaptain if kaptain is not installed

3.6.0.5 - 2017-08-14

Changed

  • note() instead of warning() for less urgent messages

Fixed

  • opensuse: cookie creation failed due to different xauth behaviour
  • sudo: do not prompt for password for docker stop in finish(), rather fail stopping

3.6.0.4 - 2017-08-14

Fixed

  • do not complain about missing docker daemon on --xonly

3.6.0.3 - 2017-08-13

Changed

  • xpra dpi warning only if --dpi or --scale is set
  • cookie failure warning for untrusted cookies only

Fixed

  • installer: remove older installations in /usr/local/bin

3.6.0.2 - 2017-08-13

Changed

  • check for running docker daemon with $Dockerdaemon instead of ifconfig
  • do not disable SELinux if --ipc is set

Fixed

  • fedora: --xorg: add -keeptty if running from tty
  • issue prevented --xorg from console if running in subshell
  • finish(): check for still running container with ps, too. formerly root only could detect it

3.6.0.1 - 2017-08-12

Fixed

  • --gpu: :rw,z does not work for --device

3.6.0 - 2017-08-12

Added

  • --rw to allow read/write access to container root file system
  • --pw to choose password prompt frontend. default: pkexec
  • --no-entrypoint to disable ENTRYPOINT in image
  • --hostuser to set host user different from $(logname)
  • --desktop: no longer deprecated, easier to understand and remember than --wm=none

Changed

  • -d: used for --desktop again, no longer for --dbus. --dbus now has short opt -b
  • workaround: disabling SELinux for container until solution for sharing unix socket is found. Compare: http://www.projectatomic.io/blog/2015/06/using-volumes-with-docker-can-cause-problems-with-selinux/
  • install to /usr/bin instead of /usr/local/bin to support root
  • chmod 755 instead of +x in installation
  • check if docker is installed
  • check if docker daemon is running (with ifconfig)
  • use zenity or notify-send if xmessage is not available in error()
  • replaced sed in xauth cookie creation, sed fails in openSUSE (!?)
  • check for xpra --dpi bug in 2.1 series
  • xpra --start-via-proxy=no for xpra >= 2.1
  • --nxagent: temporary xhost +SI:localuser:$Hostuser workaround as it fails again to authenticate, nxagent does not divide between XAUTHORITY and --auth
  • reduce dependency warnings for --auto
  • prefer $Hostenv instead of $Newxenv for password prompt -> better support for gksu
  • show docker pull output in a terminal window
  • allow --hostdisplay with --xonly. May at least be usefull to create an untrusted cookie.
  • outsourced docker startup from xinitrc
  • copy host cookie into $Cachefolder for compatibility with gksu
  • use gksu/gksudo if available
  • --showenv for --xonly
  • finish(): try docker stop $Containername
  • dockerrc: no ps/sleep loop if running as root
  • don't start docker in xinitrc as xinit runs unprivileged
  • --ps keeps cache files, too (formerly container only)
  • improved X server check due to new variable $Desktopmode
  • --fullscreen. Set fullscreen screen size for windowed options (xpra),too
  • allow root to start x11docker, use $(logname) for X server and as container user

Deprecated

  • --root: Can be achieved with --hostuser=root
  • --no-password: check if docker can run without password makes --no-password needless. Still possible with --pw none

Fixed

  • &, &&, ;, <, >, | and the like possible in image command again
  • bugfixes in part "check window manager"
  • repeating error message if waitforlogentry() failed
  • cookie creation failed on X without extension Security. (fedora)

3.5.11 - 2017-07-12

Changed

  • pull image if not available before calling docker run

3.5.10 - 2017-07-12

Fixed

  • regard ENTRYPOINT in dockerrc

3.5.9 - 2017-07-09

Changed

  • --home with --user=(unknown): only show warning (instead of error) not creating persistent home
  • do not set write permissions on --home or --homedir folder for different users than $USER or --user. (Not x11docker's job)
  • do not set --read-only if --user=0

Fixed

  • chown x11docker_CMD to host user to avoid permission issues in $Sharefolder
  • --user: use matching gid, gid was set to same as uid

3.5.8 - 2017-06-07

Added

  • --xhost STR: to set xhost STR in xinitrc.
  • --xvfb to explicitly use Xvfb and to clearly use Xdummy on --xdummy

Changed

  • --kwin-native: always share Wayland (--sharewayland --waylandenv --dbus)
  • docker run --read-only --volume=/tmp to restrict container filesystem as read-only (except for --sudouser)
  • --xorg supports --rotate. (Xephyr could, but crashes -> Xephyr bug. Nxagent, Xdummy, Xvfb and Xwayland refuse this.)
  • Xdummy script in $Cachefolder forked from https://xpra.org/trac/browser/xpra/trunk/src/scripts/xpra_Xdummy
  • calculate VideoRam in xorg.xdummy.conf (instead of fat hardcoded 256000 kb)

Deprecated

  • --xhost+: use --xhost STR instead.

Fixed

  • --nxagent: due to update? must set nxagent -ac (=xhost +) temporary to allow xinit
  • allow --wm for --kwin-xwayland

3.5.7 - 2017-06-28

Changed

  • usage info for HTML5 web application setup
  • redirect verbose output to &3 to show it in subshells, too, and to avoid possible collision with read < <()
  • --env: set custom environment variables in dockerrc instead of in docker run
  • removed unix in $Newxenv for DISPLAY to make xpra ssh setup easier
  • Xdummy-Xwayland: new X server to provide --gpu for --xdummy based on weston, xwayland and xdotool
  • always enable extension Xtest on --xdummy to allow xpra access
  • share X socket to /tmp, create .X11-unix in dockerrc and softlink socket. This avoids writeable X11-unix in $Cachedir.
  • --setwaylandenv: env now set in dockerrc instead of docker command

3.5.6 - 2017-06-21

Added

  • --sudouser: reincarnated option to give sudo without password to container user.

Changed

  • docker command one-liner extended to dockerrc. dockerrc creates x11docker_CMD. Can always extract image command without additional password prompt and create some environment.
  • create /tmp/XDG_RUNTIME_DIR and softlink to wayland socket in container due to some KDE issues (XDG_RUNTIME_DIR must be owned by user). Fails with different --user
  • create /tmp/.X11-unix with 1777 in container to allow new X sockets (especially for startplasmacompositor). Drawback: container writeable folder in cache
  • warning with hint to use --xpra-xwayland if --scale is used with --weston-xwayland.
  • shorter sleep in finish()
  • don't search for deprecated /tmp/x11docker in checkorphaned()

Fixed

  • avoid pointless warning about XTEST if not using xpra
  • typo preventing start of --kwin and --kwin-native (-width instead of --width)
  • bugfix parsing option --wm
  • export $Hostxenv in error() was empty if called in xtermrc

3.5.5.2 - 2017-06-10

Changed

  • update usage info for --xpra and --xpra-xwayland

3.5.5.1 - 2017-06-10

Fixed

  • bugfix in --auto always choosing --xorg

3.5.5 - 2017-06-09

Changed

  • autochoose xpra-desktop if xephyr is missing
  • improved part: check virtual screen size
  • changed dpi calculation depending on xpra mode
  • desktop mode for xpra if --wm is given
  • always set XDG_RUNTIME_DIR=/tmp as some apps may expect it

3.5.4 - 2017-06-02

Changed

  • disable extension XTEST if using wm from host (to avoid abuse of context menu of openbox and the like)

Fixed

  • set rw access for /dev/dri (#12)

3.5.3 - 2017-05-29

Added

  • --sharedir replaces --volume to avoid confusion

Changed

  • update usage()
  • mount $Sharefolder and its content read-only
  • remove X11-unix from $Sharefolder
  • set read-only for /dev/dri on --gpu
  • --security-opt=no-new-privileges added to docker run

Deprecated

  • --volume is now called --sharedir due to different syntax than docker option --volume

Fixed

  • --pulseaudio: get and use IP of container instead of docker0 IP range (#11), disabling TCP module on exit

3.5.2 - 2017-05-22

Added

  • --volume to share host folders

3.5.1 - 2017-05-19

Changed

  • user creation with --addgroup video to support non-systemd and kde-neon gpu support
  • create /tmp/.X11-unix with 1777

3.5.0 - 2017-05-17

Added

  • --output-count to set amount if virtual screens/desktop windows for Weston, Kwin, Xephyr
  • --westonini to specify a custom weston.ini for --weston and --weston-xwayland
  • --cachedir: specify custom cache folder
  • --homedir: specify host folder to share as home
  • --trusted: enforce trusted cookies for --hostdisplay and --kwin-native
  • --user to set user to use (name or uid, non-existing uids possible. default: host user)
  • --cap-default: Allow docker default capabilities

Changed

  • avoid Terminal window with --no-password
  • --orphaned cleans /tmp/x11docker
  • --env: regard whitespaces, use \n to divide entrys
  • set mode=preferred for Weston on tty, ignore $Screensize
  • extension XINERAMA disabled as multiple Xephyr outputs cannot handle it well
  • create container home folder /tmp/fakehome in x11docker_CMD (avoids ownership problems with wine, and is less messy in /tmp)
  • more failure checks in installer()
  • check for --userns-remap, disabling it with --userns=host if --home or --homedir are set
  • minor exploit check for DISPLAY XAUTHORITY XDG_RUNTIME_DIR WAYLAND_DISPLAY HOME
  • automatically choose trusted or untrusted cookies
  • show docker log in xtermrc if pulling image
  • docker run --cap-drop=ALL as default
  • reduce /etc/passwd and /etc/group to container user and groups user and videp only (except root, keeps whole files).
  • creating container user similar to host user with docker run option --user and custom /etc/passwd instead of script createuser.
  • --gpu: only share --device=/dev/dri instead of listing all files in it

Deprecated

  • --cache

Removed

  • --hostuser: effect of --hostuser is default now
  • --sudouser: not possible anymore due to --cap-drop=ALL

Fixed

  • -s KILL for weston on finish() avoids zombie weston window

3.2.1 - 2017-05-05

Fixed

  • --scale with --xpra-xwayland under X without Wayland failed

3.2.0 - 2017-05-04

Added

  • --scale: for xpra and weston
  • --rotate for weston
  • --dpi for screen density

Changed

  • allow MIT-SHM for --exe

Fixed

  • checking screensize in Gnome-Wayland failed looking for primary display, window was not roughly maximized
  • missing error() in xinitrc

3.1.16 - 2017-05-03

Fixed

  • bugfix for --xpra-wayland in check for WAYLAND_DISPLAY

3.1.15 - 2017-05-02

Changed

  • faster startup for --xpra-xwayland, --weston-xwayland, --kwin and --kwin-xwayland
  • code cleanup

Fixed

  • bugfix in choosing terminal, replace $Waylandterminal with $Terminal in re-check
  • bugfix xtermrc and xinitrc: check if $Dockerpidfile is not empty

3.1.14 - 2017-05-01

Changed

  • checkorphaned() uses container names instead of numbers

Fixed

  • --exe: reliable kill $Hostexe, even with --weston* and --kwin*
  • remove : and / from image name in $Containername

3.1.13 - 2017-04-30

Changed

  • Improved multimonitor support (still missing: multihead)
  • removed $Cidfile at all, cleanup hint in finish() with $Containername

Fixed

  • redirection of stderr without cat, avoids broken pipe on ctrl-c in ubuntu and opensuse
  • removed custom socket in xpra (failed in opensuse)
  • avoid root ownership for $Dockerlogfile and $Dockerpidfile

3.1.12 - 2017-04-29

Changed

  • clean up confusion with x11docker.log
  • don't share $Xclientcookie as $Sharefolder is already shared
  • don't use $Cacherootfolder for parsererror
  • hint to use --sudo on some systems
  • use id -g instead of $Benutzer for group name
  • add lsb-release -ds to verbose output

Fixed

  • include warning() in xinitrc
  • bugfix in xinitrc for --no-xhost

3.1.11 - 2017-04-29

Changed

  • disabled $Cidfile as not important and due to #10

3.1.10 - 2017-04-28

Fixed

  • check for xenial instead of 16.04/xvfb
  • set XPRA_XSHM=0 on Shareipc=no
  • disable --desktop-scaling in xpra, not supported before xpra v1.x

3.1.9 - 2017-04-27

Changed

  • don't create Cacherootfolder in variable definitions
  • check for Xvfb on Ubuntu 16.04

3.1.8 - 2017-04-25

Changed

  • Add advice for --xorg how to setup xserver-xorg-legacy

3.1.7 - 2017-04-25

Changed

  • --xpra and --xdummy now use Xvfb if installed. Compare #9, Xdummy cannot be used on Ubuntu 16.04 due to xorg.conf location
  • set $Windowmanager in auto choosing X server if switching to desktop windows

3.1.6 - 2017-04-21

Fixed

  • --nxagent: don't close nxagent on every call of nxclient (2)

3.1.5 - 2017-04-20

Fixed

  • --nxagent: don't close nxagent on every call of nxclient

3.1.4 - 2017-04-19

Changed

  • --nxagent supports untrusted cookies

Fixed

  • don't set dpi if xdpyinfo fails

3.1.3 - 2017-04-18

Changed

  • --nxagent cookie workaround as it ignores XAUTHORITY on option -auth
  • --nxagent workaround to terminate on pressing window close button -> fake nxclient

Fixed

  • typo in finish() looking for docker pid

3.1.2 - 2017-04-18

Changed

  • --nxagent sets right keyboard layout, thanks to Ulrich!

3.1.1 - 2017-04-18

Changed

  • --nxagent now supports --size, --fullscreen and --clipboard, thanks to Ulrich Sibiller from Arctica!
  • check dpi from host and set this to new X server
  • xpra xmessage to be patient
  • disabled keyboard adjusting for --nxagent

3.1.0 - 2017-04-16

Added

  • --nxagent for X server nxagent

3.0.0 - 2017-04-15

Added

  • Wayland support.
  • --wayland: auto setup for pure Wayland applications
  • --weston for pure Wayland applications
  • --kwin for pure Wayland applications
  • --xpra-xwayland: new X server option to run xpra with GPU acceleration
  • --kwin-xwayland: new X server option
  • --weston-xwayland: new X server option, allows GPU acceleration
  • --xwayland: new X server option
  • --nothing: Provide no X or Wayland server
  • --sharewayland: Share host wayland socket and set WAYLAND_DISPLAY
  • --setwaylandenv: setting environment variables for toolkits like QT and GTK to use wayland
  • --env: set custom envionment variables (formerly --env had role of new --showenv)
  • --dbus: run image command with dbus-launch
  • --xhost+: set xhost + on new X server
  • --showenv: formerly --env, show environment variables to access new X server

Changed

  • second stderr &3 to show warnings and errors also from within xinitrc and xtermrc
  • error messages on docker startup failure in xtermrc
  • xdummy.conf or --xpra: custom modeline setting fitting to actual resolution
  • --xdummy regards --size
  • x11docker_CMD checks if ps is available
  • --wm changed, autochoosing no longer default
  • chmod 1777 /tmp/X11-unix to allow creation of X sockets in container (needed e.g. for startplasmacompositor)
  • --verbose output much more reliebale now, tail improved
  • use prefix unix for DISPLAY to disable MIT_SHM instead using other environment variables
  • create dektop starter with basename instead of $0
  • createuser: start with --user=0 to allow useradd and su
  • reverse order of killing of bgpids in finish(),last one first, to catch possible further output with tail -F
  • Newdisplaynumber for xorg starts with 8
  • xinitrc: XPRA_OPENGL_DOUBLE_BUFFERED=1 to avoid xpra bug 1469
  • check and set XDG_RUNTIME_DIR for weston and Xwayland

Removed

  • --virtualgl, --dockerenv, --xpra-image, --xorg-image, --xdummy-image, --tcp --tcpxsocket --xsocket, --glamor, --sharegpu, --desktop, --xhost