Code Monkey home page Code Monkey logo

docker-wine-linux's Introduction

logo

Docker wine for all linux distros

First_image

一、项目介绍

Deepin-wine环境的全Linux发行版的移植版(支持所有Linux发行版)

使用deepin原版二进制文件,解决依赖问题

使用docker作为运行容器,方便管理、删除、卸载、打包、迁移等

仅供个人研究学习使用,希望它对你有所帮助,你也可以 fork 或者转载(标注来源)

🏷️运行必要条件

  • 操作系统:Linux
  • 应用软件:Docker

如果你的系统未安装docker,请先执行以下命令安装docker:

curl -fsSL https://get.docker.com|bash
# 如果使用此命令依旧安装不了,请移步至docker官网查看安装文档。

由于docker需要系统要求内核版本至少高于2.6.32上,如果内核未达标,请自行编译内核,可参考此链接

二、获取

# Clone this repository
git clone https://github.com/RokasUrbelis/docker-wine-linux.git

# Go into the repository
cd docker-wine-linux

三、运行及使用说明

(1):memo:目前只测试了QQ/TIM/百度网盘/迅雷极速版/Foxmail几个应用,如果你想自定义安装你需要的软件,可以到Deepin软件源下载对应deb包,mvdeb目录,之后再执行bash run.sh

提醒一句,因为那些包是针对deepin开发的,用在Ubuntu镜像,使用过程中出现的任何意外情况都是正常的,不保证全部可以正常使用,除非确实有用的需求,否则不建议使用。我测试的这几个应用是毫无问题的。

如果没有需求请直接执行:

bash run.sh

因为需要构建docker镜像和克隆deepin-wine-ubuntu,第一次执行run.sh的时间较长(大概需要2-5分钟,取决于带宽及硬件配置)

(2):zap:执行run.sh后会自动创建容器并后台运行,并且会告诉你容器id以及给出相应的命令让你执行,你可以执行它给出的命令来运行应用(默认是运行TIM),执行格式为:

source start.sh -i 容器id 应用名
#执行完此命令可能需要等待10-30秒钟,取决于系统响应速度

应用名列表可执行bash start.sh --help查看帮助,应用名不区分大小写亦可运行

(3):bulb:重要提示:

  • 因为wine有时候不稳定,运行完应用后发现登录上去看不到页面或者鼠标无法点击或者出现崩溃的情况都是正常的,因为第一次见到主人,wine很害羞(多运行一两次就正常了),此时你需要kill掉后台pid或者删除容器来释放系统资源或者直接重新运行run.sh
  • 追求稳定的话建议每个wine应用使用单独容器运行(即每次运行应用前先运行run.sh),而不是集中在一个容器上,这样方便管理并且降低崩溃概率。

亲测使用一个容器来运行所有应用也很少出现崩溃的情况,并且系统资源占用也相对前者少(如果不是强迫症,推荐此种方式运行wine应用)

四、常见问题

(1):card_file_box:应用使用过程文件传输的路径问题

  • 执行完run.sh后会生成一个APP_PATH目录(以下简称此目录),此目录已经映射到了你当前容器的/root目录,用户上传/下载文件的作用域都在此目录的子目录
  • 只有登录应用才会在此目录生成对应应用的用户文件夹,你可以把你要上传的文件拷贝进去然后上传到应用
  • 从应用中下载的重要文件最好从此目录拷贝到你的家目录或其他目录打开,因为容器处于非运行状态时用户是访问不了这些文件的,并且执行卸载操作的时候容器将全部被删除,此目录里的文件也会被销毁
  • 多次运行容器或应用也不会影响文件存放路径,此目录是所有应用共用的空间,所以不必担心文件路径冲突等问题

(2):recycle:资源释放问题(通过删除容器的方式)

  • 每执行一次run.sh会生成一个容器,每次重启系统这些容器就会处于退出状态,并且你不会再使用它,久而久之容器数量就会占据硬盘大量空间,直接执行bash clear.sh即可释放资源
  • 建议至少每个月执行一次(每天执行一次更好),具体多久执行一次取决于你系统资源是否够用以及开的容器数目是否够多,可配合crontab使用
  • 执行clear.sh的时候所有与docker-wine-linux镜像有关的容器都将被删除,在此之前请备份好APP_PATH目录里面你通过应用传输的重要文件

