2016. 3. 18. 15:00

제가 닷넷이 전문이다보니 리눅스에서도 모노(Mono)위주로 작업을 합니다.

(참고 : 다른 운영체제에서도 닷넷 프로그램이 돌아간다고? - 모노 프로젝트 )

그런데.....

 

모노도 문제가 몇 가지 있는데 콘솔프로젝트의 경우 크게 문제가 없지만 윈폼 프로젝트의 경우 모노에서 해당 컨트롤을 지원하거나 확인하면서 작업해야 합니다.

만약 지원되지 않는다면 닷넷 프레임웍과 모노 모두 호환되는 컨트롤을 찾아서 바꾸거나 만들어야 하죠.

 

이럴 때 사용할 수 있는 방법의 하나가 와인입니다.

와인에 .net 프레임웍이 설치가 됩니다.

물론 그렇다고 해서 모든 컨트롤이 호환되는 건 아니고 어떤 게 호환되는지 확인해봐야 합니다. ㅎㅎㅎ

 

0. 기존 와인 지우기

필요하다면 기존 와인을 지우고 새로 설치하는 것도 좋은 방법입니다.

종속된 패키지들이 충돌할 수 있으니 말이죠 ㅎㅎㅎ

(참고 : Wine HQ - Ubuntu )

저장소만 다시 만들어도 충돌이 없어지는 건지 와인 안내서에는 새로운 저장소를 쓰라고 되어 있습니다.

 

0-1. 기존 와인 지우기

우분투 14.xx를 설치하면 와인1.6 (Wine 1.6)과 와인트릭(Winetricks)이 설치되어 있습니다.

이 둘을 깨끗하게 지웁니다.

참고로...이거 지우면 GUI도 날아갑니다 ㅎㅎㅎ

아직 최신버전 와인용 GUI는 없는듯하네요.(없는 건지 안 만든 건지 ㅡ.-;;)

 

터미널을 열고

sudo apt-get purge wine winetricks winehq-staging 
sudo apt-get autoremove

 

와인에 설정된 파일들까지 깨끗하게 지우기 위해 'purge'옵션도 줍니다.

'wine'으로 설치되어 있을 수도 있고 버전에 따라선 'winehq-staging'로 설치 되어 있을 수 있으므로 둘 다 지워봅니다.

 

 

남아있는 폴더도 지워줍니다.

sudo rm -rf ~/.wine

 

 

 

0-2. 저장소 다시 만들기

64비트를 쓰고 있다면 32비트 아키택쳐를 사용하기 위해서 아래 같이 명령을 해줍니다.

sudo dpkg --add-architecture i386

 

저장소를 추가합니다.

sudo add-apt-repository ppa:wine/wine-builds

 

1. 와인 설치

와인을 설치해 봅시다.

 

1-1. 'apt'업데이트

 

혹시 모르니 아래 명령을 사용하여 패키지 목록을 업데이트합니다.

(저번에 이거 안해줘서 에러가 ㅜㅡ)

sudo apt-get update

업그래이드를 해줍니다.

sudo apt-get upgrade

 

 

1-2. 와인 설치

이제 아래 명령으로 와인을 설치합니다.

sudo apt-get install --install-recommends wine-staging
sudo apt-get install winehq-staging

이제 와인 설치는 끝났습니다.

 

그냥 이대로 쓸 수 있는가......쓸 순있죠 ㅎㅎㅎ

하지만 필요한 다른 라이브러리들(닷넷 이라던가 .net 이라던가.,....)를 설치해야 합니다.

 

게코FX(GeckoFX)는 같이 설치되는데 업데이트를 하고 싶다면 다음 명령어로 설치할 수 있는 게코버전을 볼 수 있습니다.

sudo apt-get install wine-gecko

 

 

1-3. 32비트를 사용하기 위한 설정

32비트용 와인 컨피그를 세팅합니다.

여기서부터는 UI가 있는 환경에서 해야 합니다.

