在ubuntu下用wine執行ie
周海漢2010.10.28
有時使用者需在linux下測試ie的網頁表現,或者用某些和ie繫結很緊密的網頁和功能。最乾脆的方法是用虛擬機器裝windows或切換到windows,然而wine也是一種解決方案。 在我試用時,發現wine下執行windows程式一直不太順利。
我的系統:
[email protected]:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"
預設用apt安裝的wine版本 1.2穩定版。 執行植物大戰殭屍可以,但漢化版的按鈕看不見中文。 執行ie則直接報錯,看到一個空白框,然後彈出一個出錯對話方塊。
出錯資訊:
[email protected]:~$ env WINEPREFIX=/home/zhouhh/.wine/ wine "C:Program FilesInternet Exploreriexplore.exe" fixme:ole:CoResumeClassObjects stub fixme:urlmon:URLMoniker_BindToObject use running object table fixme:shdocvw:BindStatusCallback_OnProgress status code 1 fixme:shdocvw:BindStatusCallback_OnProgress status code 2 fixme:shdocvw:BindStatusCallback_OnProgress status code 11 fixme:msvcrt:_setmbcp trail bytes data not available for DBCS codepage 0 - assuming all bytes fixme:system:SetProcessDPIAware stub! fixme:dwmapi:DwmIsCompositionEnabled 0x32e914 fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (9800012c) fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (9800012c) fixme:iphlpapi:NotifyAddrChange (Handle 0x21fe8d8, overlapped 0x21fe8e0): stub 0[13e5a0]: IMM32: InitKeyboardLayout, aKeyboardLayout=e0010804, sCodePage=936, sIMEProperty=00090000 fixme:shdocvw:ClOleCommandTarget_QueryStatus (0x130eb4)->((null) 1 0x32f04c (nil)) fixme:shdocvw:ClOleCommandTarget_QueryStatus command_0: 27, 0x0 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d1-0000-0000-c000-000000000046} fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x2409300)->() fixme:shdocvw:ClientSite_GetContainer (0x130eb4)->(0x32f01c) fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d1-0000-0000-c000-000000000046} fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_GetRequestHeader (0x2409300)->(0x32db70 0x240fd7c) fixme:mshtml:nsChannel_GetRequestMethod (0x2409300)->(0x32dd30) fixme:mshtml:nsURI_GetHostPort default action not implemented fixme:mshtml:nsChannel_GetReferrer (0x2409300)->(0x32e250) fixme:mshtml:nsChannel_IsNoStoreResponse (0x2409300)->(0x32e13c) fixme:mshtml:nsChannel_IsNoCacheResponse (0x2409300)->(0x32e138) fixme:mshtml:nsChannel_GetReferrer (0x2409300)->(0x32e290) fixme:mshtml:nsChannel_SetResponseHeader (0x2409300)->(0x32e390 0x32e210 1) fixme:mshtml:nsChannel_SetResponseHeader (0x2409300)->(0x32e390 0x32e210 1) fixme:mshtml:nsChannel_SetResponseHeader (0x2409300)->(0x32e390 0x32e210 1) fixme:mshtml:nsChannel_SetRequestHeader (0x2424508)->(0x32df40 0x32dfd0 0) fixme:mshtml:nsChannel_SetReferrer (0x2424508)->(0x2410248) fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 29 fixme:shdocvw:DocHostUIHandler_GetDropTarget (0x130eb4) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x2424628)->(0x32f0fc 0x32f0e8 0) fixme:shdocvw:ClientSite_GetContainer (0x130eb4)->(0x32f9cc) fixme:shdocvw:InPlaceFrame_SetStatusText (0x130eb4)->((null)) fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 25 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 26 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 21 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented cmdid 28 fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_SetRequestHeader (0x135998)->(0x32f0a0 0x32f0b0 0) fixme:mshtml:nsChannel_SetReferrer (0x135998)->(0x2410248) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x2407030)->(0x32f46c 0x32f458 0) fixme:mshtml:nsChannel_SetRequestHeader (0x137eb8)->(0x32f7c0 0x32f7d0 0) fixme:mshtml:nsChannel_SetReferrer (0x137eb8)->(0x2410248) fixme:mshtml:nsChannel_SetRequestHeader (0x2406470)->(0x32f6d0 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x2406470)->() fixme:mshtml:nsChannel_SetReferrer (0x2406470)->(0x2410248) fixme:mshtml:nsChannel_SetRequestHeader (0x136448)->(0x32f6d0 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x136448)->() fixme:mshtml:nsChannel_SetReferrer (0x136448)->(0x2410248) fixme:mshtml:nsChannel_Open (0x1ea038)->(0x32cbc0) fixme:mshtml:nsChannel_SetRequestHeader (0x1368c8)->(0x32f7c0 0x32f7d0 0) fixme:mshtml:nsChannel_SetReferrer (0x1368c8)->(0x2410248) fixme:mshtml:nsChannel_SetRequestHeader (0x1eaa08)->(0x32f6d0 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x1eaa08)->() fixme:mshtml:nsChannel_SetReferrer (0x1eaa08)->(0x2410248) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x2406308)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x136180)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x136780)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x1ea870)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x1d0648)->(0x32f0fc 0x32f0e8 0) fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_GetContentLength (0x1368c8)->(0x32ebf8) fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_GetContentLength (0x135998)->(0x32ebf8) fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_IsNoStoreResponse (0x2406470)->(0x32ea68) fixme:mshtml:nsChannel_IsNoCacheResponse (0x2406470)->(0x32ea68) fixme:resource:GetGuiResources (0xffffffff,0): stub fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_GetContentLength (0x137eb8)->(0x32ebf8) fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_IsNoStoreResponse (0x136448)->(0x32ea68) fixme:mshtml:nsChannel_IsNoCacheResponse (0x136448)->(0x32ea68) fixme:wininet:InternetLockRequestFile STUB fixme:mshtml:nsChannel_IsNoStoreResponse (0x1eaa08)->(0x32ea68) fixme:mshtml:nsChannel_IsNoCacheResponse (0x1eaa08)->(0x32ea68) fixme:mshtml:nsURI_GetUserPass default action not implemented fixme:mshtml:nsChannel_SetRequestHeader (0x242f300)->(0x32eb20 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x242f300)->() fixme:mshtml:nsChannel_SetReferrer (0x242f300)->(0x2423ea8) fixme:mshtml:nsURI_GetUserPass default action not implemented fixme:mshtml:nsURI_GetUserPass default action not implemented fixme:mshtml:nsURL_GetQuery default action not implemented fixme:mshtml:nsURI_GetOriginCharset default action not implemented fixme:mshtml:nsChannel_SetRequestHeader (0x2552578)->(0x32e790 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x2552578)->() fixme:mshtml:nsChannel_SetReferrer (0x2552578)->(0x2423ea8) fixme:mshtml:nsChannel_SetRequestHeader (0x2552160)->(0x32e790 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x2552160)->() fixme:mshtml:nsChannel_SetReferrer (0x2552160)->(0x2423ea8) fixme:mshtml:nsChannel_SetRequestHeader (0x254d8d0)->(0x32d450 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x254d8d0)->() fixme:mshtml:nsChannel_SetReferrer (0x254d8d0)->(0x2423ea8) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x242f660)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x25527e8)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x2550398)->(0x32f0fc 0x32f0e8 0) fixme:mshtml:HttpNegotiate_GetRootSecurityId (0x254ba50)->(0x32f0fc 0x32f0e8 0) fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d0-0000-0000-c000-000000000046} fixme:shdocvw:PropertyNotifySink_OnChanged unimplemented dispid 1005 fixme:shdocvw:ClOleCommandTarget_Exec Unimplemented group {000214d0-0000-0000-c000-000000000046} fixme:mshtml:nsChannel_SetRequestHeader (0x2bcb548)->(0x32e994 0x2381fe4 0) fixme:mshtml:nsHttpChannelInternal_SetDocumentURI (0x2bcb548)->() fixme:mshtml:nsChannel_SetReferrer (0x2bcb548)->(0x2410248) wine: Unhandled page fault on write access to 0x49001100 at address 0x253a6e1 (thread 002b), starting debugger... Unhandled exception: page fault on write access to 0x49001100 in 32-bit code (0x0253a6e1).
說明wine1.2 很不好用。但預設的ubuntu10.04 apt只能安裝wine1.2. 如果安裝最新的wine1.3會不會解決ie問題呢?
安裝wine 1.3非穩定版本:
先新增wine的軟體源:系統->系統管理->軟體源。在“其他軟體”頁面點新增,輸入:
ppa:ubuntu-wine/ppa
點確定。
ppa是Personal Package Archives 個人軟體包檔案, Personal Package Archives(個人軟體包檔案)是Ubuntu Launchpad網站提供的一項服務,允許個人使用者上傳軟體原始碼,通過Launchpad進行編譯併發布為2進位制軟體包,作為apt/新立得源供其他使用者下載和更新。在Launchpad網站上的每一個使用者和團隊都可以擁有一個或多個PPA。
關閉時提示更新。然後可以用sudo apt-get install wine1.3安裝,或者用
安裝完畢,wine ie已經可以執行。但瀏覽某些中文網站還是會崩潰。
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux
[email protected]:~/ies4linux-2.99.0.1$ ./ies4linux
IEs4Linux 2 is developed to be used with recent Wine versions (0.9.x). It seems that you are using an old version. It's recommended that you update your wine to the latest version (Go to: winehq.com).
grep: : 沒有那個檔案或目錄
python: ../../src/xcb_io.c:249:process_responses: 斷言“(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)”失敗。
ui/pygtk/python-gtk.sh: line 6: 4655 已放棄 python "$IES4LINUX"/ui/pygtk/ies4linux-gtk.py
參考 http://www.tatanka.com.br/ies4linux/page/Installation
http://www.winehq.org/download/deb https://launchpad.net/~ubuntu-wine/+archive/ppa
如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源