mirror of
https://github.com/mviereck/x11docker.git
synced 2021-09-19 22:38:46 +03:00
98 KiB
98 KiB
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.
Project website: https://github.com/mviereck/x11docker
[Unreleased]
Added
--snap: New option to enable fallback mode to support Docker in snap. (#375)
Changed
--backend=nerdctl: Disallow--homein rootless mode.--backend: Allow--sharein all rootless modes.- Use
pythonto parse json output ofinspect. --update, --update-master, --remove: detect and use current installation directory. (#371)
Fixed
- Return exit code of container command (regression fix). (#383)
--share: If path is inHOME, change container path and create softlink. OtherwiseHOMEmight not be writeable.--fallback: Add missing switch in option parsing. (#372)--interactive: Fix output redirection. (#364)pythondependency check: check forpython3, too. (x11docker/mate #2)
6.9.0 - 2021-06-02
Added
--backend=BACKEND: Experimental option to choose a container backend. Currently supported:docker,podmanandnerdctl. (#255) (#357)- Support of rootless docker. (#327)
--composite: New option to enable or disable X extension Composite. Can help to fix issues with--nxagent. (#345)--no-setup: Disable x11docker setup in container. (Formerly experimental.)
Changed
--pw [=FRONTEND]: ArgumentFRONTENDis optional now to allow easy switch to rootful nerdctl or podman. SettingFRONTENDrequires=.--xhost [=STR]: AgumentSTRis optional now. If empty, set to+SI:localuser:$USER. SettingSTRrequires=.
Fixed
x11docker-gui: Fixed--sharebug. Add several missing options. (#358)--init=s6-overlay: Use--tmpfs /run:exec(#340)containerrootrc: Don't rundocker exec --privilegedfor container root setup to avoid possible abuse by corrupted core utils.--limit: Change free memory check. (#360)
Deprecated
--podman: Use--backend=podmaninstead. (Formerly experimental)
6.8.0 - 2021-04-08
Added
--iglx: Use indirect rendering for OpenGL.--password: New option to set a container user password. (#334)
Changed
--sudouser: Allow optional argumentnopasswdfor sudo without password. (#337)
Fixed
--size: Regard if no monitor is connected. (#336)
6.7.0 - 2021-02-28
Added
-I, --network: New option to set network mode.-Iwill be mandatory in future to allow internet access. Replaces--no-internetand--hostnet.--runasuser: New option to add (background) commands incmdrc. Intended to run e.g.fcitxkeyboard input daemon. (#269) (x11docker/deepin:#2)--fallback=no: New option to deny fallbacks for failing options.--no-setup: Experimental option to disable x11docker setup in container.--podman: Experimentalpodmansupport. (#255)--xopt: Experimental option to add custom X server options. (#296)
Changed
--lang: Allow multiple times to generate more than one locale.
Fixed
--home=~/DIR: Replace~with$HOME.--hostnet: set host IP to 127.0.0.1 for options like--pulseaudio=tcp.--pulseaudio: set to TCP if pulseaudio runs as system daemon. (#266)- Allow
docker logsto grab container output, too. (#254) --xpra: version check failed in few circumstances. (#287)--gpu: share/dev/nvmapand/dev/nvhost*if present. (#290)--preset: Parse withevalto catch strings. (x11docker/deepin:#20)- MS Windows: IP check / no dockerNAT interface anymore. (runx:#6) (#325)
Deprecated
--hostnet: Use--network=hostinstead.--no-internet: Use--network=noneinstead.
6.6.2 - 2020-05-19
Added
--home=VOLUME,--share=VOLUME: Support of docker volumes. ehough/docker-kodi#33
Fixed
--update: Fixsederror in changelog excerpt. (#236)--webcam: Add container user to group video. (#241)
Deprecated
--sharessh: Please use (directly or with help of option--preset):--share $(dirname $SSH_AUTH_SOCK) --env SSH_AUTH_SOCK="$SSH_AUTH_SOCK"
6.6.1 - 2020-03-19
Fixed
--runx: FixXAUTHORITYcopy bug. (#219)
6.6.0 - 2020-03-19
Added
- Experimental WSL2 support. See also new option
--mobyvm. (#214) --preset: New option to read files with predefined option sets. (#218)--mobyvm: New option to use MobyVM in WSL2. Default for WSL2 is native Linux docker.--shell: New option to specify preferred user shell. (#26) (#211)
Changed
--nxagent --keymap=clone: Clone xkb settings from host in nxagent. (#208)--printer: Share entirerun/cups, not only socketrun/cups/cups.sock. (#222)--wm: Improved checks and fallback handling. Disabled context menu for host window manager--wm=openbox.
Fixed
6.5.0 - 2019-12-22
Added
--xoverip: New option to enforce X over TCP/IP. For special setups only. (#201)
Changed
- Run
containerrootrcwith--privileged. Does not affect desired container command incontainerrc. Allows less privileges with NVIDIA driver installation and avoids issues like in (#196) --xephyr: Disabled Xephyr option-glamor. (#196)--runtime: Addedocito list of known runtimes. (#205)TODO.mdoutsourced from x11docker script.
Fixed
- Support
snapinstallation of Docker. (#191) --gpu: NVIDIA driver installation failed with--cap-default. (#198)
6.4.0 - 2019-11-14
Added
--xtest [=yes|no]: New option to enable or disable X extension XTEST. Can be needed for custom access with xpra. (#190)
Fixed
- Do not set
tinioption-s. Avoids issue withcatatonit. (#189) - Exchange static file descriptor numbers with dynamic ones. Hopefully fixes an odd issue where bash eats up some lines of code on exit.
- docker-for-win: Do not use cache path within WSL subsystem. (#165)
--xpra: Check for validity of--opengl=noprobe.--xpra: Drop support on MS Windows / WSL.- Use window manager in auto mode for
--xephyrand similars. - Fix
waitforlogentry()error if pulling image. (#193)
6.3.0 - 2019-10-04
Added
--showinfofile: New option: Echo path to internal x11docker info storage file. Can be parsed for informations like container IP and name.--newprivileges [=yes|no]: New option to set or unset docker run option--security-opt=no-new-privileges.
Changed
- Return exit code of container command. x11docker errors return code
64. --dbus: Optional argument=systemto run a DBus system daemon. Similar to previous--dbus-system. For experimental setups only.--dbus-system: Already deprecated in v6.2.0. New fallback:--dbus=system --cap-default.--exe: Run withtini/docker-initif available.--showenv: Does not containX11DOCKER_CACHEanymore. Have a look at--showinfofileinstead.--weston,--kwin,--hostwayland: Always set all Wayland environment variables and run with DBus user daemon. Previously needed--wayland.--xdummy --gpu/--xvfb --gpu: Supported only in host X, no longer on console or on Wayland.--xephyr: enabled-glamor.- Wait before starting X until possible password prompt is ready.
- Lots of code cleanup.
Fixed
- Enable X extension
X-Resourceto allow Gnome 3 in container. (#16) - Avoid double IP address while checking
docker0interface. (#182) - Avoid possible race condition of display number on simultaneous starts.
6.2.0 - 2019-08-17
Added
--enforce-i: Run x11docker in interactive bash mode. Rather special option to provide a fix for special issues, e.g. runningweston-launchon void linux that needs an interactive tty. Not recommended in general. (#166) (#176)-F: Shortcut for--xfishtank.-l: Shortcut for--lang.-P: Shortcut for--printer.-V: Same as-v, --verbose, but with colored output. Useful e.g. with--init=systemd.
Changed
- Short options do not accept optional arguments. Affects
-l -m -p -P -w -v. -m: Does not accept optional argument=PATH. Use--home=PATHinstead.-v, --verbose: Does not accept argument=canymore. Use-Vinstead.-w: Does not accept argument anymore. Use--wm=ARGinstead.--xpra: Runs on Wayland since xpra v3.0-r23305.
Deprecated
--dbus-system: Use one of--init=systemd|openrc|runit|sysvinitinstead. Current fallback:--init=systemd.
Fixed
--workdir: Has been overwritten / no effect.- Fixed
ttycheck if not running in a terminal. (#176) (#177)
6.1.1 - 2019-07-31
Fixed
--gpu: Add user to grouprender.
6.1.0 - 2019-07-30
Added
--clean-xhost: Disable xhost access policies on host display.--no-xhost: Reintroduced for backwards compatibility. Deprecated. Use--clean-xhostinstead.--systemd: Reintroduced for backwards compatibility. Deprecated. Use--init=systemdinstead.
Changed
--home: Allow optional host folder DIR with--home=DIR.--printer: Allow optional argumenttcp|socket. Allows CUPS printing for--runtime=kata-runtime.--share: Dont share--volumealong with--device. Has been a workaround for an old Docker bug setting wrong file ownerships. #24
Deprecated
--homedir=DIR: Use--home=DIRinstead.--systemd: Use--init=systemdinstead.--no-xhost: Use--clean-xhostinstead.
Fixed
--xpra --clipboard: Fix not using xpra option--xsettings=no. xpra ticket #2342- Copy
/etc/skelinto emptyHOME.
6.0.0 - 2019-07-08
Changed
--wm: Use imagex11docker/openboxto provide a window manager. Set--wm=hostor--wm=COMMANDto use a host window manager. Set--wm=IMAGEto run local image IMAGE as window manager. (#158)
Removed
--vcxsrv: X server on Windows. Userunxon MS Windows instead to provide X for x11docker: https://github.com/mviereck/runx (#165)--pulseaudioon MS Windows is no longer supported.--ps,--trusted,--untrusted,--no-xtest,--no-xhost,--silent,--stderr,--stdout,--nothing,--cachedir,--starter,--tini,--systemd,--openrc,--runit,--sysvinit,--no-init,--sys-admin: Removed; search this changelog for possible replacements noted in 'Deprecated' chapters.
Fixed
--gpuwith automated NVIDIA driver installation: Don't set--security-opt=no-new-privileges. (#162)--hostwayland: Fix socket name issue. (ehough/kodi #26)- WSL: Add Windows System32 path to
PATH. Can miss withsudo. (#153) --update,--update-master: Support more commontarbesideunzip. (#115)--xwin: Use random display number. (#165)--xpra: Check for option availability to support multiple versions. Significantly faster startup since xpra v3.0-r23066. (#167) (#165)
5.6.0 - 2019-05-02
Added
--runtime=RUNTIME: New option to specify container runtime. Known runtimes:runc(docker default),crun,nvidiaandkata-runtime. (#138)--share=PATH: Share file or folder. Replaces--sharedir. Works for device files in/dev, too. Shares targets of symlinks, too.
Deprecated
--sharedir: Use--shareinstead.--no-xhost: No replacement.--sys-admin: No replacement.
Fixed
--clipboard: Bugfix for--xephyrand some other desktop mode X servers. (#152)--dbus-system: Fixed startup failure with user switching.--init=sysvinit|runit|openrc: Always create service to start system DBus.elogindsupport for debian buster containers. Partial support for Void.docker commit: Throw error if running a recursive image command created withdocker commitfrom an x11docker container. (#146)
5.5.2 - 2019-04-08
Added
--init=s6-overlay: Support of init systems6as given bys6-overlay. (#136)
Changed
x11dockerwithout an option: showx11docker --helpinstead of running an empty X server.
Fixed
--init=systemd|openrc|runit: fixes for several container systems.--dbus-system: Regression fix for service file check.--exe: Regard possible--in command. Command before it has been dropped errately as invalidDOCKER_RUN_OPTIONSbefore.--tty: Workaround: Set environment variablesLINESandCOLUMNSto current terminal size. Only needed without--interactive. Docker bug ticket #33794--init=tini: Support of native docker-init on docker-for-win.- Check for availability of
realpath. --kwin,--kwin-xwayland: Check for option--windowed. (#144)
5.5.1 - 2019-03-18
Deprecated
--ps: Preserved cache and container. No replacement.
Changed
--lang[=LOCALE]: Argument LOCALE is optional now. Note that=is mandatory now. Use--lang=ruinstead of--lang ru.--langwithout an argument sets$LANGfrom host.
Fixed
- Fix for host user check after multiple
su. --entrypoint envinstead of--entrypoint /usr/bin/env. Some systems have/bin/envinstead.
5.5.0 - 2019-03-06
Added
--init=tini|systemd|sysvinit|openrc|runit|none: New option to specify or disable init system / PID 1 in container. Replaces singular options.
Deprecated
--tini: Use--init=tiniinstead.--systemd: Use--init=systemdinstead.--sysvinit: Use--init=sysvinitinstead.--openrc: Use--init=openrcinstead.--runit: Use--init=runitinstead.--no-init: Use--init=noneinstead.
Changed
--wm[=COMMAND]: ArgumentCOMMANDis optional now. Note that=is mandatory now. Use--wm=openboxinstead of--wm openbox.--wmwithout an argument autodetects a host window manager.
Fixed
- Execute
containerrootrcin/tmpof container to circumvent possible issues with access700of~/.cacheon host. (#131) - Check repeatly for PID1 of container to avoid race condition on slow systems. (#133)
5.4.4 - 2019-02-24
Fixed
--gpu: NVIDIA driver installation: Avoid--install-libglvndand--no-nvidia-modprobefor installer versions that do not support it. Fool dependency check forbinutilsfor old installer versions. Skip installation if--runtime=nvidiais given in docker run options. (#127)
5.4.3 - 2019-02-19
Changed
--alsa[=CARDNAME]: Accepts a sound card name as optional argument.--gpu: NVIDIA driver installation: Avoid dependencies onkmodandxz.
Fixed
--gpu: NVIDIA driver installation: Old versions need--install-libglvnd.
5.4.2 - 2019-02-18
Fixed
--gpu: Fixes for automated NVIDIA driver installation. (#127)
5.4.1 - 2019-02-08
Fixed
--update: Remove debug output ofset -x.
5.4.0 - 2019-02-08
Added
--pull [=ask|yes|no|always]: New option to allow/denydocker pull. (#109)--limit[=FACTOR]: New option to restrict RAM and CPU usage.--border: New option to draw a colored border into--xprawindows. Helps to distinguish between host and container applications. (#91)--xtest,--xcomposite: Experimental options to enable X extensionsXTESTandCOMPOSITE. Might be removed in later releases. (#117)
Changed
- Copy
/etc/skel/.in container toHOMEifHOMEis empty. - Changed shebang
#! /bin/bashto#! /usr/bin/env bashfor portability. (#83) - Allow interactive
docker pullin terminal only. Do not start additional X terminal. (#109) - Prefer starting terminal to ask for root password. Use additional X terminal only as a fallback. (#109)
Fixed
- API FIX: Preserve quoting in image command correctly.
Image commands like
sh -c 'ls && pwd'previously failed. Instead'ls && pwd'sort of worked although it is weird. Nowsh -c 'ls && pwd'works as intended and'ls && pwd'fails. (#112) -t, --tty: Long option was not parsed.- docker-for-win: Fixed IP check (#102)
- docker-for-win: Make sure container is terminated. (#106)
- docker-for-win:
--interactive: Usewinptywrapper. (#87) - MSYS2/Cygwin: Always use X over IP to serve e.g.
Xvfb.exe, too. (#123) --update: Fixedsedparsing error for excerpt ofCHANGELOG.md.
5.3.3 - 2018-11-17
Added
-i, --interactive: New option to run with an interactive TTY. (#87)-t, --tty: Replaces--nothing. Runs no X server, uses terminal only. Allowsx11docker -tisimilar to often useddocker run -ti.-q, --quiet: Replaces--silent. Suppress x11docker messages.
Deprecated
--silent: Use--quietinstead.--nothing: Use--ttyinstead.--stdout: stdout is always displayed now.--stderr: stderr is always displayed now.-Q: stdout and stderr are always displayed now.
Fixed
--webcam: Share/run/udev/datato provide device information forcheeseandgnome-ring. (#86) (#75)--sysvinit: fixed startup failure due to missing container user name.
5.3.2 - 2018-11-08
Added
--user=RETAIN: Keep user settings of image instead of creating a new one. (#85)
Fixed
gnome-terminaldid not appear for password prompt ordocker pull. (#84)- Watch container pid 1 instead of container pid itself. Avoids issue on NixOS
where users cannot see processes of other users, root or docker in this case.
Throw error if x11docker cannot watch container pid 1 due to
hidepid=2. (#83)
5.3.1 - 2018-10-22
Fixed
--hostdisplay: FixedXAUTHORITYissue if running overssh -X. (#81)
5.3.0 - 2018-10-11
Added
--launcher: Replaces--starter, creates an application launcher.
Changed
- Major code cleanup and restructuring. New: commented
main()routine. --dbus: Always usesdbus-run-session, doesn't trydbus-launchanymore.--xpra: Allow choice of virtual frame buffer with--xdummyor--xvfb. If not specified: defaults to Xvfb, fallback to Xdummy.
Deprecated
--starter: Use--launcherinstead.--trusted: Use--clipboardinstead.--untrusted: No replacement.--xtest: No replacement.--no-xtest: No replacement.
Fixed
--weston*,--kwin*: Did not terminate due to DBus issue.--xdummy,--xvfb: avoid X message boxes if there is no host X. Affects error messages anddocker pull. (#77)--pw: regression fix, did not prompt for password in terminal window./etc/pam.d/su: allow additional default configs.- Export environment variables
DOCKER_*in dockerrc if some exist. (#79)
5.2.0 - 2018-09-17
Added
--webcam: New option to share webcam devices/dev/video*. (#75)--hostdbus: New option to connect container to DBus session from host.-q: New option, shortcut for--stdout --stderr --silent.-Q: New option, shortcut for--stdout --stderr.
Changed
--wayland: Does not run--dbus-systemanymore to avoid complexity and issues on arch linux. Some old GTK3 applications may fail now. In that case, use--westoninstead.--sharedir DIR: Appending:rotoDIRrestricts to read-only access.
Fixed
--systemd --verbose: journalctl.log was not shown.--systemd: fixed slow dbus startup.
5.1.0 - 2018-09-02
Added
--printer: New option to access CUPS printer server. (#73)
Fixed
--hostdisplay: Fixed wrongDISPLAYdetection ifXAUTHORITYis missing, happened e.g. in Gnome Wayland session. (#74)--nxagent: X authentication was set toxhost +. Now restricted to cookie using clients again.
5.0.0 - 2018-08-20
Added
- Support of MSYS2, Cygwin and WSL on MS 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 syntax, still valid, but deprecated:
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
--pulseaudioallows optional argument=tcpor=socket. Defaults to connection over shared socket on Linux and to TCP connection on MS Windows. On Linux both modes are possible, on MS Windows TCP only.--verbose: takes optional argumentcfor colored output, eg-vc.
Deprecated
--cachedir: Use--cachebasedirinstead.
Removed
--ipc: Use--hostipcinstead.--net: Use--hostnetinstead.--sharewayland: Use--waylandinstead.--setwaylandenv: Use--waylandinstead.--dbus-daemon,--dbusdaemon: Use--dbus-systeminstead.--add: Use--runfromhostinstead.
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 ifxhostis available if xpra version 2.3.1 has cookie issue. (#57)--xpra-xwayland: Set Weston--fullscreento get Xwayland resolution matching host display. Weston v4.0.0 seems to interpret screen size settings inweston.inidifferent than before.--pulseaudio: create socket to share instead of using existing one. (#71)--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--xpraand--xephyrover--nxagentagain.--nxagenttoo often has issues with extension Composite.--xorg: Allow running Xorg as root from within X if/etc/X11/Xwrapper.configis 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 fordocker-initin snap installs of docker. (#51)--dbus-system: Disable servicesorg.freedesktop.hostname1andorg.freedesktop.locale1if not running with--systemd. Can cause container shutdown after some time.--hostdisplay: Fixed possiblexhost -SI:localuser:$USER. (#53)/etc/shadow: Fixed fedora issue with000file access. (#53)
4.3.5 - 2018-06-21
Changed
x11docker-guiruns from console, too.
Fixed
--xorgand others on TTY failed due to xinit in subshell. (regression in v4.3.4).--weston --sizefailed on tty, have to specify drm backend for check.- timezone syncing: If setting
TZ, positive offsets have been set wrong. - timezone syncing: Regard
TZfrom 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 ofelogindin 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/localtimewithin container. If all that fails, setTZwith offset to UTC. (#50) - Improved
message.fifohandling 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 onfailedin xpra server log. (seen on Ubuntu 18.04).--xorg: ShowXwrapper.configwarning ifneeds_root_rights=yesis 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-initor missingtiniresp.docker-init: useshas PID 1 for desktop environments (--desktop) to allow logout.
Fixed
- fedora 28: Check for docker daemon with name
dockerd-current(#49) --auto: Prefer--hostdisplayfor 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-guiis 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: supportxseladditional toxclip.
Fixed
- Starting in pure Wayland environments failed (regression in v4.3.0).
--wayland,--weston,--kwinin pure Wayland: detect screen size.
4.3.1 - 2018-05-29
Changed
--auto: prefer--nxagentover--xpraand--xephyr. Reasons: Faster startup than--xpra. Flexible display size opposed to--xephyr. Since Ubuntu 18.04 available to broader range of users than before.--runfromhostcan be specified multiple times now.--runasrootcan be specified multiple times now.--dbus-systemand init systems: remove useless or failing dbus services.--systemd: mask some useless or failing units.- set
DISPLAY,XAUTHORITY,WAYLAND_DISPLAYandXDG_RUNTIME_DIRindocker runcommand for easier custom use ofdocker 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--xprain 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-privilegesfor init systems and--dbus-system. Now default for all options except--sudouserand--cap-default.--dbus-systemandinitsystem options: Run all except a few dbus system services manually and show security warning message. Manual start needed due tono-new-privileges, polkit setuid helper fails.- Minimize or delete
/etc/pam.d/suand delete/etc/pam.d/sudo. Avoids security leak that would allow switching to root in container ifPAMconfiguration allows it and capabilities forsuare given. - Remove
/bin/sh -cfrom extracted CMD image command. - Regard
WORKDIRin image, use it instead ofHOME. (#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
-titleinXephyrcommand. 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.--waylandWorks with prissy GTK3 applications (e.g. xfce4-terminal) again, needed user switching in--dbus-systemfor unknown reasons.--showidfailed with sudo due to missing file descriptors. Using mkfifo now.- Don't forward stdin as default, can cause trouble if empty. use
--stdininstead. --xorg: disable screen saver (#46)
4.2.1 - 2018-05-10
Added
- Forward
stdinof 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-addto cover user switching setups, too.--showid: New option to show container ID on stdout.--runfromhost: Replaces deprecated--addto 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 toglibcbased image systems. (#41)elogindsupport for--sysvinit,--openrcand--runit. See also elogind in container: elogind#52--systemd: If host does not runsystemd, create/sys/fs/cgroup/systemd.--dbus-system: wait for bus socket to be ready before continuing.--tini: Usetini-staticfrom~/.local/share/x11dockeror/usr/local/share/x11dockerif available. Show message for this possibility if/usr/bin/docker-initis missing. (Widespread docker packaging issue). (#23)- Avoid user switching except for
--systemd,--sysvinit,--openrcand--runit. (#42) - Outsourced
x11docker.pngfromx11docker-gui. - No default output of container ID on stdout anymore. Use
--showidinstead. --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
stdinto container, has not been reliable.
Deprecated
--addchanged its option name to--runfromhost.
Fixed
- Don't share or link
/tmp/.Xn-lockas usefulness is in doubt. Avoids issues withx11docker/xwayland. --stdout --showid:Make sure container ID is shown first.
4.1.1 - 2018-04-12
Changed
- Mount nothing into
/tmpas init cleanups may try (and fail) to delete it. - Write or link into
/tmponly after possible init cleanup. - Mount X socket r/w again as there is no longer a risk due to
/tmpcleanups. --debug: Some changes for more useful debugging output. Dropset -xin main code, insteadset -Euwithtrap ERR.--update/--update-master: Show excerpt ofCHANGELOG.md.- Check
ENTRYPOINTfor init entries/tini|/init|/systemdand disable it if x11docker already runs an init. (Default:--tini.)
Fixed
x11docker-guiregards new output of container ID now that confused output ofx11docker/kaptainand prevented start ofx11docker.- Mount
WAYLAND_DISPLAYandDISPLAYat/instead of/x11docker/in container. Avoids a docker bug that only sometimes causes startup failurestat /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 indocker runcommand. --workdir: Avoid double setting of--workdirin docker command if x11docker option--workdiris set. Caused no trouble, though.
4.1.0 - 2018-04-08
Added
--update-masterupdates to lastest x11docker master version. (Formerly job of--update).
Changed
--updateupdates to latest x11docker release on github. (Formerly: latest master version).
4.0.0 - 2018-04-07
Changed
- Outsourced changelog from x11docker source code to
CHANGELOG.md. (#38) - Follow guidelines of Keep a Changelog.
- Stricter compliance to Semantic Versioning rules.
Notes
- Previous version links in changelog lead to history tree leafs with
corresponding
x11dockerscript. - Upcoming version links in changelog will lead to corresponding releases.
3.9.9 - 2018-04-06
Changed
- Removed
--security-opt=no-new-privilegesfor--systemd/--sysvinit/--runit/--openrc. (Undoes some changes from V3.9.8.1). Will be reintroduced after further checks, caused issues withx11docker/deepinandx11docker/cinnamon. --env: set environment variables indocker run, too. Makes them available withindocker exec.
3.9.8.5 - 2018-04-05
Changed
finish(): rundocker stopbefore creatingtimetosaygoodbyefor more graceful shutdown (#37)
Fixed
- Set correct
XAUTHORITYin setup script. - Disable
Userin systemd journal service, can fail in restricted setups.
3.9.8.4 - 2018-04-04
Added
--workdirto set working directory different fromHOME. (#36)
Changed
--systemd/--dbus-system: changedsucommand to removeshfrom pstree.
Fixed
- User group entry in
/etc/grouphad wrong syntax.
3.9.8.3 - 2018-04-04
Fixed
--dbus-system: must not set--security-opt=no-new-privileges, important services likepolkitdfail.
3.9.8.2 - 2018-04-03
Changed
- disable entrypoint
tiniif x11docker already runs an init system (default:--tini/docker-initfrom docker). (#34)
3.9.8.1 - 2018-04-03
Changed
--security-opt=no-new-privilegesnow 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 suinstead ofsuto avoid root shell in parent tree.suis now immediate child ofinit.
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, usingDockerlogfileinstead. Strange: solved missing output with--pw=suor--pw=sudo, too.
Fixed
- Escape special characters in
--env,ENVand 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
Imagecommandin''to allow constructs likesh -c "cd /etc ; xterm"
Fixed
- Added
--rmtodocker runof 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
/tmpinit cleanups. - minor improvements of init system initialization
Fixed
- remove checks for
--userns-remapand--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: changerc.localin 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
--sysvinitfor init system SysVinit in container. Tested with devuan.
Fixed
--pulseaudio: need to set environment variablePULSE_SERVER. (Was missing after switch from tcp to socket connection).--runit: add softlink for X socket inx11docker.CMD.shfor compatibility withruniton debian.
3.9.7.3 - 2018-03-21
Changed
--pulseaudio: share socketXDG_RUNTIME_DIR/pulseinstead of connecting over tcp.
3.9.7.2 - 2018-03-20
Added
--addto add a host command inxinitrc.--debugto set-xin 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(): usewatchagain, now withoutsh -c--help:usage()cleanup
Deprecated
--sharewayland,--waylandenv: not needed for anything anymore.--waylanddoes 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/shadowentry must be/bin/sh,--dbus-systemwithsufails with/bin/bash. - openSUSE:
finish(): replacebcwith bash-only calculation,bcis missing on openSUSE.
3.9.7 - 2018-03-15
Changed
- structure change: don't
sleep 1for setup; instead wait for it inx11docker.CMD.shresp. runsuorinitin setup xinitrc: some cleanup--verbose: power of moo- SSH with
--hostdisplay: set--hostipc,--hostnetand--trusted. Do not use X-generated cookie, bake it myself.
Fixed
- openSUSE/fedora:
pscheck for container pid; fixed desktop logout issue, too. ---weston/--weston-xwayland: do not start drm backend if started within X withoutDISPLAY-> crashed host X.- regard SSH session, assume tty if
DISPLAYis empty. --hostdisplay: don't set keymap.
3.9.6.1 - 2018-03-10
Changed
--lang: replacelocale-genwith more general availablelocaledef.
Fixed
--tini: check fordocker-initinPATH, disable default option--tiniif missing. (#23)
3.9.6 - 2018-03-09
Added
--langto set language locale in utf8, create it if missing.
3.9.5 - 2018-03-06
Added
--keymapto 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/localtimewith 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 capabilitySYS_ADMIN.--hostnetreplaces former--net.--hostipcreplaces former--ipc.--dbus-systemreplaces former--dbus-daemon.
Changed
--pulseaudiowith--hostnet: no fallback to--alsa, use localhost IP instead.--pulseaudio--no-internet: fallback to--alsa.--auto--gpu: fallback to--hostdisplayfor 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.logto get output in detached mode.- more verbose messages in waiting subroutines.
Deprecated
--netis replaced by--hostnet.--ipcis replaced by--hostipc.--dbus-daemonis replaced by--dbus-system.
Fixed
- mount
/dev/driand/dev/sndnot only with--device, but also--volumeto 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 extensionXTEST. 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
XTESTwarning messages.
3.9.3 - 2018-03-01
Added
--xtestto enable X extensionXTEST. Default for--xdummy,--xvfb,--xpra
Changed
--tini: show warning for outdated docker versions without option--initand fall back to--no-init. #23--pulseaudiowith--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 withbasenamefor$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/environmentto 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
videoandaudioindocker runifsuis not used in container./etc/groupchanges 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=noon 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_arbiterand/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: someusage()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.latestwith 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 variableXAUTHORITY.
3.9.1.3 - 2018-01-04
Changed
--dbus-daemon: setxhost +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
/fakehomenow. - extension
XTEST: more restrictive defaults.
Fixed
- pull terminal did not appear if running from terminal.
--systemd: globalXAUTHORITYsetting was wrong, removed at all.
3.9.1.2 - 2017-12-28
Changed
--sudouser: root gets passwordx11docker, too. Allowssunow.- cut image command at
#to allow comments in x11docker-gui examples.
Fixed
- check environment variables in image and set them in
x11docker.CMD.sh. AllowsPATHofx11docker/trinityagain. - parsing host
XAUTHORITYif running fromgksu.
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/systemdif missing on hostcontainersetup.shcollects most formerdocker execcommands fromdockerrc
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_OVERRIDEif user switching is allowed -> needed to change/etc/sudoersif ro. --systemd: adding--tmpfs=/run/lockallows to drop--sys-admin!
Fixed
- only create
XDG_RUNTIME_DIRif not already existing.
3.9.0.4 - 2017-12-20
- changes to satisfy
lirios/unstable: - add docker run
-ti - run docker command with
script -cto provide fake tty - changed
/tmp/fakehometo/home/fakehome - use
--workdir=/tmp, avoids issues withWORKDIRin image
Fixed
--dbus: check fordbus-launchinx11docker.CMD.sh, not indockerrcon host
3.9.0.3 - 2017-12-17
Changed
- switched back to
/tmp/fakehometo avoidCHOWNand 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 $Benutzerhomeif--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,
Xaxismust be dividable by 8. --sudouserfailed to start
3.9.0.2 - 2017-12-16
Changed
/etc/sudoers[.d/]: replace completly to avoid possible evil image setups.--cap-add CHOWNas default to allow/home/$Benutzerwith--sharedir
3.9.0.1 - 2017-12-16
Changed
- use
/home/$Benutzerinstead of/tmp/fakehome.
Fixed
--systemd: do not set environment variableHOMEglobally, root may write into it.
3.9.0 - 2017-12-15
Added
--dbusdaemonto run dbus system daemon and consolekit in container.--openrcfor init system OpenRC in container.--sharecgroupto 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, especiallyDISPLAYforx11docker/deepinis needed.--systemd: setxhost+SI:localuser:$BenutzerasXAUTHORITYseems to be ignored./tmp/.ICE-unixcreated in dockerrc, root owned with1777, needed forSESSION_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 execinstead of using createuser.sh. - show image name and display in weston window title.
Deprecated
--rw, root file system is always r/w now due todocker execin dockerrc.
Fixed
- Ubuntu: avoid Wayland backend for Weston due to MIR issue. #19
- create
/var/lib/dbusin dockerrc to avoid dbus errors with init systems. --runit: addSYS_BOOTeven with--cap-default.
3.8.0 - 2017-12-04
Added
--systemdto run systemd as PID 1 in container and run image command as a service.--runitfor init system runit.--initfor init system tini (default now, docker run option--init).--no-initto run image command as PID 1 (has been default before x11docker 3.8).--sys-adminfor--cap-add=SYS_ADMIN. Needed for systemd in debian based images.--waylandto auto-setup Wayland environment.
Changed
- run init system
tinias default withdocker run --init. -Wis now--waylandinstead of--weston,-Tfor--westonnow.- container user password:
x11docker(creating volume/etc/shadow). --sudouser: create user with docker run options instead of createuser script.--sudouser: create/etc/sudoers.d/$Benutzerwith docker exec in dockerrc.--sudouser: create/etc/sudoers.d/$Benutzerinstead of adding groupswheelandsudo.- createuser.sh: check for
useradd, if missing useadduser(fits fedora and alpine/busybox as well). - $Sharefolder/stdout+sterr:
chmod 666to allow access with--user. --exeand--xonly: regard--homeand--homedir,--userand--hostuser.- check pids before calling
mywatch(). - colored logfile output.
--verbose: green colored output for logfile titles and verbose() lines.- set env
DISPLAYXAUTHORITYandWAYLAND_DISPLAYin x11docker.CMD.sh as systemd eats them otherwise. - use docker run option
--tmpfsfor/tmp,/var/tmpand/runinstead of--volume=/tmp. - changed container share folder
/tmp/x11dockerto/x11dockerto avoid issues with--tmpfs /tmp.
Fixed
- in createuser.sh:
adduserfailed with fedora based images, useuseraddandusermodinstead. --pw=gksu: avoid wrong docker startup error message, use nohup in dockerrc.--hostdisplaywith--gpuneeds trusted cookies.--xprawith--hostuser: create/run/user/$Hostuseruidif missing.
3.7.2 - 2017-11-11
Changes
- allow
rwwith--volume=/var/tmp, needed forx11docker/trinity. --nxagent: removedxhoststartup workaround.- $Hostxenv: removed custom environment.
--nxagent: shift+F11 toggles fullscreen.--nxagenton Mageia: only show warning about seamless mode instead of disabling it.
Fixed
suon console needsexec </dev/ttyto have a tty environment.
3.7.1 - 2017-11-03
Changed
- read host cookie with xauth if XAUTHORITY is empty, can happen with xdm.
--nxagenton Mageia: no seamless mode.- replaced while/sleep loops with
watch. alertbox(): regardDISPLAY, use$Anyterminalotherwise to support Wayland.weston.ini: keyboard config setting on console.- fedora: show alert for
--ipc/--trusteddue to missing extension security.
Fixed
- fixes for gksudo and lxsudo.
- Ubuntu 16.04:
--xpra: must not set--webcam=nodue to old xpra version. --westonand--kwinon console, terminal for password prompt failed.
3.7.0 - 2017-10-30
Added
--alsafor ALSA sound.
Changed
- auto-choose window manager in
--xephyr/--xorg/--weston-xwayland/--kwin-xwayland/--xwaylandexcept--desktopis set. - new function
alertbox(), outsourced fromerror(). Additional messagebox tools: yad, kaptain, kdialog, gxmessage, xterm. - changed content of variable
Xserverto X server option names itself. - extended terminal list for password prompt/docker pull.
--xhost: always disabling withno_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
sudotosudo -E, needed for OpenSUSE - code cleanup, some improved messages
3.6.3.8 - 2017-10-25
Changed
- fedora: set
--ipcand--trustedfor--hostdisplayonly
3.6.3.7 - 2017-10-25
Fixed
--hostdisplayon fedora: use host cookie, custom cookie is rejected
3.6.3.6 - 2017-10-24
Added
--wmlistto 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 showconfigtakes 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-launchforkonsoleandterminator, needed in dockerrc
3.6.3.4 - 2017-10-23
Fixed
- add
/usr/sbintoPATH, needed on mageia for ip --pw=sudo:setsid sudofails, must usesudo setsid
3.6.3.3 - 2017-10-23
Changed
- removed experimental Code
Fixed
--wmissue as root in xinitrc
3.6.3.2 - 2017-10-23
Changed
- remove debugging
set -xin xinitrc
3.6.3.1 - 2017-10-23
Changed
- split X server command with \backslash in multiple lines
Fixed
- don't use
su $USERin 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-launchdisturbedgksu
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 inDownloadsfrom 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--desktophint: screensize bug fixed since xpra v2.2-r17117
3.6.2.6 - 2017-10-07
Fixed
--xpra--desktop: usestart-desktopinstead ofshadow
3.6.2.5 - 2017-10-05
Changed
no_xhost()?after cookie creation avoids xhost warning on Xwayland--output-countin--automode: choose--weston-xwayland--display: allow:before display numbershinstead ofbashto run x11docker_CMD
3.6.2.4 - 2017-09-27
Changed
--starter: missingxdg-user-diris no longer an error--silent: redirect stderr already while parsing--user=root: disable--cap-drop=ALL--help: update usage infoweston.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--scalein desktop mode: regard different--dpibehaviour since xpra v2.2--help: update usage infosetxkbmapfor Xorg like for Xephyr, tooweston.ini: addedpanel-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
zflag in docker command, not needed with current SELinux solution --weston[-xwayland]: no output section on tty without--scale,--sizeor--rotate--weston[-xwayland]: allow--sizeon tty, though only "real" resolutions will take effect--xorg:--scale,--size: change primary monitor only, will do better on multi monitor setup--xdummy --gpunow possible on tty, too
Fixed
--home: avoid creating$Adduserhomefolderwith wrong restrictions if$Hostuseris different from$Benutzer- Fixes in part: check screensize
- watch for closing xpra client in desktop mode to avoid invisible remaining x11docker
--xorgon tty: do not set screen size without--size.
3.6.2 - 2017-10-10
Added
--xfishtankto runxfishtankon new X server. Shows a fish tank.
Changed
--westonini: regard for--xpra-xwaylandand--xdummy-xwayland, too.PATH: adding/usr/games:/usr/local/bin. Can miss for root, but may be needed for--exeand--xfishtank- check for X extension
Securitywith xdpyinfo --clipboardfor--hostdisplay: enable--trustedand--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 callingerror()- changed logfile handling, move log from
/tmpto $Sharefolder aftertail -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--stdoutand--stderrerror()/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_tallows access to X unix socket --xorg: avoid searching for native resolution if--scaleis 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 -EXITavoids double call offinish(). faster shutdown now.
3.6.1.5 - 2017-08-21
Changed
mkdir -pin installer for tmp folder:-pwas missing, could cause error- declare
note()in xinitrc --scalesupport for--xorg--sizewithout--scalefor--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--pwavailable on fedora- do not test for passwordless docker if
--pwis 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 -non fedora did not work with x11docker-gui started from menu instead of cli, without-nis 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
|teeto $Xtermlogfile ondocker 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/kaptainifkaptainis not installed
3.6.0.5 - 2017-08-14
Changed
note()instead ofwarning()for less urgent messages
Fixed
- opensuse: cookie creation failed due to different xauth behaviour
- sudo: do not prompt for password for
docker stopinfinish(), 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
--dpior--scaleis 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
--ipcis set
Fixed
- fedora:
--xorg: add-keepttyif running from tty - issue prevented
--xorgfrom 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,zdoes not work for--device
3.6.0 - 2017-08-12
Added
--rwto allow read/write access to container root file system--pwto choose password prompt frontend. default:pkexec--no-entrypointto disable ENTRYPOINT in image--hostuserto set host user different from $(logname)--desktop: no longer deprecated, easier to understand and remember than--wm=none
Changed
-d: used for--desktopagain, no longer for--dbus.--dbusnow 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/bininstead of/usr/local/binto support root chmod 755instead of+xin 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
--dpibug in 2.1 series - xpra
--start-via-proxy=nofor xpra >= 2.1 --nxagent: temporaryxhost +SI:localuser:$Hostuserworkaround as it fails again to authenticate, nxagent does not divide betweenXAUTHORITYand--auth- reduce dependency warnings for
--auto - prefer $Hostenv instead of $Newxenv for password prompt -> better support for gksu
- show
docker pulloutput in a terminal window - allow
--hostdisplaywith--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
--showenvfor--xonlyfinish(): trydocker stop $Containername- dockerrc: no ps/sleep loop if running as root
- don't start docker in xinitrc as xinit runs unprivileged
--pskeeps 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-passwordneedless. 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
ENTRYPOINTin dockerrc
3.5.9 - 2017-07-09
Changed
--homewith--user=(unknown): only show warning (instead of error) not creating persistent home- do not set write permissions on
--homeor--homedirfolder for different users than$USERor--user. (Not x11docker's job) - do not set
--read-onlyif--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 setxhost STRin xinitrc.--xvfbto explicitly use Xvfb and to clearly use Xdummy on--xdummy
Changed
--kwin-native: always share Wayland (--sharewayland--waylandenv--dbus)- docker run
--read-only --volume=/tmpto restrict container filesystem as read-only (except for--sudouser) --xorgsupports--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 STRinstead.
Fixed
--nxagent: due to update? must set nxagent -ac (=xhost +) temporary to allow xinit- allow
--wmfor--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
unixin $Newxenv for DISPLAY to make xpra ssh setup easier - Xdummy-Xwayland: new X server to provide
--gpufor--xdummybased on weston, xwayland and xdotool - always enable extension Xtest on
--xdummyto 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_DIRand softlink to wayland socket in container due to some KDE issues (XDG_RUNTIME_DIRmust be owned by user). Fails with different--user - create
/tmp/.X11-unixwith 1777 in container to allow new X sockets (especially for startplasmacompositor). Drawback: container writeable folder in cache - warning with hint to use
--xpra-xwaylandif--scaleis used with--weston-xwayland. - shorter sleep in finish()
- don't search for deprecated
/tmp/x11dockerin checkorphaned()
Fixed
- avoid pointless warning about
XTESTif not using xpra - typo preventing start of
--kwinand--kwin-native(-widthinstead of--width) - bugfix parsing option
--wm export $Hostxenvin error() was empty if called in xtermrc
3.5.5.2 - 2017-06-10
Changed
- update usage info for
--xpraand--xpra-xwayland
3.5.5.1 - 2017-06-10
Fixed
- bugfix in
--autoalways 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
--wmis given - always set
XDG_RUNTIME_DIR=/tmpas some apps may expect it
3.5.4 - 2017-06-02
Changed
- disable extension
XTESTif 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
--sharedirreplaces--volumeto avoid confusion
Changed
- update
usage() - mount $Sharefolder and its content read-only
- remove X11-unix from $Sharefolder
- set read-only for
/dev/drion--gpu --security-opt=no-new-privilegesadded to docker run
Deprecated
--volumeis now called--sharedirdue 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
--volumeto share host folders
3.5.1 - 2017-05-19
Changed
- user creation with
--addgroup videoto support non-systemd and kde-neon gpu support - create
/tmp/.X11-unixwith1777
3.5.0 - 2017-05-17
Added
--output-countto set amount if virtual screens/desktop windows for Weston, Kwin, Xephyr--westoninito specify a custom weston.ini for--westonand--weston-xwayland--cachedir: specify custom cache folder--homedir: specify host folder to share as home--trusted: enforce trusted cookies for--hostdisplayand--kwin-native--userto 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 --orphanedcleans /tmp/x11docker--env: regard whitespaces, use \n to divide entrys- set
mode=preferredfor Weston on tty, ignore $Screensize - extension
XINERAMAdisabled as multiple Xephyr outputs cannot handle it well - create container home folder
/tmp/fakehomein 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=hostif--homeor--homedirare 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=ALLas default- reduce
/etc/passwdand/etc/groupto container user and groups user and videp only (except root, keeps whole files). - creating container user similar to host user with docker run option
--userand custom /etc/passwd instead of script createuser. --gpu: only share--device=/dev/driinstead of listing all files in it
Deprecated
--cache
Removed
--hostuser: effect of--hostuseris default now--sudouser: not possible anymore due to--cap-drop=ALL
Fixed
-s KILLfor weston on finish() avoids zombie weston window
3.2.1 - 2017-05-05
Fixed
--scalewith--xpra-xwaylandunder X without Wayland failed
3.2.0 - 2017-05-04
Added
--scale: for xpra and weston--rotatefor weston--dpifor 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-waylandin check forWAYLAND_DISPLAY
3.1.15 - 2017-05-02
Changed
- faster startup for
--xpra-xwayland,--weston-xwayland,--kwinand--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
--sudoon some systems - use
id -ginstead of $Benutzer for group name - add
lsb-release -dsto 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-scalingin 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
--xorghow to setup xserver-xorg-legacy
3.1.7 - 2017-04-25
Changed
--xpraand--xdummynow 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
--nxagentsupports untrusted cookies
Fixed
- don't set dpi if xdpyinfo fails
3.1.3 - 2017-04-18
Changed
--nxagentcookie workaround as it ignores XAUTHORITY on option -auth--nxagentworkaround to terminate on pressing window close button -> fake nxclient
Fixed
- typo in finish() looking for docker pid
3.1.2 - 2017-04-18
Changed
--nxagentsets right keyboard layout, thanks to Ulrich!
3.1.1 - 2017-04-18
Changed
--nxagentnow supports--size,--fullscreenand--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
--nxagentfor X servernxagent
3.0.0 - 2017-04-15
Added
- Wayland support.
--wayland: auto setup for pure Wayland applications--westonfor pure Wayland applications--kwinfor 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--envhad role of new--showenv)--dbus: run image command withdbus-launch--xhost+: setxhost +on new X server--showenv: formerly--env, show environment variables to access new X server
Changed
- second stderr
&3to show warnings and errors also from within xinitrc and xtermrc - error messages on docker startup failure in xtermrc
xdummy.confor--xpra: custom modeline setting fitting to actual resolution--xdummyregards--size- x11docker_CMD checks if ps is available
--wmchanged, autochoosing no longer defaultchmod 1777 /tmp/X11-unixto allow creation of X sockets in container (needed e.g. forstartplasmacompositor)--verboseoutput much more reliebale now, tail improved- use prefix
unixforDISPLAYto disableMIT_SHMinstead using other environment variables - create dektop starter with basename instead of $0
- createuser: start with
--user=0to allowuseraddandsu - 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=1to avoid xpra bug 1469 - check and set
XDG_RUNTIME_DIRfor weston and Xwayland
Removed
--virtualgl,--dockerenv,--xpra-image,--xorg-image,--xdummy-image,--tcp--tcpxsocket--xsocket,--glamor,--sharegpu,--desktop,--xhost