diff --git a/Dockerfile b/Dockerfile index e12a8dc..6ab7963 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,6 +27,7 @@ RUN apt-get update \ ca-certificates:amd64 \ cabextract:amd64 \ curl:amd64 \ + gosu \ language-pack-zh-hans \ tzdata:amd64 \ unzip:amd64 \ @@ -57,7 +58,6 @@ ENV \ LC_ALL=zh_CN.UTF-8 \ TZ=Asia/Shanghai -COPY ./entrypoint.sh / ENTRYPOINT [ "/entrypoint.sh" ] VOLUME /WechatFiles \ No newline at end of file diff --git a/README.md b/README.md index a4ad5ec..4537dbb 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,12 @@ A Docker Image for Running Windows WeChat on Your Linux Desktop ## Features -1. Tested under Ubuntu 19.10 +1. Developed & Tested under Ubuntu 19.10 (WIP...) ## Usage +Under Construction... + ## FAQ ### System Tray Icon with Gnome Desktop diff --git a/entrypoint.sh b/container_root/entrypoint.sh similarity index 68% rename from entrypoint.sh rename to container_root/entrypoint.sh index 3d03ff6..f0d1c01 100755 --- a/entrypoint.sh +++ b/container_root/entrypoint.sh @@ -3,6 +3,18 @@ set -e set -x +# +# User Task +# +if [ "$(id -u)" -ne '0' ]; then + su user -c "wine reg QUERY 'HKEY_CURRENT_USER\Software\Tencent\WeChat'" + exec wine 'C:\Program Files\Tencent\WeChat\WeChat.exe' +fi + +# +# Root Init +# + if [ -n "$AUDIO_GID" ]; then groupmod -o -g "$AUDIO_GID" audio fi @@ -23,5 +35,7 @@ chown user:group /WechatFiles # wine reg DELETE 'HKCU\Software\Tencent\WeChat' NeedUpdateType /f &> /dev/null # rm "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/WeChat/All Users/config/configEx.ini" -su user -c "wine reg QUERY 'HKEY_CURRENT_USER\Software\Tencent\WeChat'" -su user -c "wine 'C:\Program Files\Tencent\WeChat\WeChat.exe'" +# +# Switch to user:group, and re-run self to run user task +# +exec gosu user:group "$0" "$@" \ No newline at end of file