· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Internet Explorer On Wine


1. 리눅스에서 인터넷 익스플로러의 효용성

브라우저의 사용성이나 기능만 놓고 보면 리눅스에서 흔히 사용되는 Mozilla 기반 브라우저들은 이미 MS의 인터넷 익스플로러를 추월한 지 오래입니다. 하지만 비표준적인 MS 종속적인 스크립트나 ActiveX 기술이 널리 쓰이고 있는 국내 실정을 감안하면 종종 인터넷 뱅킹이나 웹개발 등을 위해 어쩔 수 없이 윈도우즈에서 InternetExplorer를 사용할 수 밖에 없는 상황을 경험하게 됩니다. 이 문서에서는 이런 문제를 해결하기 위해 리눅스에서 윈도우즈 없이 인터넷 익스플로러를 설치하고 사용할 수 있는 방법을 소개하고자 합니다.

2. 주의할 점

  • 리눅스에서 인터넷 익스플로러를 사용할 수 있다고 해서 국내에 만연한 비표준적 웹사이트들에 대한 문제가 모두 해결 되는 것은 아닙니다. 이런 방법은 어디까지나 임시방편에 불과하며 궁극적으로는 오픈소스 운영체제 사용자들의 적극적인 노력을 통해 근본적인 문제 해결이 필요합니다.
  • 인터넷 익스플로러를 사용하기 위해서는 정품 윈도우즈 운영체제의 저작권이 필요합니다. 이 방법을 적용하는 컴퓨터에 윈도우즈 운영체제가 설치되어 있지 않다고 하더라도, 반드시 합법적으로 구매한 윈도우즈 제품이 있어야만 저작권법에 위배되지 않습니다.

3. Wine 설치하기

Wine은 버전별 특성을 매우 잘 타기때문에 Wine 설치에 관한 문서를 읽을 때는 Wine의 버전을 잘 확인해야 합니다. 원하는 버전을 다운받으려면, http://prdownloads.sourceforge.net/wine

  1. 직접 설치하기
  2. 설정/설치 툴 사용하기
    1. WineTools : http://www.von-thadden.de/Joachim/WineTools/
    2. SidenetWineConfig : hajime@sidenet.ddo.jp씨가 관리하는 Wine설정 툴
    3. ies4linux http://www.tatanka.com.br/ies4linux/ : 최근버젼은 한글도 지원한다

4. 직접 설치하기

/!\ 아래 내용은 최신 내용이 아니며 제대로 작동하지 않을 수 있습니다. 최신 Wine을 사용하면 ie6setup.exe가 잘 실행되고 설치가 잘 된다고 하며, SidenetWineConfig는 이를 잘 활용하고 있습니다.

4.1. Debian

  1. 최신 버전의 wine과 winesetup 프로그램을 설치합니다. Debian을 사용하는 경우 다음의 명령으로 필요한 패키지를 설치할 수 있습니다.
    $ apt-get install wine wine-utils winesetuptk
    
  2. [http]cabextract를 설치합니다. Debian을 사용하는 경우 다음의 명령으로 필요한 패키지를 설치할 수 있습니다.
    $ apt-get install cabextract
    


winesetuptk는 예전 것이고 요즘은 winecfg가 이를 대체했다고 합니다. 확인해보세요.

