· 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)에만 적용됩니다.




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.0307 sec