(3):art:图标托盘问题(GNOME桌面)

五、支持的应用

🏆目前支持的应用有(持续更新):

  • QQ
  • TIM
  • Wechat
  • 百度网盘
  • 迅雷急速版
  • Foxmail

六、卸载方法

  • 执行bash uninstall.sh即可

七、鸣谢

🔒项目主要参考deepin-wine-ubuntu(此项目主要是针对Ubuntu开发),我只是通过容器与宿主机结合让它能在所有发行版中使用。如果我看的更远一点的话,是因为我站在巨人的肩膀上。

八、参与贡献

  • Star/Fork本项目
  • 新建 Feat_xxx 分支
  • 提交代码
  • 新建 Pull Request

九、运行截图

📸以下是在Debian上的运行截图(其他发行版也都是支持的):

(百度网盘&TIM)

百度网盘&TIM

(迅雷&WeChat)

迅雷&WeChat

(3D视图)

3D视图

✏️此项目使用deepin-wine-ubuntu作为基础环境,ubuntu:latest作为docker容器,构建了一套容器上运行应用,并把图形化输出到宿主机的DISPLAY控制器的docker容器,支持所有发行版。

docker-wine-linux's People

Contributors

rokasurbelis 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-wine-linux's Issues

WeChat打不开了

首先感谢楼主
现在每次打开WeChat都会有提示更新的窗口,关掉后扫码登录,会一直卡在:正在登录界面进不去
希望楼主费心解决此问题
非常感谢

error run bash.sh

Step 11/19 : RUN apt-get install wget git locales ttf-wqy-zenhei sudo -y
 ---> Running in 6b1d49c04b99
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 fonts-wqy-zenhei : Depends: fontconfig (>= 2.3.1-1) but it is not going to be installed
 git : Depends: libcurl3-gnutls (>= 7.16.2) but it is not going to be installed
       Depends: libexpat1 (>= 2.0.1) but it is not going to be installed
       Depends: perl but it is not going to be installed
       Depends: liberror-perl but it is not going to be installed
       Recommends: patch but it is not going to be installed
       Recommends: less but it is not going to be installed
       Recommends: ssh-client
 libc6 : Breaks: locales (< 2.31) but 2.27-3ubuntu1.2 is to be installed
 wget : Depends: libpsl5 (>= 0.16.0) but it is not going to be installed
        Depends: libssl1.1 (>= 1.1.0) but it is not going to be installed
        Recommends: ca-certificates but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
The command '/bin/sh -c apt-get install wget git locales ttf-wqy-zenhei sudo -y' returned a non-zero code: 100

运行bash run.sh出错

最终提示如下信息:

E: 无法下载 http://archive.ubuntu.com/ubuntu/pool/main/m/mpfr4/libmpfr6_4.0.1-1_i386.deb 连接失败 [IP: 91.189.88.162 80]
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
The command '/bin/sh -c yes|bash /root/deepin-wine-ubuntu/install.sh' returned a non-zero code: 100
Unable to find image 'docker-wine-linux:latest' locally
docker: Error response from daemon: pull access denied for docker-wine-linux, repository does not exist or may require 'docker login'.
See 'docker run --help'.
Your container id is
[+]Run [source start.sh -i TIM] to run TIM or another APP

WeChat: No such file or directory

root@d7ec01f2da5d:~# cat nohup.out
/bin/bash: WeChat: No such file or directory
/bin/bash: WeChat: No such file or directory
/bin/bash: WeChat: No such file or directory

希望出一个开发者手册

如果有其他开发者想要增加新的软件,在移植过程中需要注意的等等,可以给大家参考,也是给该项目贡献那一份力

中文输入法与文件路径问题

deepin下载了企业微信deb包,单独构建镜像
构建后用docker exec -ti xxx /usr/bin/nohup /bin/bash &>/dev/null WXWork &打开
界面正常,收发消息正常
但无法启用中文输入法,以及找不到主机文件目录,所以收发文件也是个问题

docker build镜像时网络错误

