Giter Site home page Giter Site logo

huan / docker-wxwork Goto Github PK

View Code? Open in Web Editor NEW
122.0 6.0 15.0 439 KB

DoWork is a Dockerized WeChat Work (盒装企业微信) PC Windows Client for Linux

Home Page: https://hub.docker.com/r/zixia/wxwork

License: Apache License 2.0

Dockerfile 12.80% Shell 87.20%
wechat wxwork docker

docker-wxwork's Introduction

DoWork /dɑɑˈwɜːk/ 盒装企业微信 Docker

dockeri.co

DoWork (盒装企业微信) is a Dockerized WeChat Work (企业微信) PC Windows Client for Linux.

DoWork

Image Credit: Docker 101 + Icon Finder, and Ps-ed by Ruoxin Song

Usage Powered Ubuntu

WeChat Work PC will be started on your Linux desktop by running the following one-line command:

curl -sL https://raw.githubusercontent.com/huan/docker-wxwork/master/dowork.sh | bash

Just copy/paste the above one-line command to your terminal and press Enter. Then the WeChat Work PC should appear in your XWindows desktop shortly.

DoWork Term Command

Features

It just works out-of-the-box with one-line of shell command!

  1. Input/Display Chinese characters perfectly.

DoWork Screenshot

Requirements

  1. Ubuntu is recommended. DoWork was developed with the Ubuntu Desktop 19.10.
  2. Other Linux distributions: might be able to support
  3. Docker (run sudo apt update && apt install docker.io to install Docker for Ubuntu users)

Environment Variables

DOWORK_DPI

DPI Scale Factors for graphic screen resolution.

DPI Scale factor %
96 100
120 125
144 150
192 200

Default: 120

DOWORK_SKIP_PULL

If you do not want to pull docker image for the latest version at startup everytime, you can set DOWORK_SKIP_PULL environment variable.

curl -sL https://raw.githubusercontent.com/huan/docker-wxwork/master/dowork.sh \
  | DOWORK_SKIP_PULL=true bash

In case you have downloaded dowork.sh:

DOWORK_SKIP_PULL=true ./dowork.sh

DOWORK_DEBUG

Show more debug log messages.

curl -sL https://raw.githubusercontent.com/huan/docker-wxwork/master/dowork.sh \
  | DOWORK_DEBUG=true bash

For Hackers

If you want to control everything by yourself, for example, open multiple WeChat Work PC client on your desktop; then, you might want to inspect the dowork.sh in our repository and try the following docker command:

docker run \
  --name DoWork \
  --rm \
  -i \
  \
  -v "$HOME/DoWork/WXWork/":'/home/user/WXWork/' \
  -v "$HOME/DoWork/Applcation Data":'/home/user/.wine/drive_c/users/user/Application Data/' \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  \
  -e DISPLAY \
  \
  -e XMODIFIERS=@im=fcitx \
  -e GTK_IM_MODULE=fcitx \
  -e QT_IM_MODULE=fcitx \
  -e GID="$(id -g)" \
  -e UID="$(id -u)" \
  \
  --ipc=host \
  --privileged \
  \
  zixia/wxwork

Modify it whatever you want to fulfill your needs.

Known Issues

  • In-WeChat Browser does not work

To-do List

  • Automatically install WeChat Work from .EXE installer when building the Dockerfile. (Test Automation tools might be needed)
  • Monitor WeChat Work version publications so that we can publish the same version number of the docker image with it.

FAQ

1 System Tray Icon with Gnome Desktop

Install Gnome Extension: Top Icons Plus Git

Links

History

master

v0.1 (Feb 17, 2020)

Project created.

Thanks

See Also

Author

Huan LI (李卓桓) [email protected]

Profile of Huan LI (李卓桓) on StackOverflow

Copyright & License

  • Code & Docs © 2020-now Huan LI <[email protected]>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

docker-wxwork's People

Contributors

huan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

docker-wxwork's Issues

公众号应用无法打开

进入页面后公众号无法打开,微信自带的浏览器崩溃,也无法使用Linux系统浏览器。是否能够复制网页链接呢

DoWork Exited with code [0]

