diff --git a/CHANGELOG.md b/CHANGELOG.md index c0565dc6..70b7b741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. Project website: https://github.com/mviereck/x11docker -### [Unreleased] +## [7.3.1](https://github.com/mviereck/x11docker/releases/tag/v7.3.1) - 2022-07-01 ### Added - - `--xc`: Support `--hostdisplay` and `--kwin`. + - `--xc`: Support `--kwin`, nested and on console. + - `--xc`: Support `--xpra-xwayland`. ### Fixed - - `--xc`: Add support for `--xvfb`. + - `--xc`: Add missing code for `--xvfb`. [(452)](https://github.com/mviereck/x11docker/issues/452) + - `--xc`: Provide `--hostdisplay` dependencies. ## [7.3.0](https://github.com/mviereck/x11docker/releases/tag/v7.3.0) - 2022-06-27 ### Added diff --git a/README.md b/README.md index be64983b..c9c90a69 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ Hardware acceleration for OpenGL is possible with option `-g, --gpu`. for driver version < v470.x and Xwayland < v22.1.2. ### Clipboard -Clipboard sharing is possible with option `-c, --clipboard`. +Clipboard sharing is possible with option `-c, --clipboard [=ARG]`. - Optional arguments `superv` and `altv` only provide host clipboard content to container if keys `[SUPER][v]` or `[ALT][v]` are pressed. - Optional argument `oneway` only transfers clipboard content from container to host. diff --git a/TODO.md b/TODO.md index 1f36ecb6..717b4ab0 100644 --- a/TODO.md +++ b/TODO.md @@ -2,10 +2,10 @@ x11docker ToDo notes ## Work in progress - - + - --kwin in weston segfaults - --xc --xorg: MIT-SHM fails - --xc --xorg rootless fails - - --xc --weston on console: tty switch fails with unprivileged user + - --xc --kwin on console: tty switch fails with unprivileged user - --backend=host: check X container - centralize argument checks @@ -30,11 +30,6 @@ x11docker ToDo notes - kata: add new runtime for nerdctl io.containerd.kata.v2 - - X in container: - - use xauth and others from image if not available on host - - missing: Xorg, Weston/Kwin on console, xpra-xwayland - - --xpra-xwayland --xc: xpra client fails with keyboard error - ## Issues to fix - --build: download files for COPY/ADD (x11docker/check, x11docker/xserver) - `--remove`: give note about not removed files in `~./config/x11docker` and `/etc/x11docker` diff --git a/x11docker b/x11docker index f7b3abcf..71e77574 100755 --- a/x11docker +++ b/x11docker @@ -11,7 +11,7 @@ # Run 'x11docker --help' or scroll down to read usage information. # More documentation at: https://github.com/mviereck/x11docker -Version="7.3.1-beta-5" +Version="7.3.1" # --enforce-i: Enforce running in interactive mode to allow commands tty and weston-launch in special setups. grep -q -- "--enforce-i" <<< "$*" && case $- in @@ -247,7 +247,7 @@ X and Wayland special configuration: Needs option --network. --xtest [=yes|no] Enable or disable X extension XTEST. Default is yes for --xpra and --xvfb, no for other X servers. - Needed to allow custom access with xpra. + Needed to allow keyboard and mouse control with xpra. Container user settings: --group-add=GROUP Add container user to group GROUP. @@ -4289,6 +4289,7 @@ create_xcontainercommand() { # option --xc: create docker command for X in co Xcontainercommand="$Xcontainercommand $Xc_capdrop" Xcontainercommand="$Xcontainercommand $Xc_user" Xcontainercommand="$Xcontainercommand $Xc_containerx" + Xcontainercommand="$Xcontainercommand $Xc_hostx" Xcontainercommand="$Xcontainercommand $Xc_gpu" Xcontainercommand="$Xcontainercommand $Xc_console" ;; @@ -4341,15 +4342,15 @@ create_xcontainercommand() { # option --xc: create docker command for X in co Xcontainercommand="$Xcontainercommand $Xc_containerx" Xcontainercommand="$Xcontainercommand $Xc_gpu" - Xpracontainername="x11docker_X${Newdisplaynumber}_xpraclient_${Cachenumber}" - Xpracontainercommand="$(sed '/--ipc/d ; /--name/d' <<< "$Xcontainercommand")" - Xpracontainercommand="$Xpracontainercommand $Xc_hostx" - Xpracontainercommand="$Xpracontainercommand $Xc_hostwayland" - Xpracontainercommand="$Xpracontainercommand \\ - --name $Xpracontainername \\ - --ipc=host \\ - --uts=host \\ - x11docker/xserver" +# Xpracontainername="x11docker_X${Newdisplaynumber}_xpraclient_${Cachenumber}" +# Xpracontainercommand="$(sed '/--ipc/d ; /--name/d' <<< "$Xcontainercommand")" +# Xpracontainercommand="$Xpracontainercommand $Xc_hostx" +# Xpracontainercommand="$Xpracontainercommand $Xc_hostwayland" +# Xpracontainercommand="$Xpracontainercommand \\ +# --name $Xpracontainername \\ +# --ipc=host \\ +# --uts=host \\ +# x11docker/xserver" ;; --xpra-xwayland) Xcontainercommand="$Xcontainercommand $Xc_capdrop" @@ -8084,17 +8085,18 @@ $Xpraclientcommand" unpriv_xcbackend "$Xcontainerbackend exec --detach $Xcontainername sh -c '$Xpraclientcommand'" >> "$Xpraclientlogfile" 2>&1 : } || { - case "$Xserver" in - --XXXxpra2*) - Xpracontainercommand="$Xpracontainercommand -$Xpraclientcommand" - echo "$Xpracontainercommand" - unpriv_xcbackend "$Xpracontainercommand" - ;; - *) - unpriv "$Xpraclientcommand ||:" >> "$Xpraclientlogfile" 2>&1 & - ;; - esac + unpriv "$Xpraclientcommand ||:" >> "$Xpraclientlogfile" 2>&1 & +# case "$Xserver" in +# --XXXxpra2*) +# Xpracontainercommand="$Xpracontainercommand +#$Xpraclientcommand" +# echo "$Xpracontainercommand" +# unpriv_xcbackend "$Xpracontainercommand" +# ;; +# *) +# unpriv "$Xpraclientcommand ||:" >> "$Xpraclientlogfile" 2>&1 & +# ;; +# esac } # get pids