제가 닷넷이 전문이다보니 리눅스에서도 모노(Mono)위주로 작업을 합니다.
(참고 : 다른 운영체제에서도 닷넷 프로그램이 돌아간다고? - 모노 프로젝트 )
그런데.....
모노도 문제가 몇 가지 있는데 콘솔프로젝트의 경우 크게 문제가 없지만 윈폼 프로젝트의 경우 모노에서 해당 컨트롤을 지원하거나 확인하면서 작업해야 합니다.
만약 지원되지 않는다면 닷넷 프레임웍과 모노 모두 호환되는 컨트롤을 찾아서 바꾸거나 만들어야 하죠.
이럴 때 사용할 수 있는 방법의 하나가 와인입니다.
와인에 .net 프레임웍이 설치가 됩니다.
물론 그렇다고 해서 모든 컨트롤이 호환되는 건 아니고 어떤 게 호환되는지 확인해봐야 합니다. ㅎㅎㅎ
필요하다면 기존 와인을 지우고 새로 설치하는 것도 좋은 방법입니다.
종속된 패키지들이 충돌할 수 있으니 말이죠 ㅎㅎㅎ
(참고 : Wine HQ - Ubuntu )
저장소만 다시 만들어도 충돌이 없어지는 건지 와인 안내서에는 새로운 저장소를 쓰라고 되어 있습니다.
우분투 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
64비트를 쓰고 있다면 32비트 아키택쳐를 사용하기 위해서 아래 같이 명령을 해줍니다.
sudo dpkg --add-architecture i386
저장소를 추가합니다.
sudo add-apt-repository ppa:wine/wine-builds
와인을 설치해 봅시다.
혹시 모르니 아래 명령을 사용하여 패키지 목록을 업데이트합니다.
(저번에 이거 안해줘서 에러가 ㅜㅡ)
sudo apt-get update
업그래이드를 해줍니다.
sudo apt-get upgrade
이제 아래 명령으로 와인을 설치합니다.
sudo apt-get install --install-recommends wine-staging sudo apt-get install winehq-staging
이제 와인 설치는 끝났습니다.
그냥 이대로 쓸 수 있는가......쓸 순있죠 ㅎㅎㅎ
하지만 필요한 다른 라이브러리들(닷넷 이라던가 .net 이라던가.,....)를 설치해야 합니다.
게코FX(GeckoFX)는 같이 설치되는데 업데이트를 하고 싶다면 다음 명령어로 설치할 수 있는 게코버전을 볼 수 있습니다.
sudo apt-get install wine-gecko
32비트용 와인 컨피그를 세팅합니다.
여기서부터는 UI가 있는 환경에서 해야 합니다.
WINEARCH=win32 winecfg
터미널에서 'winecfg'를 치면 와인 설정창이 나옵니다.
여기서 자기에게 맞게 설정합니다.
아래 명령을 입력하여 와인을 다시 실행해 줍니다.
xwindow에서 다시 실행해야 합니다.
wineboot -u
와인 ui가 실행되면서 업데이트를 설치할 건지 물어봅니다.
모두 인스톨 눌러주면 됩니다.
64비트를 설치했는데 와인을 다시 실행하지 않으면 32비트용 프로그램들 설치할 때 에러가 빵빵~
만약 와인 컨피그의 글씨가 깨진다면 기본 폰트인 굴림폰트가 설치되지 않아서 그럴 확률이 높습니다.
이럴 땐 다음 글을 참고하면 됩니다.
참고 : [Ubuntu] 와인(Wine)에 한글 폰트 설치하기
와인 트릭은 와인에서 사용할 수 있는 라이브러리를 쉽게 다운로드 하고 관리해주는 스크립트입니다.
(참고 : Wine HQ - Winetricks )
스크립트를 다운로드 하기전에 와인폴더로 이동하고
cd ~/.wine
아래 명령으로 스크립트를 다운 로드 하고
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
시스템 모드로 실행해줍니다.
chmod +x ./winetricks
이제 './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'에 있죠.
이제 윈도우에서 만든 닷넷 프로그램을 돌려 보겠습니다.
예~
브라우저 컨트롤은 게코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?