环境如下:
OS: Manjaro 20.1.2 Mikah
Kernel: x86_64 Linux 5.9.1-1-MANJARO
Docker version: 19.03.12-ce, build 48a66213fe

debug开启后的log如下:

🚀 Pulling the latest docker image done.
🚀 Starting DoWork /dɑɑˈwɜːk/ ...

+ main
++ id -u
+ '[' 0 -ne 0 ']'
+ setupUserGroup
+ '[' -n 995 ']'
+ groupmod -o -g 995 audio
+ '[' -n 986 ']'
+ groupmod -o -g 986 video
++ id -g user
+ '[' 1000 '!=' 1000 ']'
++ id -u user
+ '[' 1000 '!=' 1000 ']'
+ chown user:group '/home/user/.wine/drive_c/users/user/Application Data' /home/user/WXWork
+ setupHostname
+ export HOSTNAME=DoWork
+ HOSTNAME=DoWork
+ echo DoWork
+ hostname DoWork
+ exec gosu user /entrypoint.sh
+ main
++ id -u
+ '[' 1000 -ne 0 ']'
+ startWXWork
+ hello
++ cat /VERSION
+ VERSION=0.2.0
+ echo '[DoWork] 盒装企业微信 v0.2.0'
+ disableUpgrade
+ echo 'To be write'
[DoWork] 盒装企业微信 v0.2.0
+ setupFontDpi
+ DELETE_KEYS=('HKEY_CURRENT_USER\Control Panel\Desktop' 'HKEY_CURRENT_USER\Software\Wine\Fonts')
+ for key in "${DELETE_KEYS[@]}"
+ wine reg DELETE 'HKEY_CURRENT_USER\Control Panel\Desktop' /v LogPixels /f
+ true
+ for key in "${DELETE_KEYS[@]}"
+ wine reg DELETE 'HKEY_CURRENT_USER\Software\Wine\Fonts' /v LogPixels /f
+ wine reg ADD 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts' /v LogPixels /t REG_DWORD /d 120 /f
+ true
+ echo '[DoWork] Starting...'
+ '[' -n true ']'
+ unset WINEDEBUG
+ wine 'C:\Program Files\WXWork\WXWork.exe'
[DoWork] Starting...
002e:fixme:msvcrt:_configure_wide_argv (1) stub
002e:fixme:msvcrt:_initialize_wide_environment stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032FDE4 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032FE08 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032FCBC 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032FC3C 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032F490 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032F340 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032F184 1 C) semi-stub
002f:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (06CBF8E8 1 *) semi-stub
002f:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (06CBF8E8 1 C) semi-stub
002f:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (06CBF798 1 C) semi-stub
002f:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (06CBF738 1 C) semi-stub
002f:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (06CBF69C 1 *) semi-stub
002e:fixme:netprofm:connection_point_Advise 06506A60, 063B2C98, 06329A90 - semi-stub
0041:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0041:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
002e:fixme:netprofm:connection_point_Advise 06506F70, 063E3588, 063E3560 - semi-stub
002e:fixme:ntdll:EtwEventRegister ({d2d578d9-2936-45b6-a09f-30e32715f42d}, 0x805a510, 0x80c39b0, 0x80c65c8) stub.
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032F7E4 1 C) semi-stub
002e:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0032F92C 1 C) semi-stub
002e:fixme:win:UnregisterTouchWindow (0x10046): stub
002e:fixme:win:RegisterTouchWindow ((nil) 00000000): stub
002e:fixme:advapi:OpenEventLogW ((null),L"System") stub
002e:fixme:advapi:ReadEventLogA (0xcafe4242,0x00000009,0x00000000,0x6b65e28,0x00010000,0x32fad4,0x32fad8) stub
002e:fixme:advapi:CloseEventLog (0xcafe4242) stub
002e:fixme:netprofm:ConnectionPointContainer_FindConnectionPoint interface {dcb00004-570f-4a9b-8d69-199fdba5723b} not implemented
002e:fixme:netprofm:ConnectionPointContainer_FindConnectionPoint interface {dcb00004-570f-4a9b-8d69-199fdba5723b} not implemented
002e:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
002e:fixme:msvcrt:__clean_type_info_names_internal (0x3e73a4) stub
002e:fixme:msvcrt:__clean_type_info_names_internal (0x62fd424) stub
+ true
++ pgrep -i WXWork.exe
+ '[' -n '' ']'
+ echo '[DoWork] WXWork.exe exited'
+ break
+ unset upgrading
+ true
[DoWork] WXWork.exe exited
++ pgrep -i WeWorkUpdate.ex

