diff --git a/x11docker b/x11docker index ca8ce399..610024e9 100644 --- a/x11docker +++ b/x11docker @@ -9,9 +9,11 @@ # Type 'x11docker --help' or scroll down to read usage information. # https://github.com/mviereck/x11docker -Version="3.8.0" +Version="3.8.1" changelog() { +# 10.12.2017 V3.8.1 bugfix Ubuntu: avoid Wayland backend for Weston due to MIR issue #19 +# --xorg: change Xorg to X. X is setuid wrapper for Xorg on Ubuntu 14.04 # 04.12.2017 V3.8.0 --sudouser: create user with docker run options instead of createuser script # --sudouser: create /etc/sudoers.d/$Benutzer with docker exec in dockerrc # 03.12.2017 --sudouser: create /etc/sudoers.d/$Benutzer instead of adding groups wheel and sudo @@ -2383,7 +2385,7 @@ fi *) Xserveroptions="$Xserveroptions -retro" Xserveroptions="$Xserveroptions \\ - +extension Composite +extension RANDR +extension RENDER +extension GLX +iglx \\ + +extension Composite +extension RANDR +extension RENDER +extension GLX \\ +extension XVideo +extension DOUBLE-BUFFER" Xserveroptions="$Xserveroptions \\ -extension X-Resource +extension SECURITY +extension DAMAGE" @@ -2498,7 +2500,7 @@ startup-animation=fade [keyboard] keymap_layout=$( [ "$Tty" = "yes" ] && cat /etc/default/keyboard | grep XKBLAYOUT | cut -d= -f2 | cut -d'"' -f2) " >> "$Westonini" - [ -n "$Hostwayland" ] && [ "$Xserver" != "--xpra-xwayland" ] && { + [ -n "$Hostwayland" ] && [ "$Xserver" != "--xpra-xwayland" ] && [ "$Hostsystem" != "ubuntu" ] && { Westonoutput="WL" } || { [ -n "$Hostdisplay" ] && Westonoutput="X" @@ -2527,7 +2529,7 @@ $(tail "$Compositorlogfile")" Xserveroptions="$Xserveroptions \\ -verbose" # make X verbose [ "$Tty" = "yes" ] && Xserveroptions="$Xserveroptions -keeptty" - Xcommand="$(command -v Xorg) $Newdisplay $Newxvt \\ + Xcommand="$(command -v X) $Newdisplay $Newxvt \\ $Xserveroptions" warning "Although x11docker starts Xorg as unprivileged user, most system setups wrap Xorg to give it root permissions (setuid). @@ -2602,12 +2604,10 @@ $(tail "$Compositorlogfile")" echo "mode=$Screensize" >> $Westonini [ -n "$Customwestonini" ] && Westonini="$Customwestonini" Compositorcommand="weston --config='$Westonini' --socket=$Waylandsocket" - case $Tty in - yes) Compositorcommand="$Compositorcommand --backend=drm-backend.so" ;; - no) - [ -n "$Hostwayland" ] && Compositorcommand="$Compositorcommand --backend=wayland-backend.so" - [ -z "$Hostwayland" ] && [ -n "$Hostdisplay" ] && Compositorcommand="$Compositorcommand --backend=x11-backend.so" - ;; + case $Westonoutput in + WL) Compositorcommand="$Compositorcommand --backend=wayland-backend.so" ;; + X) Compositorcommand="$Compositorcommand --backend=x11-backend.so" ;; + *) Compositorcommand="$Compositorcommand --backend=drm-backend.so" ;; esac ;; @@ -2630,15 +2630,12 @@ mode=$Screensize done [ -n "$Customwestonini" ] && Westonini="$Customwestonini" Compositorcommand="weston --socket=$Waylandsocket --config='$Westonini'" - [ "$Tty" = "yes" ] && Compositorcommand="$Compositorcommand --backend=drm-backend.so" [ "$Fullscreen" = "yes" ] && Compositorcommand="$Compositorcommand --fullscreen" [ "$Outputcount" = "1" ] || Compositorcommand="$Compositorcommand --output-count=$Outputcount" - case $Tty in - yes) Compositorcommand="$Compositorcommand --backend=drm-backend.so" ;; - no) - [ -n "$Hostwayland" ] && Compositorcommand="$Compositorcommand --backend=wayland-backend.so" - [ -z "$Hostwayland" ] && [ -n "$Hostdisplay" ] && Compositorcommand="$Compositorcommand --backend=x11-backend.so" - ;; + case $Westonoutput in + WL) Compositorcommand="$Compositorcommand --backend=wayland-backend.so" ;; + X) Compositorcommand="$Compositorcommand --backend=x11-backend.so" ;; + *) Compositorcommand="$Compositorcommand --backend=drm-backend.so" ;; esac ;; @@ -3694,7 +3691,7 @@ WantedBy=x11docker.target echo "note \"Panning \$Screensize. If virtual screen is greater than " echo " maximal screen size, you can move virtual screen with mouse at screen edges." echo " You can force the virtual screen to match your monitor with option --scale=1\"" - echo " xrandr --output \$Output --panning \$Screensize+0+0/\$Screensize+0+0/100/100/100/100" + echo "xrandr --output \$Output --panning \$Screensize+0+0/\$Screensize+0+0/100/100/100/100" echo "checkscreensize || {" echo " note 'Panning failed, trying to scale instead.'" echo " xrandr --output \$Output --scale-from \$Screensize --panning \$Screensize+0+0/\$Screensize+0+0"