4.2. Wine 설정

  1. 터미널에서 다음 명령을 실행합니다. 설정 화면이 나타나면 기본값을 그대로 두고 설정을 마칩니다.
    $ winesetup
    
  2. 터미널에서 다음 명령을 실행해서 윈도우즈 재부팅 기능을 실행합니다.
    $ wineboot
    
  3. 기본 설정에서 와인에서 구동되는 윈도우즈 프로그램은 $HOME/.wine/fake_windows를 C:드라이브로 인식하게 됩니다. 다음을 실행해서 C:\Windows\System아래 있는 모든 파일을 삭제합니다.
    $ rm -rf ~/.wine/fake_windows/Windows/System/*
    
  4. Fedora에서는 $HOME/.wine/c/ 혹은 $HOME/.wine/drive_c/ 입니다.

4.3. 인터넷 익스플로러 설치

4.3.1. DCOM98 설치

MS 싸이트에서 [http]DCOM98을 다운로드 받아 다음과 같이 실행합니다.
$ WINEDLLOVERRIDES="ole32=n" wine dcom98.exe
DCOM98을 설치하지 않으면 google.com과 같은 사이트에 접속할 수 없다고 합니다.

4.3.2. ie6setup.exe 설치

  1. MS 싸이트에서 InternetExplorer 설치 프로그램인 [http]ie6setup.exe을 다운로드 받습니다.
  2. iebatch.txt를 다음과 같이 만듭니다.
    [Welcome]
    Display=0
    
    [SetupChoice]
    Display=0
    SetupChoice=1
    
    [Custom]
    Display=0
    SetupMode=0
    Component=BASEIE40_Win,Fontcore,MSVBScript,HTMLHelp
    
    [Finish]
    Display=0
    
    [Reboot]
    Reboot=0
    
  3. ie6setup.exe를 실행시킵니다.
    $ wine ie6setup.exe
    
    1. 이때 다운로드가 되며, 다운로드 완료후 설치되게 됩니다.
    2. 다운로드가 되지 않고 멎는다면 Wine버전 문제입니다. Wine최신인 경우 잘 되지 않을 가능성이 많으며, wine-20050524 이후, wine-0.9 이전 버전을 사용해 보시기 바랍니다.
  4. /!\ 다운이 다 된 후에 압축을 푸는 도중 오류가 발생하면 설치 프로그램을 종료하고 다음과 같이 수동으로 설치하실 수 있습니다. (제대로 실행되는 최근(최신 아닌) wine은 설치도 모두 잘 됩니다.)
C:\Windows\Windows Update Setup Files에서 다음의 파일들을 임시 디렉토리에 복사합니다.
IEDOM.CAB
IE_S1.CAB
IE_S2.CAB
IE_S3.CAB
IE_S4.CAB
IE_S5.CAB
IE_S6.CAB
SCR56KO.CAB
  1. 파일 복사 후 해당 디렉토리에서 다음의 명령을 두 번 실행해서 모든 CAB 파일의 압축을 풉니다. /!\ 이 방법은 제대로 풀리지 않는 경우가 있음 확인요
    $ cabextract *.CAB;
    
  2. 혹은 cabextract -L *.CAB;cabextract -L *.cab을 실행합니다. (이 경우 파일의 이름을 소문자로 바꾸지 않아도 됨)
  3. IEXPLORE.EXE 파일을 c:\Program Files\Internet Explorer 디렉토리에 복사합니다.
  4. 나머지 CAB파일을 제외한 모든 파일을 c:\Windows\System으로 복사합니다.
  5. C:\Windows\System\sch128c.dll 파일의 이름을 c:\Windows\System\schannel.dll으로 변경합니다.
  6. PNG 지원을 위해서 임시디렉토리에다가 ADVAUTH.CAB 를 푼뒤 pngfilt.dll을 c:\Windows\System 으로 복사합니다.
  7. [http]system.reg를 다운로드 받아 다음과 같이 압축을 해제합니다.
    $ cd ~/.wine
    $ rm system.reg
    $ tar zxvf systemreg6.tgz
    
  8. ~/.wine/config의 내용 중 DllOverrides 부분을 아래와 같이 변경합니다.
    [DllOverrides]
    ; some dlls you may want to change
    "ole32" = "native"
    "oleaut32" = "native"
    "rpcrt4" = "native"
    "urlmon" = "native"
    "comctl32" = "builtin"
    "wininet" = "native"
    "shlwapi" = "native"
    "shdocvw" = "native"
    "crypt32" = "native"
    "mshtml" = "native"
    "commdlg" = "builtin, native"
    "comdlg32" = "builtin, native"
    "shell" = "builtin, native"
    "shell32" = "builtin, native"
    "shfolder" = "builtin, native"
    "advapi32" = "builtin, native"
    "msvcrt" = "native, builtin"
    "mciavi.drv" = "native, builtin"
    "mcianim.drv" = "native, builtin"
    "msi" = "native, builtin"
    
    ; you can specify applications too
    ; this one will apply for all notepad.exe
    ;"*notepad.exe" = "native, builtin"
    ; this one will apply only for a particular file
    ; default for all other dlls
    "*" = "builtin, native"
    
  9. ~/.wine/config의 내용 중 마지막 부분 AppDefaults\\explorer.exe\\x11drv 아래에 다음 내용을 추가합니다. (주의: iexplorer.exe가 아니라 iexplore.exe가 맞음)
    [AppDefaults\\iexplore.exe\\DllOverrides]
    "*" = "native, builtin"
    
  10. 다음 명령을 실행해서 dll 파일의 이름을 소문자로 변경합니다.
    $ cd ~/.wine/fake_windows/Windows/System
    $ mv DISPEX.DLL dispex.dll
    $ mv INSENG.DLL inseng.dll
    $ mv JSCRIPT.DLL jscript.dll
    $ mv SCROBJ.DLL scrobj.dll
    $ mv SHFOLDER.DLL shfolder.dll
    $ mv WININET.DLL WinInet.dll
    
  11. 다음과 같이 인터넷 익스플로러를 실행합니다.
    $ wine ~/.wine/fake_windows/Program\ Files/Internet\ Explorer/IEXPLORE.exe
    
  12. 실행 이후 "InternetExplorer6을 기본 브라우저로 등록하시겠습니까?"라는 질문에 '아니오'로 하십시오. '예'를 선택하면 "WineDbg terminated on pid 8" 메세지와 함께 종료되며 다시 작동하지 않습니다.


5. 참조

이 문서의 내용은 [http]Frank's Corner의 관련 페이지를 참고로 작성되었습니다.


6. 질문 답변

Q: Wine은 root 계정으로는 실행시킬 수 없는 것인가요?

Q: Fedora core2인데 잘 되는 것 같습니다 :) 그런데 저 역시 아래의 메시지가 자꾸 나오네요.
현재 보안 설정으로는 이 페이지의 ActiveX컨트롤을 실행할 수 없습니다...
A: 이 부분을 확인해 보세요. 실행파일 이름이 맞게 되어 있는지 보세요.
[AppDefaults\\iexplore.exe\\DllOverrides]
"*" = "native, builtin"

Q: wine ie6setup.exe를 실행하자마자 다음 메세지와 함께 종료됩니다.
Windows Update : Internet Explorer 및 인터넷 도구를 이 컴퓨터에 설치할 수 없습니다.
이 제품의 설치에는 Microsoft Windows 98, Windows NT 4.0 또는 Windows 2000이 필요합니다.
A1: .wine/config를 편집하여 "Windows" = "win98"라고 되어 있는지 확인하세요. A2: 이전에 wine설정을 변경하여 사용한 적이 있다면 winesetup을 다시 실행해서 기본값으로 돌려보세요.

Q: 설치가 잘 끝나서 잘 사용하고 있습니다. 그런데 보기>인코딩만 들어서면 프로그램이 멈춥니다. 또 한글입력이 안되는군요. 해결책이 있는지 알고싶습니다. Q: iexlpore.exe 실행시 다음과 같은 에러가 납니다. 특별히 잘못한 건 없는 것 같은데 말이죠. 물론, 기본 브라우저로 등록하시겠습니까? 라는 질문에 '아니오'로 대답했습니다.
.....................
0x71160000-7125ce00     (PE)    C:\WINDOWS\SYSTEM\BROWSEUI.DLL
0x71840000-718c3200     (PE)    C:\WINDOWS\SYSTEM\SHDOCLC.DLL
0x718e0000-718f1200     (PE)    C:\WINDOWS\SYSTEM\BROWSELC.DLL
Threads:
process  tid      prio
00000008 (D) C:\Program Files\Internet Explorer\iexplore.exe
        0000000a    0
		        00000009    1 <==
				WineDbg terminated on pid 8
				Wine exited with a successful status
참고로, Debian Sarge(Testing), kernel 2.4.26, 그리고 wine 20040505-1 버전입니다.
A: 자답입니다. 아래와 같이 하면 dll을 소문자로 할 필요가 없다고 했는데, 소문자로 바꾸는 과정을 했더니 잘 되는군요.
$ cabextract -L *.CAB;cabextract -L *.cab

Q: 문서의 중간에 보면, "MS 홈페이지에서 DCOM98을 다운로드 받아 다음과 같이 실행합니다." "WINEDLLOVERRIDES="ole32=n" wine dcom98.exe" <- (1) 에서 위의 (1)은 어떻게 실행을 하라는 말씀이신지요? 앞 부분에 있는 'WINEDLLOVERRIDES="ole32=n"'이라는 부분이 config파일에 들어가야 하나요?
A:
$ WINEDLLOVERRIDES="ole32=n" wine dcom98.exe
쉘 상에서 그대로 입력하면 됩니다... 환경변수 지정하는 한 방법입니다. 해당 프로그램(이 경우 wine)에만 적용됩니다.


ID
Password
Join
You have a will that can be influenced by all with whom you come in contact.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-07-20 21:44:08
Processing time 0.0138 sec