#keywords explorer,windows,wine [[TableOfContents]] == 리눅스에서 인터넷 익스플로러의 효용성 == 브라우저의 사용성이나 기능만 놓고 보면 리눅스에서 흔히 사용되는 Mozilla 기반 브라우저들은 이미 MS의 인터넷 익스플로러를 추월한 지 오래입니다. 하지만 비표준적인 MS 종속적인 스크립트나 ActiveX 기술이 널리 쓰이고 있는 국내 실정을 감안하면 종종 인터넷 뱅킹이나 웹개발 등을 위해 어쩔 수 없이 윈도우즈에서 InternetExplorer를 사용할 수 밖에 없는 상황을 경험하게 됩니다. 이 문서에서는 이런 문제를 해결하기 위해 리눅스에서 윈도우즈 없이 인터넷 익스플로러를 설치하고 사용할 수 있는 방법을 소개하고자 합니다. == 주의할 점 == * 리눅스에서 인터넷 익스플로러를 사용할 수 있다고 해서 국내에 만연한 비표준적 웹사이트들에 대한 문제가 모두 해결 되는 것은 아닙니다. 이런 방법은 어디까지나 임시방편에 불과하며 궁극적으로는 오픈소스 운영체제 사용자들의 적극적인 노력을 통해 근본적인 문제 해결이 필요합니다. * 인터넷 익스플로러를 사용하기 위해서는 정품 윈도우즈 운영체제의 저작권이 필요합니다. 이 방법을 적용하는 컴퓨터에 윈도우즈 운영체제가 설치되어 있지 않다고 하더라도, 반드시 합법적으로 구매한 윈도우즈 제품이 있어야만 저작권법에 위배되지 않습니다. == [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/ : 최근버젼은 한글도 지원한다 == 직접 설치하기 == /!\ 아래 내용은 최신 내용이 아니며 제대로 작동하지 않을 수 있습니다. 최신 Wine을 사용하면 ie6setup.exe가 잘 실행되고 설치가 잘 된다고 하며, SidenetWineConfig는 이를 잘 활용하고 있습니다. === [Debian] === 1. 최신 버전의 wine과 winesetup 프로그램을 설치합니다. [Debian]을 사용하는 경우 다음의 명령으로 필요한 패키지를 설치할 수 있습니다. {{{ $ apt-get install wine wine-utils winesetuptk }}} 1. [http://www.kyz.uklinux.net/cabextract.php3 cabextract]를 설치합니다. [Debian]을 사용하는 경우 다음의 명령으로 필요한 패키지를 설치할 수 있습니다. {{{ $ apt-get install cabextract }}} winesetuptk는 예전 것이고 요즘은 winecfg가 이를 대체했다고 합니다. 확인해보세요. === [Wine] 설정 === 1. 터미널에서 다음 명령을 실행합니다. 설정 화면이 나타나면 기본값을 그대로 두고 설정을 마칩니다. {{{ $ winesetup }}} 1. 터미널에서 다음 명령을 실행해서 윈도우즈 재부팅 기능을 실행합니다. {{{ $ wineboot }}} 1. 기본 설정에서 와인에서 구동되는 윈도우즈 프로그램은 $HOME/.wine/fake_windows를 C:드라이브로 인식하게 됩니다. 다음을 실행해서 C:\Windows\System아래 있는 모든 파일을 삭제합니다. {{{ $ rm -rf ~/.wine/fake_windows/Windows/System/* }}} 1. Fedora에서는 $HOME/.wine/c/ 혹은 $HOME/.wine/drive_c/ 입니다. === 인터넷 익스플로러 설치 === ==== DCOM98 설치 ==== MS 싸이트에서 [http://www.microsoft.com/com/dcom/dcom98/download.asp DCOM98]을 다운로드 받아 다음과 같이 실행합니다. {{{ $ WINEDLLOVERRIDES="ole32=n" wine dcom98.exe }}} DCOM98을 설치하지 않으면 google.com과 같은 사이트에 접속할 수 없다고 합니다. ==== ie6setup.exe 설치 ==== 1. MS 싸이트에서 InternetExplorer 설치 프로그램인 [http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/KO/ie6setup.exe ie6setup.exe]을 다운로드 받습니다. 1. 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 }}} 1. ie6setup.exe를 실행시킵니다. {{{ $ wine ie6setup.exe }}} 1. 이때 다운로드가 되며, 다운로드 완료후 설치되게 됩니다. 1. 다운로드가 되지 않고 멎는다면 Wine버전 문제입니다. Wine최신인 경우 잘 되지 않을 가능성이 많으며, wine-20050524 이후, wine-0.9 이전 버전을 사용해 보시기 바랍니다. 1. /!\ 다운이 다 된 후에 압축을 푸는 도중 오류가 발생하면 설치 프로그램을 종료하고 다음과 같이 수동으로 설치하실 수 있습니다. (제대로 실행되는 최근(최신 아닌) 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; }}} 1. 혹은 cabextract -L *.CAB;cabextract -L *.cab을 실행합니다. (이 경우 파일의 이름을 소문자로 바꾸지 않아도 됨) 1. IEXPLORE.EXE 파일을 c:\Program Files\Internet Explorer 디렉토리에 복사합니다. 1. 나머지 CAB파일을 제외한 모든 파일을 c:\Windows\System으로 복사합니다. 1. C:\Windows\System\sch128c.dll 파일의 이름을 c:\Windows\System\schannel.dll으로 변경합니다. 1. PNG 지원을 위해서 임시디렉토리에다가 ADVAUTH.CAB 를 푼뒤 pngfilt.dll을 c:\Windows\System 으로 복사합니다. 1. [http://frankscorner.org/files/systemreg6.tgz system.reg]를 다운로드 받아 다음과 같이 압축을 해제합니다. {{{ $ cd ~/.wine $ rm system.reg $ tar zxvf systemreg6.tgz }}} 1. ~/.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" }}} 1. ~/.wine/config의 내용 중 마지막 부분 AppDefaults\\explorer.exe\\x11drv 아래에 다음 내용을 추가합니다. (주의: iexplorer.exe가 아니라 iexplore.exe가 맞음) {{{ [AppDefaults\\iexplore.exe\\DllOverrides] "*" = "native, builtin" }}} 1. 다음 명령을 실행해서 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 }}} 1. 다음과 같이 인터넷 익스플로러를 실행합니다. {{{ $ wine ~/.wine/fake_windows/Program\ Files/Internet\ Explorer/IEXPLORE.exe }}} 1. 실행 이후 "[InternetExplorer6]을 기본 브라우저로 등록하시겠습니까?"라는 질문에 '아니오'로 하십시오. '예'를 선택하면 "WineDbg terminated on pid 8" 메세지와 함께 종료되며 다시 작동하지 않습니다. == 참조 == 이 문서의 내용은 [http://frankscorner.org/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=49&page=1 Frank's Corner]의 관련 페이지를 참고로 작성되었습니다. == 질문 답변 == 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)에만 적용됩니다.