@RokasUrbelis 大佬,首先十分感谢您的工作,就是我在运行bash.sh时有如下报错:
image
这个127.0.0.1:45281是我之前使用的lantern代理地址,然后我现在换成使用从clash,代理地址变成127.0.0.1:7890,所以我尝试在run.sh中docker build后面添加参数指定代理如图:
image
但是再次运行仍然有这个报错,所以我想请教一下大佬这个问题是是什么导致的以及如何解决,望大佬拨冗解答!

wechat无法使用

现在repo中的wechat packate 依赖 wine > 2.19 然而目前整个环境依赖2.18
故无法正常安装启动。

BaiduNetDisk 弹出认证

我的账号初次登录会弹出百度认证...然后就一直卡在白屏了...请问应该怎么解决呢? 感谢

docker baidu

微信不能使用

source start.sh -i $dockerid WeChat
echo $? 

出现的结果是

[7]+  已停止               sudo docker exec -ti $1 /usr/bin/nohup /bin/bash $2 &> /dev/null

from ubuntu18.04 xps 9360

run.sh卡在地域选择模块

Geographic area这个地方输入6之后回车,几小时没有反应。

系统版本ubuntu 16.04.

希望得到开发者反馈~~谢谢

安装时在时区选择卡住

使用 bash run.sh 进行安装

Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located.

  1. Africa   3. Antarctica  5. Arctic  7. Atlantic  9. Indian    11. US
  2. America  4. Australia   6. Asia    8. Europe    10. Pacific  12. Etc
Geographic area: 6

在时区选择时在此处卡住,输入 6 或者 6. Asia 回车后均停留在仍然能继续输入的状态

Faied to run 'bash run.sh'.

Hi,

I try to build the docker image for this project, but failed. See the following for more detailed info.

$ bash run.sh
[+]Cloning speed may be slow, please waitting...
Cloning into 'deepin-wine-ubuntu'...
remote: Enumerating objects: 3036, done.
remote: Total 3036 (delta 0), reused 0 (delta 0), pack-reused 3036
Receiving objects: 100% (3036/3036), 67.06 MiB | 7.54 MiB/s, done.
Resolving deltas: 100% (1433/1433), done.
Sending build context to Docker daemon  1.235GB
Step 1/16 : FROM ubuntu:latest
 ---> d70eaf7277ea
Step 2/16 : MAINTAINER RokasUrbelis(Based on github deepin-wine-ubuntu project)
 ---> Using cache
 ---> 0deb62e3ee11
Step 3/16 : ADD deepin-wine-ubuntu /root/deepin-wine-ubuntu
 ---> 22647c08b06b
Step 4/16 : COPY link.sh /root/
 ---> f41887ff0be9
Step 5/16 : COPY deb/ /root/deepin-wine-ubuntu/
 ---> 72562dc1f4f7