WINEARCH=win32 winecfg

터미널에서 'winecfg'를 치면 와인 설정창이 나옵니다.

여기서 자기에게 맞게 설정합니다.

아래 명령을 입력하여 와인을 다시 실행해 줍니다.

xwindow에서 다시 실행해야 합니다.

wineboot -u

와인 ui가 실행되면서 업데이트를 설치할 건지 물어봅니다.

모두 인스톨 눌러주면 됩니다.

64비트를 설치했는데 와인을 다시 실행하지 않으면 32비트용 프로그램들 설치할 때 에러가 빵빵~

 

1-4. 폰트 설치 하기

 

만약 와인 컨피그의 글씨가 깨진다면 기본 폰트인 굴림폰트가 설치되지 않아서 그럴 확률이 높습니다.

이럴 땐 다음 글을 참고하면 됩니다.

참고 : [Ubuntu] 와인(Wine)에 한글 폰트 설치하기

 

 

 

2. 'winetricks'설치 및 구성요소 설치

와인 트릭은 와인에서 사용할 수 있는 라이브러리를 쉽게 다운로드 하고 관리해주는 스크립트입니다.

(참고 : Wine HQ - Winetricks )

 

2-1. 'winetricks'설치

스크립트를 다운로드 하기전에 와인폴더로 이동하고

cd ~/.wine

 

아래 명령으로 스크립트를 다운 로드 하고

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks

 

시스템 모드로 실행해줍니다.

chmod +x ./winetricks

 

2-2. 구성요소 설치하기

이제 './winetricks [구성요소]'이런 식으로 명령을 하여 원하는 구성요소를 설치할 수 있습니다.

./winetricks dotnet45

전 급한게 닷넷이라 ㅋ

보통 'vcrun2008', 'vcrun2012', 'physx' 이런것들을 설치한다고 합니다.

 

여기서 주의해야 할 것이 콘솔로만 접속해있으면 인스톨용 gui가 실행되지 않아서 설치되지 않습니다.

(대표적으로 닷넷이....)

결국 이러나저러나 gui가 있는 상태에서 해야 한다는 것이죠-_-;;

다행히 xwindow에서도 설치됩니다.

xrdp로 접속해서 설치하는게 가능합니다.

(참고 : [Linux] 원격접속 설정 - xrdp, xfce4 )

 

 

이 부분은 GUI로도 가능합니다.

하지만 GUI는 버전이 낮은 것인지 버그인지 설치하다 에러가 많이 납니다-_-;;

결국 GUI로 리스트를 확인하고 터미널로 설치하는 방법이 좋습니다.

 

'Winetricke'를 찾아 실행합니다.

 

 

 

아래와 같은 창이 나오는데 자신에게 맞는 옵션을 선택하시면 됩니다.

닷넷프레임웍(.Net Framework)과 같은 프로그램은 'install a Windows DLL or Component'에 있죠.

 

 

 

 

3. 테스트

이제 윈도우에서 만든 닷넷 프로그램을 돌려 보겠습니다.

 

 

예~

브라우저 컨트롤은 게코FX(GeckoFX)를 이용했습니다.

(나중에 자세하게 다루도록 하죠.)

테스트해보진 않았지만 기본 웹컨트롤도 동작하지 않을까 합니다.

(하지만 쓸 수 있는 익스 버전은 8까지 ㅎㅎㅎ)

 

마무리

사실 와인만 설치하면 그다음부터는 GUI로도 작업이 어느 정도 가능합니다.

문제는 동작을 보장하지 못한다는게...-_-;;

와인을 보통 게임용으로 쓰기 때문에 보통은 'PlayOnLinux'와 같이 사용하는 것이 좋습니다.

 

 

참고

붉디붉은 피의 고양이 - 우분투에서 wine 설치 및 설정법

askubuntu Questions - Running .Net 4.0 application with Wine

askubuntu Questions - How to install Wine 1.9 on Ubuntu 15.10?