+ '[' -z '' ']'
+ echo
+ break
+ '[' -z '' ']'
+ break

📦 DoWork Exited with code [0]

macOS: getent: command not found

mac电脑上运行./dowork.sh,最后出现如下错误,有解吗?谢谢

🚀 Pulling the latest docker image done.
🚀 Starting DoWork /dɑɑˈwɜːk/ ...

./dowork.sh: line 75: getent: command not found
./dowork.sh: line 75: getent: command not found
d[DoWork] 盒装企业微信 v0.2.0
[DoWork] Starting...
[DoWork] WXWork.exe exited

卡在Starting DoWork,没有显示出UI

   ____     __        __         _
  |  _ \  __\ \      / /__  _ __| | __
  | | | |/ _ \ \ /\ / / _ \| '__| |/ /
  | |_| | (_) \ V  V / (_) | |  |   <
  |____/ \___/ \_/\_/ \___/|_|  |_|\_\

  https://github.com/huan/docker-wxwork

            +--------------+
           /|             /|
          / |            / |
         *--+-----------*  |
         |  |           |  |
         |  |   盒装    |  |
         |  |   企业    |  |
         |  +-- 微信 ---+--+
         | /            | /
         |/             |/
         *--------------*

  DoWork /dɑɑˈwɜːk/ (Docker-wxWork) is:

  📦 a Docker image
  🤐 for running PC Windows WeChat Work
  💻 on your Linux desktop
  💖 by one-line of command

🚀 Pulling the latest docker image...

Using default tag: latest
latest: Pulling from zixia/wxwork
Digest: sha256:4a76020fd8af4c86a897fa076926978dc3f9b36304d54e7ae141b18d0aec9521
Status: Image is up to date for zixia/wxwork:latest
docker.io/zixia/wxwork:latest

🚀 Pulling the latest docker image done.
🚀 Starting DoWork /dɑɑˈwɜːk/ ...

segmentfault

   ____     __        __         _
  |  _ \  __\ \      / /__  _ __| | __
  | | | |/ _ \ \ /\ / / _ \| '__| |/ /
  | |_| | (_) \ V  V / (_) | |  |   <
  |____/ \___/ \_/\_/ \___/|_|  |_|\_\

  https://github.com/huan/docker-wxwork

            +--------------+
           /|             /|
          / |            / |
         *--+-----------*  |
         |  |           |  |
         |  |   盒装    |  |
         |  |   企业    |  |
         |  +-- 微信 ---+--+
         | /            | /
         |/             |/
         *--------------*

  DoWork /dɑɑˈwɜːk/ (Docker-wxWork) is:

  📦 a Docker image
  🤐 for running PC Windows WeChat Work
  💻 on your Linux desktop
  💖 by one-line of command

🚀 Pulling the latest docker image...

Using default tag: latest
latest: Pulling from zixia/wxwork
Digest: sha256:4a76020fd8af4c86a897fa076926978dc3f9b36304d54e7ae141b18d0aec9521
Status: Image is up to date for zixia/wxwork:latest
docker.io/zixia/wxwork:latest

🚀 Pulling the latest docker image done.
🚀 Starting DoWork /dɑɑˈwɜːk/ ...

[DoWork] 盒装企业微信 v0.2.0
/entrypoint.sh: 行 23: 35 段错误 (核心已转储) wine reg DELETE "$key" /v LogPixels /f > /dev/null 2>&1
/entrypoint.sh: 行 23: 36 段错误 (核心已转储) wine reg DELETE "$key" /v LogPixels /f > /dev/null 2>&1
/entrypoint.sh: 行 16: 37 段错误 (核心已转储) wine reg ADD 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts' /v LogPixels /t REG_DWORD /d "${DOWORK_DPI:-120}" /f > /dev/null 2>&1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.