Step 6/16 : RUN rm -rf /var/lib/apt/lists/*
 ---> Running in fe232a191b35
Removing intermediate container fe232a191b35
 ---> de4f22320035
Step 7/16 : RUN apt-get update
 ---> Running in b399e796ae90
Err:1 http://security.ubuntu.com/ubuntu focal-security InRelease
  Temporary failure resolving 'security.ubuntu.com'
Err:2 http://archive.ubuntu.com/ubuntu focal InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease  Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
Removing intermediate container b399e796ae90
 ---> 383c5689dedf
Step 8/16 : RUN apt-get install wget git locales ttf-wqy-zenhei sudo tzdata -y
 ---> Running in d90e863d0088
Reading package lists...
Building dependency tree...
Reading state information...
Package locales is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package wget
E: Unable to locate package git
E: Package 'locales' has no installation candidate
E: Unable to locate package ttf-wqy-zenhei
E: Unable to locate package sudo
E: Unable to locate package tzdata
The command '/bin/sh -c apt-get install wget git locales ttf-wqy-zenhei sudo tzdata -y' returned a non-zero code: 100
build docker image error,exit process

Any hints for this problem will be highly appreciated.

Regards,
HY

KDE error

X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 20 (X_GetProperty)
Resource id in failed request: 0x0
Serial number of failed request: 10
Current serial number in output stream: 10

Above, I have no idea what happend, 'xarclock' can be run and display on my desktop.

fedora系统怎么构建?

[docker-wine-linux]$ bash run.sh
[+]Cloning speed may be slow, please waitting...
正克隆到 'deepin-wine-ubuntu'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 2927 (delta 22), reused 32 (delta 16), pack-reused 2888
接收对象中: 100% (2927/2927), 65.73 MiB | 1.12 MiB/s, 完成.
处理 delta 中: 100% (1377/1377), 完成.
正在检出文件: 100% (3020/3020), 完成.

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
build docker image error,exit process

运行bash.sh出错

您好,我在运行bash run.sh时一直显示这个错误,不知道如何解决,谢谢

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Fetched 3441 kB in 17min 26s (3290 B/s)
The command '/bin/sh -c apt-get install wget git locales ttf-wqy-zenhei sudo -y' returned a non-zero code: 100
build docker image error,exit process

这个可以有~

一劳永逸解决其他发行版的问题😜
不过我的那个包有点旧了。。。

安装时软件包版本冲突

运行bash run.sh后,在/bin/sh -c apt-get install wget git locales ttf-wqy-zenhei sudo tzdata -y处报错退出,最后几行的输出为:

The following packages have unmet dependencies:
 fonts-wqy-zenhei : Depends: fontconfig (>= 2.3.1-1) but it is not going to be installed
 git : Depends: libcurl3-gnutls (>= 7.16.2) but it is not going to be installed
       Depends: libexpat1 (>= 2.0.1) but it is not going to be installed
       Depends: perl but it is not going to be installed
       Depends: liberror-perl but it is not going to be installed
       Recommends: patch but it is not going to be installed
       Recommends: less but it is not going to be installed
       Recommends: ssh-client
 libc6 : Breaks: locales (< 2.31) but 2.27-3ubuntu1.5 is to be installed
 wget : Depends: libpsl5 (>= 0.16.0) but it is not going to be installed
        Depends: libssl1.1 (>= 1.1.0) but it is not going to be installed
        Recommends: ca-certificates but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
The command '/bin/sh -c apt-get install wget git locales ttf-wqy-zenhei sudo tzdata -y' returned a non-zero code: 100
build docker image error,exit process

Configuring tzdata sleep ...

Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located

  1. Africa      4. Australia  7. Atlantic  10. Pacific  13. Etc
  2. America     5. Arctic     8. Europe    11. SystemV
  3. Antarctica  6. Asia       9. Indian    12. US
Geographic area: 6

脚本在输入地理位置 或者 在执行这一步疑似卡死 。。。
image

run.sh执行到第七步出错

fedora 32系统,执行bash run.sh到第七步报错。报错信息如下。
`Step 7/16 : RUN apt-get update
---> Running in 1bc0895ecc49
Err:1 http://archive.ubuntu.com/ubuntu focal InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Temporary failure resolving 'security.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Temporary failure resolving 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
Removing intermediate container 1bc0895ecc49
---> d6d3a7f890c6
Step 8/16 : RUN apt-get install wget git locales ttf-wqy-zenhei sudo -y
---> Running in bdd183bc7129
Reading package lists...
Building dependency tree...
Reading state information...
Package locales is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package wget
E: Unable to locate package git
E: Package 'locales' has no installation candidate
E: Unable to locate package ttf-wqy-zenhei
E: Unable to locate package sudo
The command '/bin/sh -c apt-get install wget git locales ttf-wqy-zenhei sudo -y' returned a non-zero code: 100
build docker image error,exit process
`

运行 source start.sh -i 6be tim 后的状况

您好,在 manjaro_lxde 条件下,运行 source start.sh -i 6be tim 后出现 + suspended ( tty output ) sudo docker exec -ti $1 /usr/bin/nohup /bin/bash $2 &> /dev/null 的状况,尝试过多次 bash run.sh 与重启系统,状况依旧,请问应该怎么解决,谢谢!

yes|bash /root/deepin-wine-ubuntu/install.sh时出错

Processing triggers for fontconfig (2.13.1-2ubuntu3) ...
Processing triggers for libc-bin (2.32-0ubuntu3) ...
Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.40.0+dfsg-5ubuntu0.1) ...
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libgcc-s1:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libcom-err2:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libkrb5support0:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libk5crypto3:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libkeyutils1:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libssl1.1:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libkrb5-3:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libgssapi-krb5-2:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libtirpc3:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libnsl2:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libnss-nis:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
The command '/bin/sh -c yes|bash /root/deepin-wine-ubuntu/install.sh' returned a non-zero code: 100
build docker image error,exit process

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.