Sign inSign up

luowenqiang/deepin-wine-wechat

By luowenqiang

•Updated almost 6 years ago

Image
0

85

luowenqiang/deepin-wine-wechat repository overview

⁠运行起来

基于Deepin Wechat构建

Ubuntu 的运行脚本,建议保存到~/.local/bin目录下,一个命令就可以启动微信

#!/bin/bash

docker run \
    -d \
    --rm \
    --name wechat \
    --device /dev/snd \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v $HOME/WeChatFiles:/WeChatFiles \
    -e DISPLAY=unix$DISPLAY \
    -e XMODIFIERS=@im=ibus \
    -e QT_IM_MODULE=ibus \
    -e GTK_IM_MODULE=ibus \
    -e XIM_ARGS="ibus-daemon -d -x" \
    -e AUDIO_GID=`getent group audio | cut -d: -f3` -e GID=`id -g` -e UID=`id -u` \
    luowenqiang/deepin-wine-wechat:1.0

⁠构建基础镜像

# docker build -f Dockerfile -t luowenqiang/deepin-wine-base:1.0 .
FROM ubuntu:18.04

ENV DEBIAN_FRONTEND noninteractive

# 安装更新和必要的组件
RUN apt-get update && apt-get upgrade -y && apt-get -y install ca-certificates wget curl apt-utils xdotool libfontconfig1 locales tzdata

# 设置语言和时区

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

RUN echo 'zh_CN.UTF-8 UTF-8' > /etc/locale.gen \
    && locale-gen \
    && echo -e 'LANG="zh_CN.UTF-8"\nLANGUAGE="zh_CN:zh"\n' > /etc/default/locale \
    && . /etc/default/locale

ENV TZ Asia/Shanghai
ENV LANGUAGE=zh_CN.UTF-8:en_US:en \
    LC_ALL=zh_CN.UTF-8 \
    LANG=zh_CN.UTF-8

# 安装deepin的wine依赖,这些需要自己到Deepin相关的网站去下载
# 我是克隆了 https://github.com/wszqkzqk/deepin-wine-ubuntu.git 仓库下来使用的
WORKDIR /root
COPY . .
ADD sources.list /etc/apt/sources.list
WORKDIR /root/deepin-wine-for-ubuntu/
RUN . /root/deepin-wine-for-ubuntu/install_2.8.22.sh
RUN apt-get update && apt-get upgrade -y

# 配置字体
WORKDIR /
ADD WindowsFonts /usr/share/fonts/

RUN ls -l /usr/share/fonts/

RUN fc-cache -fv

WORKDIR /root
RUN rm -rf /root/deepin-wine-for-ubuntu/ && apt-get autoremove -y && apt-get clean -y

CMD ["/bin/bash"]

⁠构建微信镜像

# docker build -f Dockerfile -t luowenqiang/deepin-wine-wechat:1.0 .
FROM luowenqiang/deepin-wine-base:1.0

# 安装微信
# http://mirrors.163.com/deepin/pool/non-free/
RUN wget https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.wechat/deepin.com.wechat_2.6.8.65deepin0_i386.deb
RUN dpkg -i deepin.com.wechat_2.6.8.65deepin0_i386.deb

WORKDIR /root
ADD . .

RUN ls -l
RUN /bin/bash /root/link.sh && rm -f /root/link.sh

ENV APP=WeChat \
    AUDIO_GID=63 \
    VIDEO_GID=39 \
    GID=1000 \
    UID=1000

RUN groupadd -o -g $GID wechat && \
    groupmod -o -g $AUDIO_GID audio && \
    groupmod -o -g $VIDEO_GID video && \
    useradd -d "/home/wechat" -m -o -u $UID -g wechat -G audio,video wechat && \
    mkdir /WeChatFiles && \
    ln -s "/WeChatFiles" "/home/wechat/WeChat Files" && \
    sed -i 's/WeChat.exe" &/WeChat.exe"/g' "/opt/deepinwine/tools/run.sh"

VOLUME ["/WeChatFiles"]
WORKDIR /WeChatFiles

ADD entrypoint.sh /
RUN chmod +x /entrypoint.sh


ENTRYPOINT ["/entrypoint.sh"]

⁠entrypoint.sh

#!/bin/bash

groupmod -o -g $AUDIO_GID audio
groupmod -o -g $VIDEO_GID video
if [ $GID != $(echo `id -g wechat`) ]; then
    groupmod -o -g $GID wechat
fi
if [ $UID != $(echo `id -u wechat`) ]; then
    usermod -o -u $UID wechat
fi
chown wechat:wechat /WeChatFiles

su wechat <<EOF
    echo "启动 $APP"
    "/opt/deepinwine/apps/Deepin-$APP/run.sh"
   sleep 300
EOF

while test -n "`pidof WeChat.exe`"
do
    sleep 60
done
echo "退出"

Tag summary

Content type

Image

Digest

Size

1.1 GB

Last updated

almost 6 years ago

docker pull luowenqiang/deepin-wine-wechat:1.0