Install

$ sudo dpkg --add-architecture i386
$ sudo apt update
  
$ wget -qO- <https://dl.winehq.org/wine-builds/winehq.key> | sudo apt-key add -
  
$ sudo apt install software-properties-common
$ sudo apt-add-repository 'deb <http://dl.winehq.org/wine-builds/ubuntu/> bionic main'
  
$ wget -qO- <https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key> | $ sudo apt-key add -
$ sudo sh -c 'echo "deb <https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/> ./" > /etc/apt/sources.list.d/obs.list'
$ sudo apt update
  
$ sudo apt-get install --install-recommends winehq-stable
  
$ wine --version
wine-6.0.1
  
$ winecfg

mono, gecko installer 창에서 install, install, install !

설치가 끝나면 wine configuration 창이 뜨는데 살포시 닫아줍니다. OK!

사용방법

리눅스에 돌리고 싶은 윈도우 프로그램을 받는다.해당파일 우클릭 하면 나오는 Open With Wine Windows Program Loader 클릭 하면 실행됩니다.


version: "3"
services:
  wine:
    container_name: wine
    image: wine
    runtime: nvidia
    shm_size: "8gb"
    ulimits:
      memlock: -1
      stack: 67108864
    privileged: true
    restart: always
    volumes:
      - $HOME/vms:/home/gpuadmin/vms
      - /tmp/.X11-unix:/tmp/.X11-unix
    environment:
      - DISPLAY=$DISPLAY
      - XAUTHORITY=$XAUTHORITY
    network_mode: "host"
    tty: true
FROM nvidia/cuda:11.0-cudnn8-devel-ubuntu18.04
ARG USER_NAME="gpuadmin"
ARG PW="Itmaya2009!"

ENV LC_ALL=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive

RUN sed -i "s/archive.ubuntu/mirror.kakao/g" /etc/apt/sources.list \\
 && apt-get update && apt-get upgrade -y \\
 && apt-get install -y --no-install-recommends \\
    ca-certificates git gcc g++ sudo pkg-config \\
    locales tzdata curl wget iputils-ping net-tools \\
    python3-pip \\
    python3-dev \\
    tree \\
    vim \\
    tmux \\
    screen \\
    ffmpeg \\
    vlc \\
    gnupg gnupg2 \\
    mesa-utils libgl1-mesa-glx \\
    libnvidia-gl-460 \\
 && export LIBGL_ALWAYS_INDIRECT=1 \\
 && echo ${PW} | sudo -kS dpkg --add-architecture i386 \\
 && echo ${PW} | sudo -kS apt update \\
 && wget <https://dl.winehq.org/wine-builds/winehq.key> \\
 && echo ${PW} | sudo -kS apt-key add winehq.key \\
 && echo ${PW} | sudo -kS apt-get install -y software-properties-common \\
 && echo ${PW} | sudo -kS apt-add-repository 'deb <http://dl.winehq.org/wine-builds/ubuntu/> bionic main' \\
 && wget <https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key> \\
 && echo ${PW} | sudo -kS apt-key add Release.key \\
 && echo ${PW} | sudo -kS sh -c 'echo "deb <https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/> ./" > /etc/apt/sources.list.d/obs.list' \\
 && echo ${PW} | sudo -kS apt-get update && apt-get install -y --install-recommends winehq-stable \\
 && echo ${PW} | sudo -kS apt-get clean \\
 && rm -r /var/lib/apt/lists

RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

RUN useradd -ms /bin/bash ${USER_NAME} \\
 && echo ${USER_NAME}:${PW} | chpasswd \\
 && usermod -aG sudo ${USER_NAME}
USER ${USER_NAME}
WORKDIR /home/${USER_NAME}/

RUN python3 -m pip install --upgrade pip \\
 && python3 -m pip install cython wheel setuptools cmake \\
 && python3 -m pip install psutil influxdb xmltodict pandas xlrd openpyxl \\
 && python3 -m pip cache purge
### 사용방법

1. `Dockerfile` 에서 libnvidia-gl-xxx 를 로컬의 그래픽드라이버 버전에 맞게 수정하고 빌드한다. 아래의 예시에서는 xxx에 460이 채워져야 한다.
```bash
# 아래 커맨드로 설치된 그래픽드라이버의 버전을 확인 할 수 있다.
$ sudo apt list --installed | grep 'nvidia-common-'
libnvidia-common-460/bionic-updates,bionic-updates,bionic-security,bionic-security,bionic,bionic,now 460.91.03-0ubuntu0.18.04.1 all [installed,automatic]
# 이렇게 나왔다면 그래픽드라이버의 버전은 460이다.
  1. docker build -t wine:0.0.1 .로 도커이미지를 빌드한다.
  2. docker-compose up -d로 컨테이너를 생성하고 docker exec -it wine:0.0.1 bash로 진입한다.
  3. 컨테이너 안에서 winecfg 커맨드를 입력하고 mono와 gecko를 설치한다. install 버튼 3번.
  4. 에러뜨지만 무시하고 다시 winecfg 입력하면 wine configuration 창이 뜬다. 그럼 설정완료된것. 밑에 window버전은 7으로 놔둬도 무방.
  5. 실행하고자하는 폴더로 이동후 (사전에 docker-compose.yml에 볼륨마운트가 되어있어야하겠죠?) wine [프로그램이름.exe] 로 실행한다.