diff --git a/x11docker b/x11docker index 9bb680a0..097e4d2f 100755 --- a/x11docker +++ b/x11docker @@ -4063,21 +4063,28 @@ create_dockerrc() { # create dockerrc: This script runs as root (or echo "{" echo " echo ''" echo " echo '# x11docker variable settings'" - [ "$Createcontaineruser" = "yes" ] && { - echo " echo 'export USER=\"$Containeruser\"'" - echo " echo 'export HOME=\"$Containeruserhome\"'" - } - - [ "$Sharehosthome" = "no" ] && echo " echo mkdir -p $Containeruserhome" - - echo " echo '# Copy files from /etc/skel into empty HOME'" - echo " echo '[ -d /etc/skel ] && {'" - echo " echo ' [ \"\$(find $Containeruserhome -mindepth 1 -print)\" ] || cp -R /etc/skel/. $Containeruserhome'" - echo " echo '}'" + echo " echo 'Containeruser=\"\$(cat $Cshare/container.user)\"'" + case $Createcontaineruser in + yes) + echo " echo 'Containeruserhome=\"$Containeruserhome\"'" + ;; + no) + echo " echo 'Containeruserhome=\$(getent passwd \$Containeruser | cut -d: -f6)'" + echo " echo 'Containeruserhome=\${Containeruserhome:-/tmp/\$Containeruser}'" + ;; + esac + echo " echo 'export USER=\"\$Containeruser\"'" + echo " echo 'export HOME=\"\$Containeruserhome\"'" + + [ "$Sharehosthome" = "no" ] && echo " echo mkdir -p \$Containeruserhome" + echo " echo '# Copy files from /etc/skel into empty HOME'" + echo " echo '[ -d /etc/skel ] && {'" + echo " echo ' [ \"\$(find \$Containeruserhome -mindepth 1 -print)\" ] || cp -R /etc/skel/. \$Containeruserhome'" + echo " echo '}'" [ "$Sharehosthome" = "no" ] && { while read -r Line; do echo " echo '# create soft links of shared folders to fake home'" - echo " echo 'ln -s \"$Line\" \"$Containeruserhome\"'" + echo " echo 'ln -s \"$Line\" \"\$Containeruserhome\"'" done < <(store_runoption dump volume) }